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

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

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

[identity profile] phlya.livejournal.com 2015-01-11 10:45 am (UTC)(link)
Вот про скорость тут сложно сказать, но про осваиваемость это однозначно Python. Если одновременно освоить numpy и/или Pandas (библиотеки для расчетов, первая более низкоуровневая с array'ами, вторая - более высокоуровневая, более в стиле R), то скорость будет очень хорошая (говорят, в оптимальный условиях почти как С). И одновременно язык интерпретируемый, то есть в этом будет Вам знакомо.
Дополнительный плюс - великолепная библиотека для графиков и диаграмм matplotlib, и надстройки над ней вроде seaborn.
Ну, и я не знаю, как устроены Ваши модели, но scipy может пригодиться с кучей научных функций.
Edited 2015-01-11 10:47 (UTC)

[identity profile] bear-bull.livejournal.com 2015-01-11 10:47 am (UTC)(link)
Тут уж либо простенький язык - тогда за тебя все будет делать комп - и медленно естественно, либо - все делать самому на каком-нить С++ - тогда может получиться быстро.
Как вариант - VB под тем же Access, но не использовать все эти медленные sql-запросы, а занести все данные в массивы и самому с ними работать. Мне кажется, так будет быстрее.
Edited 2015-01-11 10:48 (UTC)

[identity profile] orrine.livejournal.com 2015-01-11 10:50 am (UTC)(link)
У Майкрософт в Visual Studio можно писать на нескольких языках - Visual Basic, C#, компилится одинаково. Вам не придется переучиваться.

[identity profile] meharher.livejournal.com 2015-01-11 10:50 am (UTC)(link)
Python - возможно.
Но, возможно, именно R и есть как раз подходящий вариант.
Но, боюсь, что ни R, ни, тем более, Python не подходят под определение "освоить за 2-3 дня".

[identity profile] ahiin.livejournal.com 2015-01-11 10:52 am (UTC)(link)
C#.
Легко начать, отличная бесплатная IDE и считать будет быстро.
Я на нем программный пакет для кандидатской писал.

[identity profile] psilogic.livejournal.com 2015-01-11 10:52 am (UTC)(link)
так ему же надо быстрее, а вы опять интерпретируемый предлагаете

[identity profile] shilliennv.livejournal.com 2015-01-11 10:52 am (UTC)(link)
А разве не было у вас уже такого поста (или я вас с кем-то похожим путаю).

Думаю, тут стоит пойти таким простым путем: язык программирования взять любой, например, вспоминая свои первые опыты с языками, по возрастанию сложности я бы их расставила так: php, pascal/Delphi, java, C/C++, python. php исключаем из-за его специфической ориентированности, из остальных можно выбирать. Второй шаг для простого пути - найти человека, который на пальцах объяснил основы и применение именно в ваших задачах.

Я бы остановила выбор именно на Pascal/Delphi из-за удобного визуального интерфейса среды и отличной системы помощи и всплывающих подсказок.

Если немного уточните, какого рода задачи вы решаете, смогу более предметно описать.

[identity profile] aksuramax2.livejournal.com 2015-01-11 10:53 am (UTC)(link)
Я тоже "опытный дилетант".
Посоветовать ничего не могу, но у меня наивный вопрос - а разве сейчас нет именно компиляторов Бейсика?
В свое время я пользовался Бейсиком на примитивном советском БК-0010-01 - так там был как раз компилятор Бейсика, причем очень скоростной.

[identity profile] alazor.livejournal.com 2015-01-11 10:54 am (UTC)(link)
Матлаб!

[identity profile] phlya.livejournal.com 2015-01-11 10:54 am (UTC)(link)
Может и R, зависит от задач.
На мой личный вкус Python освоить проще (с ним я справился, а R несколько раз начинал мучить, и так и не могу сказать, что освоил...). R очень хорош чисто для статистики, без программирования. Но если надо делать что-то более сложное, то питон становится резко удобнее, на мой взгляд.
Ну, освоить по-настоящему за 2-3 дня никакой язык нельзя, но на питоне можно писать уже после 1 дня (может, костыльно, но можно).
Edited 2015-01-11 10:55 (UTC)
arech: (Default)

[personal profile] arech 2015-01-11 10:55 am (UTC)(link)
R очень медленный и очень специфический. И именно программировать на нём - настоящий pain.

[identity profile] psilogic.livejournal.com 2015-01-11 10:56 am (UTC)(link)
если быстрее, то годятся только компилируемые, а их не так много - паскаль, си, си++, фортран, с некоторой натяжкой - java

поскольку вы - человек умнейший, то справитесь с любым языком, и я бы рекомендовал потратить чуть больше времени, освоив C, C++ или C#, зато потом не иметь проблем.

среда разработки - официально бесплатная Microsoft Visual Studio Express 2013

освоить за 2-3 дня - вполне реально для вас и для тех задач, которые вы назвали: массивы, таблицы - это третья-четвертая лабораторная у студентов, изучающих Си. если с выводом графиков - уже сложнее, но не сильно, если возьмете уже готовый пример такой программы и замените в ней только непосредственно математическую/алгоритм рисования
arech: (Default)

[personal profile] arech 2015-01-11 10:57 am (UTC)(link)
Тоже весьма медленный. Хотя и поддаётся компиляции, но сходу этого добиться не просто...
И уж точно не дешевый ;))

