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

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

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

[identity profile] serge shikov (from livejournal.com) 2015-01-31 10:09 am (UTC)(link)
> Я не пишу на питоне сам.

А я вот пишу. Хотя была бы такая возможность - держался бы от него подальше. Все что выше написано про чтение чужого кода на нем - чистая правда. И большая часть "встроенных из коробки" возможностей прямо скажем не слишком хорошего качества. Как и большая часть готового софта на нем, которые имеется в интернете.

А вот идею про Java я поддержу. Не столько ради самого языка (я бы взял бы groovy, на самом деле), сколько ради платформы, под которую готовых компонентов самого разного рода намного больше, чем под питон, и лучшего качества. И ради инструментов.

[identity profile] sumerk.livejournal.com 2015-01-31 04:14 pm (UTC)(link)
Спасибо на добром слове про Java. Я и на Java не пишу, только в 2001-м году кодил на нем год. Но именно о Java я мечтаю для себя, как об основном языке.
Мой личный план:
пересесть на Java + groovy + clojure.

Про Groovy я узнал из статьи на хабре, перешел по ссылке на сайт Груви - вот сюда http://groovy.codehaus.org/JN1015-Collections - и через полчаса очнулся пораженный, что завороженно полчаса читаю чужой код на языке, о существовании которого еще час назад вообще не знал. Это лучшее пособие по языку, какое я когда-либо встречал. Так должны писаться пособия по ЯП. И захватывающая выразительность самого языка Груви. Для меня до сих пор совершенно поразительно, что чтение чужого кода может удерживать внимание и даже захватывать. Я потом еще прочитал книжку о граилз, компилил хэлловорды. Это то, чему я себя в скором времени обязательно посвящу - утону в языке синтаксического сахара + вся мощь Java :).

Спасибо, вы повысили мое настроение: Тенью критики Питона - я знаю, что до этого многими хвалимого и любимого языка у меня никогда не дойдут руки - и вы же меня успокоили, что без Питона не только можно, но даже и нужно прожить. Поддержкой коцепции, что именно Java следует выбрать Александру Владимировичу. И волшебным словом "Groovy", сверхвыразительным диалектом Java. Спасибо)











[identity profile] gluconat-ca.livejournal.com 2015-02-01 07:24 am (UTC)(link)
Есть один весьма старинный язычок, не "майнстрим", простой, но достаточно эффективный в определённых задачах. Одним из достоинств его - это модель данных которыми он оперирует - разреженные массивы, как локальные, которые существуют только во время исполнения программного кода, так и постоянного хранения (своего рода база данных) доступ к которым единообразен. Есть реализация для Windows http://www.minimdb.com/ , автор - наш человек, Евгений Каратаев, есть и книга у него по программированию на этом языке (не очень дешёвая, правда).
Долго колебался предлагать этот вариант, потому что сам давно работаю с этим языком (но с другой реализацией) и потому понимаю, что возможно сильное разочарование в выборе, если по какой-то причине не сложится "дружба" c этим языком.

Да, главное я и не сказал - этот язык называется MUMPS ( Massachusetts General Hospital Utility Multi-Programming System)

PS.
Можно рассматривать этот комментарий как замечание - не "питонами" едиными ... :)

[identity profile] phlya.livejournal.com 2015-02-01 08:42 am (UTC)(link)
У питона синтаксис сильно грязный, читать код на нём сплошное мучение
Хаха.

[identity profile] liartar.livejournal.com 2015-02-07 03:38 pm (UTC)(link)
там уже выше кто-то писал, но я повторю: в питоне числовые вычисления с библиотекой numpy (а только так числовые вычисления и осуществляются в этом языке) работают на скорости нативного кода, поскольку используются скрипты, скомпилированные на фортране. питон выступает как бы посредником и обрабатывает входы-выходы только. в итоге питон крайне быстро работает с вычислениями (и именно поэтому его в науке так много используют сейчас).
Edited 2015-02-07 15:40 (UTC)

[identity profile] liartar.livejournal.com 2015-02-07 03:43 pm (UTC)(link)
для вычислений и моделирования numpy использует скомпилированный код фортрана и работает очень быстро

[identity profile] romashkovoo.livejournal.com 2015-02-11 12:51 pm (UTC)(link)
Фортран. Если нужна скорость

Большинство серьезных моделей, по крайней мере из области физики атмосферы, написаны именно на Фортране. Да-да, прогноз погоды, которым каждый интересуется время от времени, получается в ходе расчетов моделей, написанных на этом языке.

[identity profile] gluconat-ca.livejournal.com 2015-02-17 07:33 am (UTC)(link)
Е. Каратаев предоставил свою книгу в свободный доступ. http://www.minimdb.com/mbook/mumps_dbms.pdf

[identity profile] romavnts.livejournal.com 2015-03-14 03:48 pm (UTC)(link)
Александр, язык обычно подбирается (или вообще создаётся) под задачи, а не "чтобы быстрее". Вам (учитывая ваши задачи) так и вовсе можно приглядеться к среде AnyLogic http://www.anylogic.ru/use-of-simulation (Единственный инструмент, который объединяет системную динамику, агентное и дискретно-событийное моделирование). В качестве базового языка используется Java, байт-код которого в нынешние времена уже и на утюгах выполняется :-)

[identity profile] insaiderz.livejournal.com 2015-11-16 11:00 am (UTC)(link)
Александр, а вы на Фортране не пробовали? Он намного быстрее бэйсика, весьма стандартизирован и "без понтов", фактически что напишите, то он и будет делать. Как говорил наш препод на выч. физике, Си для бугалтеров :), а научные и инженерные моделирования и рассчеты обычно делают на фортране.

Page 27 of 27