Посоветуйте язык программирования
Jan. 11th, 2015 02:41 pmЯ всю жизнь программировал только на бейсике, на разных его версиях. Так получилось. Когда писал кандидатскую, набралось очень много таблиц с данными (это были морфологические признаки морских ежей), и я задолбался обсчитывать их на калькуляторе. Поэтому быстренько освоил бейсик (тогда персональные компьютеры IBM только начали появляться, и к ним прилагался язык GW-Basic). Освоил - и сразу почувствовал себя человеком. С тех пор не переучивался, сейчас пишу все свои программки на VBA в MS Access. То есть в программировании я дилетант, но опытный. Программированием пользуюсь сейчас для имитационного моделирования эволюционных процессов в популяциях. Подумываю об одной новой модели, но понимаю, что на VBA она будет работать невыносимо медленно. Насколько я понимаю, программа, написанная почти на любом другом языке, компилируемом, будет работать в разы быстрее. Вопрос такой: какой из этих языков мне будет быстрее и проще всего освоить? Времени, сил и желания преодолевать трудности и вникать в программистские проблемы - не имеется. Мне бы этот язык просто скачать (можно купить, если не слишком дорого), освоить за пару-тройку дней - и вперед. Т.е. главное, чтобы он был максимально простым в освоении для того, кто знает бейсик, без всяких интеллектуальных "понтов", но работал хотя бы раз в 10 быстрее.
no subject
Date: 2015-01-11 01:20 pm (UTC)no subject
Date: 2015-01-11 01:21 pm (UTC)Очень может быть, что это именно то, что вам нужно - т.к. там язык ориентирован не "программирование вообще", а на манипуляции с данными и их обработку с помощью готовых алгоритмов.
no subject
Date: 2015-01-11 01:21 pm (UTC)no subject
Date: 2015-01-11 01:22 pm (UTC)no subject
Date: 2015-01-11 01:22 pm (UTC)Я всё ждал, когда он появится))))))))))
no subject
Date: 2015-01-11 01:23 pm (UTC)А вот тамошний Бейсик был на удивление хорош. Это был именно компилятор, он не выполнял программу пошагово, а формировал объектный модуль. По скорости ничем не уступал тогдашним "серьезным" языкам - Си, Фортрану и проч.
no subject
Date: 2015-01-11 01:24 pm (UTC)no subject
Date: 2015-01-11 01:26 pm (UTC)Если абстрагироваться от понятий справочник, документ, журнал, регистр, а рассматривать все это просто как массивы данных, то ничего сложного.
Помню 8 лет назад лежал в госпитале. После операции неделю делать нечего было - налабал для отделения на 1С базу по учету поциентов и выполненных операций. До сих пор пользуют :))
no subject
Date: 2015-01-11 01:30 pm (UTC)Хотя в играх для этого компа графика работала на порядки быстрее. Я так и не понял, на чем они эти игры писали.
no subject
Date: 2015-01-11 01:33 pm (UTC)Другое дело, что Хаскель может быть не очень удобным для моделирования эволюционных популяций, и скорость не всегда предсказуемая.
no subject
Date: 2015-01-11 01:34 pm (UTC)Тем более, что Microsoft выпустила Visual Studio 2013 Community Edition - фактически перелицензированная версия коммерческой Professional. После VBA будет не так тяжело осваивать среду программирования - а это тоже очень важно.
Ну и стоит упомянуть, что VB.NET - довольно "взрослый" язык, ничуть не игрушка. По возможностям не уступает C#.
no subject
Date: 2015-01-11 01:42 pm (UTC)А игры писались в кодах - через ассемблер PDP.
Я сам написал для этого компа реальный авиасимулятор - учебного легкого самолета типа Як-50 - с выводом на экран приборной панели, горизонта и ВВП.
Можно было выполнять взлет, разворот, посадку. Всё, кроме высшего пилотажа.
У меня шаг программы был - восемь раз в секунду, причем изображение выводилось без заметного мерцания - я написал собственные программки графики на тамошнем ассемблере.
Но боюсь, что мы уже сильно углубились в оффтоп в этом посте:))
холиварная тема
Date: 2015-01-11 01:48 pm (UTC)Как упрощенный вариант C++ можно вполне использовать Java или C#. При использовании специализированных сред IDE (есть бесплатные) процесс программирования заметно упрощается - подсказки и подсветка синтаксиса и ошибок прямо в редакторе. В случае использования Java у вас будет возможность запускать программу на разных платформах вплоть до телефона или планшета под Android.
Python вполне годен, хорош с точки зрения концепции языка, но медленный.
Как вариант, можете попробовать Lua, простой (он проще всех указанных в комментариях здесь :) и мощный язык. Хотя он и скриптовый, но, емним, самый быстрый из всех. Для начала использования достаточно скачать только интерпретатор языка (размер менее мегабайта) и вперед.
no subject
Date: 2015-01-11 01:50 pm (UTC)no subject
Date: 2015-01-11 01:53 pm (UTC)Язык C#. Вам не надо в объектно-ориентированные дебри забуриватья (хотя именно для вашего применения это было бы ОЧЕНЬ полезно, да и вообще это совсем не сложно). Любой ОО язык можно использовать как функциональный. Даже если он жёстко насаждает ОО.
Качайте Visual Studio Express Edition. Она бесплатная.
Ставьте и вперёд.
Если нужна помощь - можете обращаться. Беззплатно ;))
no subject
Date: 2015-01-11 01:54 pm (UTC)У вас есть хорошие познания в VB (а именно - VBA в Access) и мало времени и сил на переобучение.
Поэтому берите "полноценный" Visual Basic .NET - скачивайте и устанавливайте. Он бесплатен.
Между VBA и VB.net несколько изменился синтаксис языка, но путём проб и ошибок вы быстро склеите из кусков нагугленных примеров что-то работающее. Это решит вашу текущую задачу.
На будущее глядите в сторону связки Python и SciPy (для них множество примеров именно научных расчётов, библиотек) или "R" (который, скорее, замена SPSS)
no subject
Date: 2015-01-11 02:00 pm (UTC)no subject
Date: 2015-01-11 02:01 pm (UTC)no subject
Date: 2015-01-11 02:01 pm (UTC)no subject
Date: 2015-01-11 02:01 pm (UTC)Pascal язык для обучения... писать одно удовольствие. по качеству скомпилированного кода кто просматривал код в ассеблере не уступит Турбо си, , естественно если компилить без форм, а в досовское окно. Это конечно если нужно только самому, а не для дальнейшего трудоустройства... потому как борланды проиграли войну по сертификации мелкомягким еще лет 10 назад...
Насчет синтаксиса Си была шутка что язык придуман для того чтобы остановить прогресс в СССР..
Листинг си с операторами не читаемый. нужен только для выпендрежа .пример типа i-=++i+i++; могу бред написать давно не практиковал но смысл понятен .. это конечно при объектном программировании мало уже значит но все таки читабельность основ синтаксиса для начала изучения вопрос важный.
no subject
Date: 2015-01-11 02:02 pm (UTC)no subject
Date: 2015-01-11 02:05 pm (UTC)К тому же сейчас легально её не купить.
no subject
Date: 2015-01-11 02:07 pm (UTC)Бред не пишите
no subject
Date: 2015-01-11 02:08 pm (UTC)Если хочется что-то более серьезного, то Visual Studio Expess, и сможете переиспользовать навыки... Но там нет богатсва выбора научных инструментов.
Python - как бы то ни было - это отличный вариант, особенно с тем, что есть много дополнительных библиотек для математических задач, при том быстрых. Тут зависит от того, из какой математической области Вам надо решить задачу. Некторые библиотеки сами написаны на компиллируемых языках, и работают очень быстро.
Модуль IPython - позволяет проводить расчеты в интерактивой форме.
Отличные средства визуализации, и что немаловажно - доступна, одна из лучших на мой взгляд, среда разработки PyCharm.
Единственная, но серьезная проблема с Python - несовместимые версии 2 и 3. Вторая не развивается, в ней только исправляются ошибки, но на ней много чего сделано, для третьей есть не все библиотеки, но ситуация исправляется. Надо смотреть по обстоятельствам.
no subject
Date: 2015-01-11 02:09 pm (UTC)Ничего сложного, но зачем? Если на то пошло, то почти любую задачу можно решить на почти любом ЯП, вопрос только в затратах. В моём понимании «абстрагироваться от понятий справочник и т.д.» — это костыли.
Впрочем, лучший ответ на вопрос «на каком ЯП писать» — на том, который хорошо знает программист, который будет это делать и\или поддерживать.