macroevolution: (anomalocaris)
[personal profile] macroevolution
Я всю жизнь программировал только на бейсике, на разных его версиях.  Так получилось. Когда писал кандидатскую, набралось очень много таблиц с данными (это были морфологические признаки морских ежей), и я задолбался обсчитывать их на калькуляторе. Поэтому быстренько освоил бейсик (тогда персональные компьютеры IBM только начали появляться, и к ним прилагался язык GW-Basic). Освоил - и сразу почувствовал себя человеком. С тех пор не переучивался, сейчас пишу все свои программки на VBA в MS Access. То есть в программировании я дилетант, но опытный. Программированием пользуюсь сейчас для имитационного моделирования эволюционных процессов в популяциях. Подумываю об одной новой модели, но понимаю, что на VBA она будет работать невыносимо медленно. Насколько я понимаю, программа, написанная почти на любом другом языке, компилируемом, будет работать в разы быстрее. Вопрос такой: какой из этих языков мне будет быстрее и проще всего освоить? Времени, сил и желания преодолевать трудности и вникать в программистские проблемы - не имеется. Мне бы этот язык просто скачать (можно купить, если не слишком дорого), освоить за пару-тройку дней - и вперед. Т.е. главное, чтобы он был максимально простым в освоении для того, кто знает бейсик, без всяких интеллектуальных "понтов", но работал хотя бы раз в 10 быстрее.

Date: 2015-01-12 10:21 am (UTC)
From: [identity profile] macroevolution.livejournal.com
Спрашивали. Но описывать такой пример - это очень долго. И в данном случае не нужно. Я точно знаю, что мне нужно, и вопрос сформулировал оптимальным образом.
"Может вобще программировать не нужно и можно воспользоваться готовым решением"
Читатели этого блога в большинстве своем не считают автора идиотом. Это и другие "умолчания" делают общение возможным и осмысленным.

Date: 2015-01-12 05:40 pm (UTC)
From: [identity profile] maz-d.livejournal.com
напишите пожалуйста, что в итоге выберите. Интересно почитать еще 5 страниц комментов =)

Date: 2015-01-12 06:31 pm (UTC)
From: [identity profile] oleksandr golovatyi (from livejournal.com)
Прошу прощения если обидел, не было такого намерения. Я имел в виду что возможно подойдут какие-нибудь инструменты моделирования известные только узким специалистам, а ваши задачи как раз могут попасть в области которые покрываются функционалом таких инструментов.

Date: 2015-01-12 10:14 pm (UTC)
From: [identity profile] Сергей Перовский (from livejournal.com)
>>описывать такой пример - это очень долго.
Так, всю задачу и необязательно.
Но скорость может быть безнадежно потеряна ДО программирования.
1.На этапе физической постановки (тут профессионалы в прикладной области редко прокалываются)
2.На этапе математического представления (бывает).
3.На этапе дискретного представления (часто).
4.На этапе разработки алгоритма (чаще всего).
Выбор языка может влиять на быстродействие в пределах одного порядка и более-менее компенсируется более мощным компьютером, А ошибки на предыдущих этапах могут порождать увеличение объема вычислений на многие порядки.
Поэтому и вопросы не о конкретной задаче, а о методе и алгоритме. Без подробностей. Но просто "имитационное моделирование" - слишком мало.
Если просто расчет следующего поколения от предыдущего по заданным формулам, это одно - есть четкий такт моделирования. А если отслеживаются отдельные особи, то совсем другое - поток событий. Разные математические модели, разный принцип дискретизации, абсолютно разные алгоритмы и, соответственно, разные советы по выбору языка.

Date: 2015-01-14 11:03 pm (UTC)
From: [identity profile] drvit.livejournal.com
Вы всё очень правильно говорите, но очень специализированным языком. Если человек всю жизнь писал "VBA в MS Access", то многие термины будут просто не понятны, и КПД вашего комментария будет низким. К сожалению, чтобы понимать то, о чём вы говорите, надо собрать все эти "грабли" самому и/или прочитать очень хорошие книжки -- программирование это целая отрасль, где-то даже искусство.
В общем, Александру Владимировичу надо просто брать знакомого объективного профессионала (или познакомиться с таковым, или с несколькими -- уверен, многие с радостью познакомятся и помогут), который способен писать подобного рода комментарии, то есть грамотно и ёмко формулировать мысли, приглашать его к себе на чай и спокойно и неторопливо день-недельку-месяц разбирать вопросы и нюансы по всем 4 описанным вами пунктам, с описанием типовых задач, демонстрацией кода, профайлингом, обучающими примерами и т.д. Как правило, чтобы достичь качественного скачка (а автор хочет улучшения аж на порядок) нужно подняться на новый уровень, если и не в программировании как таковом, то в способности мыслить алгоритмически-ориентированно (это 2-4 пункт списка).
Edited Date: 2015-01-14 11:22 pm (UTC)
Page generated Sep. 7th, 2025 07:03 am
Powered by Dreamwidth Studios