macroevolution: (anomalocaris)
macroevolution ([personal profile] macroevolution) wrote2015-01-11 02:41 pm

Посоветуйте язык программирования

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

[identity profile] bougakov.livejournal.com 2015-01-11 01:54 pm (UTC)(link)
Вам тут написало просто огромное количество людей, не прочитавших вводные до конца :(

У вас есть хорошие познания в VB (а именно - VBA в Access) и мало времени и сил на переобучение.

Поэтому берите "полноценный" Visual Basic .NET - скачивайте и устанавливайте. Он бесплатен.

Между VBA и VB.net несколько изменился синтаксис языка, но путём проб и ошибок вы быстро склеите из кусков нагугленных примеров что-то работающее. Это решит вашу текущую задачу.

На будущее глядите в сторону связки Python и SciPy (для них множество примеров именно научных расчётов, библиотек) или "R" (который, скорее, замена SPSS)

[identity profile] strib.livejournal.com 2015-01-11 02:08 pm (UTC)(link)
Полностью присоединюсь.
Если хочется что-то более серьезного, то Visual Studio Expess, и сможете переиспользовать навыки... Но там нет богатсва выбора научных инструментов.

Python - как бы то ни было - это отличный вариант, особенно с тем, что есть много дополнительных библиотек для математических задач, при том быстрых. Тут зависит от того, из какой математической области Вам надо решить задачу. Некторые библиотеки сами написаны на компиллируемых языках, и работают очень быстро.
Модуль IPython - позволяет проводить расчеты в интерактивой форме.

Отличные средства визуализации, и что немаловажно - доступна, одна из лучших на мой взгляд, среда разработки PyCharm.

Единственная, но серьезная проблема с Python - несовместимые версии 2 и 3. Вторая не развивается, в ней только исправляются ошибки, но на ней много чего сделано, для третьей есть не все библиотеки, но ситуация исправляется. Надо смотреть по обстоятельствам.
ext_605364: geg MOPO4 (geg_MOPO4)

[identity profile] gegmopo4.livejournal.com 2015-01-11 03:40 pm (UTC)(link)
> Единственная, но серьезная проблема с Python - несовместимые версии 2 и 3.

В данном случае это не проблема вообще.
Edited 2015-01-11 15:40 (UTC)

[identity profile] lvqcl.livejournal.com 2015-01-11 02:12 pm (UTC)(link)
> Между VBA и VB.net несколько изменился синтаксис языка

"несколько" ? http://en.wikipedia.org/wiki/Visual_Basic_.NET#Comparison_with_the_classic_Visual_Basic

Он скорее на C# похож, чем на VBA

[identity profile] bougakov.livejournal.com 2015-01-11 02:29 pm (UTC)(link)
Всё равно learning curve куда как короче, чем при перескакивании с VB на тот же Python. Интенсивное гугление, копипейст из найденных кусков кода - и в очень короткие сроки имеем уродливый кусок кода, который, тем не менее, работает.

А уж потом можно выдохнуть и повыбирать, какой бы язык из современных поизучать на досуге.

P.S. Вдруг сообразил, что никто не предложил старый "полноценный" Visual Basic 6.0 - http://rutracker.org/forum/viewtopic.php?t=2514447 Синтаксис идентичен синтаксису VBA - т.е. переучиваться не надо, работать будет однозначно быстрее. Чем не вариант?

[identity profile] lvqcl.livejournal.com 2015-01-11 02:44 pm (UTC)(link)
>Чем не вариант?

Варез. Может не пойти по лицензионным соображениям.
arech: (Default)

[personal profile] arech 2015-01-12 11:14 am (UTC)(link)
1) быстрее, но не намного
2) либо невозможна, либо дико геморно распараллеливание вычислений, что скорее всего крайне необходимо в предметной области
3) в целом продукт мёртв. Инвестирование времени на переход в него и наращивание кодовой базы скорее всего останутся убыточными, т.к. в будущем всё равно придётся соскакивать с него на что-то более адекватное.
Не надо, это тупик.

[identity profile] natvalbr.livejournal.com 2015-01-11 04:06 pm (UTC)(link)
http://macroevolution.livejournal.com/186606.html?thread=12744174#t12744174