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

Date: 2015-01-15 11:47 am (UTC)
From: [identity profile] sumerk.livejournal.com
>Программированием пользуюсь сейчас для имитационного моделирования эволюционных процессов в популяциях. Подумываю об одной новой модели, но понимаю, что на VBA она будет работать невыносимо медленно. Насколько я понимаю, программа, написанная почти на любом другом языке, компилируемом, будет работать в разы быстрее. Вопрос такой: какой из этих языков мне будет быстрее и проще всего освоить?
> Т.е. главное, чтобы он был максимально простым в освоении для того, кто знает бейсик, без всяких интеллектуальных "понтов", но работал хотя бы раз в 10 быстрее

Исходя из задачи - вам нужна Java. Вы ведь хотите сами написать ядро, которое будет все считать - и тут Java почти самый быстрый.
Вот тут
http://rutracker.org/forum/viewtopic.php?t=4864236
берется среда программирования на Java - она лучшая на Земле сейчас вообще среди всех сред программирования "Intellij Idea".
Продвинутый способ обучения языкам - следовать видеоподкастам - вот например по такому для примера мною составленному запросу в Ютьюб что-то вам может оказаться полезным - http://www.youtube.com/results?search_query=intellij+idea+tutorial+java

Вам также надо прочитать книжку по Java, вот тут их 140 штук http://rutracker.org/forum/viewtopic.php?t=4890233. Непременно вам промоют там мозг парадигмами Объектно-ориентированного программирования. Вам надо будет их понять и зазубрить - их 3 или 4 всего. Без этого не понять ни Java, ни скорее всего все другие более продвинутые языки. Возможно для вас ООП вообще окажется захватывающим откровением, ведь это как раз система, в которой можно создать класс "Муха", прописать ей поведение "если коснулись крылышка, взмахнуть другим крылышком". А потом одной командой создать миллион таких объектов-Мух и наблюдать эволюцию их взаимовлияний... То есть парадигма ООП прямо-таки создана для моделирования систем из множества объектов.
Как раз Java сделала Объектно-ориентированное программирование мейнстримом 15 лет назад, так что читая книжку о Java вы поймете глубоко идеи.

Примечание: важно не перепутать Java и JavaScript - они называются похоже, но пути этих языков необратимо разошлись сразу после того, как им были даны похожие названия.

И также я присоединюсь ко множеству тут высказывавшихся:
один из наиболее выразительных языков сейчас - Python (он намного выразительней чем рекомендованный мною Java!). Он возможно вообще не подпадает под сформулированную вами задачу - написания ядра считающего какую-то модель. И все же это язык, которым программируют ученые - он упрощен где возможно, и усилена выразительность, где это надо.

Удачи!

Date: 2015-01-29 01:49 pm (UTC)
From: [identity profile] chebudzee.livejournal.com
Все твердящие про простоту питона -- сказочники. Из моего опыта в коммерческой разработке на питоне -- разработчика вилами не загнать читать чужой код на питоне. Питон подавляет своим необъятным синтаксисом. Буквально каждое дейтсвие имеет свой синтаксис, даже очень похожие действия делаются по разному. Например splat-оператор (*) можно исползовать только в аргументах функции. Если же вам нужно "свернуть" в массив переменные вне аргументов функции -- для этого уже совсем другой непохожий синтаксис.
Это write-only язык, который тем не менее активно пиарят, приписывая ему свойства, которых у него нет.

Date: 2015-01-29 02:18 pm (UTC)
From: [identity profile] sumerk.livejournal.com
Я не пишу на питоне сам.

Но гигантское число встроенных в язык функций из коробки - считаю достоинством.
Потому что лучше лазать в хэлп за каждым третьим словом, чем реализовывать все каждый раз самостоятельно - вручную, медленно, с ошибками и плохо написав хелп... И заново все то же самое реализовывая в каждом следующем проекте...

А ваше недовольство мне понятно - меня любая невыразительность или громоздкость в ЯП раздражает, все то, что сделано неэргономично.

Но в комментах к этому посту несчастному Александру Владимировичу советуют начать писать на Це. Или на Дельфи. Какая гадость!

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

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

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

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

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

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











Page generated Sep. 22nd, 2025 12:32 pm
Powered by Dreamwidth Studios