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

Date: 2015-01-15 07:28 pm (UTC)
From: [identity profile] http://users.livejournal.com/cryptomancer_/
1) Изучите на каких языках и библиотеках работают МГУ-шный суперкомпьютер Ломоносов (http://parallel.ru/cluster/starterinfo ) и проект добровольных вычислений BOINC ( https://boinc.berkeley.edu/trac/wiki/ProjectMain )

2) Про Питон как новый Бейсик учёных - удваиваю. Дополнения - разгонять узкие места надо не на C/C++ а на https://en.wikipedia.org/wiki/Cython , если есть библиотеки на компилируемых языках которые ещё не привязаны к Питону - привязывать через http://www.swig.org/ . Работа с исходниками возможна без глубокого понимания, это уровень продвинутого сисадмина UNIX а не первоначального автора библиотек.

3) Функциональные языки включая F# (.NET) и Хаскелл - это не троллинг. Наличие в языке чистых функций - путь к возможности для авторов языка распараллелить на видеокарты и кластеры без усилий программиста. Кстати, в новом фортране появился вид функций PURE - к чему бы это ? Даже если не будете делать основную ставку - изучайте краем глаза, гуглите.

4) VB.NET из преимуществ имеет только переиспользование навыков, но может отрезать Вас и от библиотек (Питон) и от суперкомпьютеров и видеокарт ( C/C++, функциональщина).

5) Хранение данных. Смотрите SQLite (самое большое покрытие тестами и база установок - все Андроиды, Файрфоксы как минимум ), PostgreSQL (академичность в противовес "грязной" практичности MySQL, избран 1С как альтернатива коммерческим). Если на много машин - то Apache Cassandra (простое системное администрирование, нет разделения машин по ролям).

6) Рассмотрите возможность переложить часть работы на движок SQL - производите расчёты при вставке в таблицы результатов при выборке из таблиц сырых данных ( SELECT ... INSERT ... ), о компиляции и распараллеливании на ядра процессора позаботились программисты БД.
Page generated Sep. 18th, 2025 03:08 pm
Powered by Dreamwidth Studios