Хотя из всех специфических языков я матлаб больше всего люблю, он наиболее адекватный :)

[identity profile] stepan kuzmin (from livejournal.com) 2015-01-11 10:59 am (UTC)(link)
+1 за пистон, простой как три рубля. Также для этих задач могу порекомендовать Octave, Mathcad и Wolfram Mathematica, это конечно не ЯП как таковые, но к вашим задачам могут подойти.

[identity profile] phlya.livejournal.com 2015-01-11 10:59 am (UTC)(link)
NumPy быстрый, я ж говорю.

[identity profile] gryzchick.livejournal.com 2015-01-11 11:01 am (UTC)(link)
Поддерживаю первого комментатора. Лучший язык для решения прикладных задач непрофессионалом - это Python. Легко осваивается, много библиотек. Если приоритет скорости намного важнее простоты изучения - Java.

[identity profile] ripe-berry.livejournal.com 2015-01-11 11:02 am (UTC)(link)
Муж рекомендует язык R.
http://r-statistics.livejournal.com/
http://www.bioconductor.org/

[identity profile] victor-chapaev.livejournal.com 2015-01-11 11:08 am (UTC)(link)
Я бы посоветовал С++ в виде Borland C++ Builder. Хороший, на мой взгляд, баланс визуального программирования (как в Delphi), универсальность С++ и огромный набор компонентов для автоматизации работы
arech: (Default)

[personal profile] arech 2015-01-11 11:09 am (UTC)(link)
C++ превосходный один из мощнейших и быстрейших языков, но на его полноценное освоение уйдут годы. Точно не для человека, который не хочет вникать в программерские проблемы.

[identity profile] al-zatv.livejournal.com 2015-01-11 11:09 am (UTC)(link)
присоединюсь к варианту "Visual Basic.Net" . он как раз компилируется (почти) и будет работать быстрее VBA.
бесплатная версия вроде бы здесь http://www.visualstudio.com/ru-ru/products/visual-studio-express-vs.aspx , под именем "Express 2013 для Windows Desktop"

Но,возможно,у Вас тормозит не бейсик, а доступ к данным в таблицах Access. тогда такой переход не поможет, надо будет программу малость переделывать.

[identity profile] gineer.livejournal.com 2015-01-11 11:10 am (UTC)(link)
Если вопрос именно в быстроте/простоте освоения

то наверное как тут и предлагали попробовать Визуал Бэйсик но уже не встроеный, а тот что отдельный -- Визуал Студия качается бесплатно.
возможно с раширением в сторону С# -- модель можно скомилировать на нем отдельной сборкой, а потом встраивать и использовать из ВБ
arech: (Default)

[personal profile] arech 2015-01-11 11:10 am (UTC)(link)
Наверное, +1 за VB под .NET
Если его не будет хватать, тогда наверное смотреть на питон (там больше возможностей для ускорения на спец.библиотеках).

Вообще, хорошо бы описать, какие проблемы надо решать... а уж от этого и плясать...

[identity profile] meharher.livejournal.com 2015-01-11 11:11 am (UTC)(link)
R векторизован и потому быстр.
Вопрос тут другой: можно ли свести задачу к вызовам фунций из библиотек с минимумом программирования. Для многих задач это так. Морфологические признаки ежей - явно подходят.
В данном случае - не знаю, мне трудно судить.

arech: (Default)

[personal profile] arech 2015-01-11 11:13 am (UTC)(link)
Кстати, есть и бесплатная очень условная "альтернатива" матлабу - Octave, но я ней не работал.
arech: (Default)

[personal profile] arech 2015-01-11 11:14 am (UTC)(link)
Дорогой друг))) Я вангую, вы либо в жизни не пробовали программировать в Математике, либо очень изощерённый садист-мизантроп)))

Page 1 of 27