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

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

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

[identity profile] aleksclan.livejournal.com 2015-01-11 01:20 pm (UTC)(link)
сам попробуй, а потом будешь спорить

[identity profile] 1greywind.livejournal.com 2015-01-11 01:21 pm (UTC)(link)
100 коментов и никто не посоветовал Wolfram Language (http://www.wolfram.com/language/).

Очень может быть, что это именно то, что вам нужно - т.к. там язык ориентирован не "программирование вообще", а на манипуляции с данными и их обработку с помощью готовых алгоритмов.

[identity profile] lvqcl.livejournal.com 2015-01-11 01:21 pm (UTC)(link)
Ну и если интересен питон, то: http://stackoverflow.com/questions/81584/what-ide-to-use-for-python

[identity profile] dmytrish.livejournal.com 2015-01-11 01:22 pm (UTC)(link)
Закопайте, оно дурно пахнет.
arech: (Default)

[personal profile] arech 2015-01-11 01:22 pm (UTC)(link)
Ййеееесссс!!!!!!!
Я всё ждал, когда он появится))))))))))

[identity profile] aksuramax2.livejournal.com 2015-01-11 01:23 pm (UTC)(link)
Фокал - отстой:)
А вот тамошний Бейсик был на удивление хорош. Это был именно компилятор, он не выполнял программу пошагово, а формировал объектный модуль. По скорости ничем не уступал тогдашним "серьезным" языкам - Си, Фортрану и проч.

[identity profile] aleksclan.livejournal.com 2015-01-11 01:24 pm (UTC)(link)
чем больше в механизме деталей -- тем быстрее он сломается

[identity profile] logan-666.livejournal.com 2015-01-11 01:26 pm (UTC)(link)
// 1С для биолога, боюсь — это как правым ухом чесать левую пятку (инверсия намеренная).

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

Помню 8 лет назад лежал в госпитале. После операции неделю делать нечего было - налабал для отделения на 1С базу по учету поциентов и выполненных операций. До сих пор пользуют :))

[identity profile] vmenshov.livejournal.com 2015-01-11 01:30 pm (UTC)(link)
С графикой он работал сверхмедленно. Эллипс на экране рисовался прям видно было как :)

Хотя в играх для этого компа графика работала на порядки быстрее. Я так и не понял, на чем они эти игры писали.

[identity profile] dmytrish.livejournal.com 2015-01-11 01:33 pm (UTC)(link)
А причем здесь понты? Лямбда-исчисление, правильно сделанное, с хорошими, быстрыми библиотеками; если не углубляться в монады, то писать можно не приходя в чувство. Даже монады и монадные трансформеры после некоторого опыта вполне нормальны.

Другое дело, что Хаскель может быть не очень удобным для моделирования эволюционных популяций, и скорость не всегда предсказуемая.

[identity profile] rodonist.wordpress.com (from livejournal.com) 2015-01-11 01:34 pm (UTC)(link)
Ещё один голос за Visual Basic .NET
Тем более, что Microsoft выпустила Visual Studio 2013 Community Edition - фактически перелицензированная версия коммерческой Professional. После VBA будет не так тяжело осваивать среду программирования - а это тоже очень важно.

Ну и стоит упомянуть, что VB.NET - довольно "взрослый" язык, ничуть не игрушка. По возможностям не уступает C#.

[identity profile] aksuramax2.livejournal.com 2015-01-11 01:42 pm (UTC)(link)
Графика там использовала стандартные команды EMT - они работали медленно.
А игры писались в кодах - через ассемблер PDP.
Я сам написал для этого компа реальный авиасимулятор - учебного легкого самолета типа Як-50 - с выводом на экран приборной панели, горизонта и ВВП.
Можно было выполнять взлет, разворот, посадку. Всё, кроме высшего пилотажа.
У меня шаг программы был - восемь раз в секунду, причем изображение выводилось без заметного мерцания - я написал собственные программки графики на тамошнем ассемблере.

Но боюсь, что мы уже сильно углубились в оффтоп в этом посте:))

холиварная тема

[identity profile] mynine.livejournal.com 2015-01-11 01:48 pm (UTC)(link)
Сам я пишу в основном на C++, язык быстрый и очень мощный. Но вам не советую, все-таки порог вхождения великоват для более-менее уверенного кодирования. А серьезное освоение требует нескольких лет.

Как упрощенный вариант C++ можно вполне использовать Java или C#. При использовании специализированных сред IDE (есть бесплатные) процесс программирования заметно упрощается - подсказки и подсветка синтаксиса и ошибок прямо в редакторе. В случае использования Java у вас будет возможность запускать программу на разных платформах вплоть до телефона или планшета под Android.

Python вполне годен, хорош с точки зрения концепции языка, но медленный.

Как вариант, можете попробовать Lua, простой (он проще всех указанных в комментариях здесь :) и мощный язык. Хотя он и скриптовый, но, емним, самый быстрый из всех. Для начала использования достаточно скачать только интерпретатор языка (размер менее мегабайта) и вперед.

[identity profile] dr-blastarr.livejournal.com 2015-01-11 01:50 pm (UTC)(link)
Точно! Освоение не требуется (происходит в момент написания программы). Очень много готовых функций, быстрая работа с матрицами. Процесс программирование обычно состоит из copy-paste готовых кусков кода из хелпа или гугла (последний даже удобнее, поскольку матлабовский хелп есть на их сайте и первым появляется в результатах поиска).

[identity profile] guga50.livejournal.com 2015-01-11 01:53 pm (UTC)(link)
Платформа .net
Язык C#. Вам не надо в объектно-ориентированные дебри забуриватья (хотя именно для вашего применения это было бы ОЧЕНЬ полезно, да и вообще это совсем не сложно). Любой ОО язык можно использовать как функциональный. Даже если он жёстко насаждает ОО.

Качайте Visual Studio Express Edition. Она бесплатная.
Ставьте и вперёд.

Если нужна помощь - можете обращаться. Беззплатно ;))
Edited 2015-01-11 13:54 (UTC)

[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] victor-chapaev.livejournal.com 2015-01-11 02:00 pm (UTC)(link)
Версия 5 - самая лучшая

[identity profile] batch2k.livejournal.com 2015-01-11 02:01 pm (UTC)(link)
Питон, однозначно питон.

[identity profile] maniacscientist.livejournal.com 2015-01-11 02:01 pm (UTC)(link)
Спец в моделировании не в курсе про AnyLogic?? Там Жаба во все поля, хочешь не хочешь а программируешь

[identity profile] drag-drop.livejournal.com 2015-01-11 02:01 pm (UTC)(link)
Никого не слушайте, хотя програмил и на си, но для начинающего только Delphi... основанный на языке pascal...
Pascal язык для обучения... писать одно удовольствие. по качеству скомпилированного кода кто просматривал код в ассеблере не уступит Турбо си, , естественно если компилить без форм, а в досовское окно. Это конечно если нужно только самому, а не для дальнейшего трудоустройства... потому как борланды проиграли войну по сертификации мелкомягким еще лет 10 назад...

Насчет синтаксиса Си была шутка что язык придуман для того чтобы остановить прогресс в СССР..
Листинг си с операторами не читаемый. нужен только для выпендрежа .пример типа i-=++i+i++; могу бред написать давно не практиковал но смысл понятен .. это конечно при объектном программировании мало уже значит но все таки читабельность основ синтаксиса для начала изучения вопрос важный.

[identity profile] lvqcl.livejournal.com 2015-01-11 02:02 pm (UTC)(link)
Разве? Всё, что нахожу гуглом - это "Free Trials".

[identity profile] lvqcl.livejournal.com 2015-01-11 02:05 pm (UTC)(link)
Для старперов, разве что: "Borland Delphi 5 появилась в 1999 году"
К тому же сейчас легально её не купить.

[identity profile] guga50.livejournal.com 2015-01-11 02:07 pm (UTC)(link)
>> С# - это следующая ступень эволюции С++

Бред не пишите

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

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

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

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

[personal profile] stiv_sigmal 2015-01-11 02:09 pm (UTC)(link)
> Если абстрагироваться от понятий справочник, документ, журнал, регистр, а рассматривать все это просто как массивы данных, то ничего сложного.

Ничего сложного, но зачем? Если на то пошло, то почти любую задачу можно решить на почти любом ЯП, вопрос только в затратах. В моём понимании «абстрагироваться от понятий справочник и т.д.» — это костыли.
Впрочем, лучший ответ на вопрос «на каком ЯП писать» — на том, который хорошо знает программист, который будет это делать и\или поддерживать.

Page 5 of 27