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

Date: 2015-01-11 02:09 pm (UTC)
From: [identity profile] guga50.livejournal.com
>> чтобы достичь нужного уровня (сносного) на C, программированием нужно заниматься профессионально.

С - очень простой язык. С++ - другое дело. Да и вообще. Язык это только набор средств. Нет сложных языков, есть сложно написанные программы.

Date: 2015-01-11 02:10 pm (UTC)
From: [identity profile] amosk.livejournal.com
Питон медленнее бейсика будет ))

Date: 2015-01-11 02:10 pm (UTC)
From: [identity profile] guga50.livejournal.com
как то так.

Date: 2015-01-11 02:12 pm (UTC)
From: [identity profile] lvqcl.livejournal.com
> Между VBA и VB.net несколько изменился синтаксис языка

"несколько" ? http://en.wikipedia.org/wiki/Visual_Basic_.NET#Comparison_with_the_classic_Visual_Basic

Он скорее на C# похож, чем на VBA

Date: 2015-01-11 02:13 pm (UTC)
From: [identity profile] firrior.livejournal.com
Разве? А дисковый кэш в ОС зачем?

Date: 2015-01-11 02:13 pm (UTC)
From: [identity profile] pssshik.livejournal.com
Сколько проф комментаторов-то :)
1. Компилируемость языка не обеспечивает скорость. Вопрос в библиотеках - какой бы язык вы не использовали, библиотека для перемножения матриц или интерполирования будет быстрее.
2. Бейсики бывают компилирумые. Да, в общем-то, сейчас все компилируемые, за исключением вбскрипт.
3. Низкоуровневый язык программирования вам не нужен. Зачем вам заниматься вопросами ввода и отображения данных? Исходя из пункта один вам скорее нужны пакеты для расчетов - матлаб, математика, даже маткад.

Date: 2015-01-11 02:15 pm (UTC)
From: [identity profile] guga50.livejournal.com
Паскаль - унылое говно.
Си++ с перегружаемыми операторами - прекрасен. Вычитание может означать деление, а разыменование посыл трояна соседу.

> i-=++i+i++

ну и чё тут сложного? i станет равно - i - 2
Edited Date: 2015-01-11 02:19 pm (UTC)

Date: 2015-01-11 02:15 pm (UTC)
From: [identity profile] http://users.livejournal.com/__const__/
Не читал ещё комментариев, потому вполне могу повториться.
Наиболее адекватное для заявленных целей, на мой взгляд, это Fortran или Python в форме SciPy
Первый прост как табуретка и по умолчанию быстр для вычислений. Второй чуть посложнее, но сочетает преимущества интерпретатора со скоростью компилированных библиотек и имеет массу встроенных вкусняшек типа Matplotlib.

Date: 2015-01-11 02:15 pm (UTC)
From: [identity profile] lvqcl.livejournal.com
"для имитационного моделирования эволюционных процессов в популяциях"? Незачем, скорее всего.

Date: 2015-01-11 02:16 pm (UTC)
From: [identity profile] pssshik.livejournal.com
Турбо си - не си. Компилированный си намного лучше компилированного паскаля.

Date: 2015-01-11 02:16 pm (UTC)
From: [identity profile] amosk.livejournal.com
Я считаю что лучше оставить бейсик.
Потому что из языков, которые быстрее него, простых в изучении нет.

Скорость же программы зависит в основном не от языка, а от алгоритма.

Я до сих не могу забыть, как в институте у нас была курсовая по моделированию траектории движения частиц в э-магнитном поле, и модель, написанная на QuickBasic работала мгновенно, а на С++ вычислялась несколько минут, хотя должно быть наоборот. Просто подгруппа С++-ников была криворука ))

Date: 2015-01-11 02:18 pm (UTC)
From: [identity profile] http://users.livejournal.com/__const__/
Не совсем. У Scilab язык достаточно заметно отличается от Matlab, тогда как Octave просто повторяет его.

Date: 2015-01-11 02:18 pm (UTC)
From: [identity profile] jusup0v.livejournal.com
Старый добрый Delphi - для венды прекрасный . Верен ему уже 20 лет. Delphi - замечательная платформа.

Date: 2015-01-11 02:19 pm (UTC)
From: [identity profile] jusup0v.livejournal.com
Поддерживаю

Date: 2015-01-11 02:20 pm (UTC)
From: [identity profile] http://users.livejournal.com/__const__/
И основное, IMHO, назначение Matlab — написание и отладка прототипа, который потом можно легко и просто перепереть на что-то типа C или Fortran.

Date: 2015-01-11 02:20 pm (UTC)
From: [identity profile] kallbasser.livejournal.com
Наверное, буду оригинален, но мой совет - GPSS
Это специализированный язык для имитационного моделирования. Делал на нем лабы, когда учился. У меня вызывал легкое отвращение, но это потому что я не знал предметной области и в то время несильно хотелось ломать мозг после традиционных языков (по принципу сдал-забыл).
Из языков более широких пожалуй могу посоветовать C# ну или Java если нужна кроссплатформенность. VB.net категорически не советую, там с VBA общего меньше чем различий. Если уж переучиваться то лучше на C# сразу (да и по мне он проще vb.net).

Date: 2015-01-11 02:25 pm (UTC)
From: [identity profile] gryzchick.livejournal.com
На порядки быстрее.

Date: 2015-01-11 02:26 pm (UTC)
From: [identity profile] techwork.livejournal.com
Самый быстрый в скорости работы C++ потом идут Java и C# они хоть и медленее в два раза но их код в 5 раз более лакончный чем C++ и для разработки требуется в три раза меньше времени именно поэтому в современной коммерческой разработке C++ не очень популярен. Для ваших задач не Руби не Питон не подойдут. Да они в два раза лаконичней джаваподобных, и в полтора раза быстрее в разработке НО очень медленны в исполнении. На некоторых задачах просто катастрофически.
Экзотов типа хаскела или го тоже не советую - там нет ничего ради чего бы стоило.
Фреймворки же под C++ Java C# есть под любые задачи и даже в большем количестве чем под остальные языки.
Однако для научных задач никто ничего лучше C++ не придумал.

Date: 2015-01-11 02:27 pm (UTC)
From: [identity profile] drag-drop.livejournal.com
Ну наверное если я написал то не с потолка же...
в молодости столько было споров под пиво что круче си или паскаль, что доказывалось следующим образом ...естественно брался только синтаксис а не библиотеки ... писался код типа for i:=0 to 10 do компилировался в сом формат и смотрелся в дисассемблере ... паскаль побеждал ...никаких лишних инструкций голый аасеблер как будто писалось прямо на нем

Date: 2015-01-11 02:27 pm (UTC)
From: [identity profile] http://users.livejournal.com/__const__/
Навскидку: раз, два.
Ну и читать код, который в примерах с CUDA идёт.

Date: 2015-01-11 02:27 pm (UTC)
From: [identity profile] iisus.livejournal.com
у вас своя версия?

Date: 2015-01-11 02:28 pm (UTC)

Date: 2015-01-11 02:29 pm (UTC)
From: [identity profile] amosk.livejournal.com
Вот этому чуваку я верю больше:
http://blog.codinghorror.com/the-day-performance-didnt-matter-any-more/

Теперь буду рад выслушать и ваши аргументы ))

Date: 2015-01-11 02:29 pm (UTC)
From: [identity profile] bougakov.livejournal.com
Всё равно learning curve куда как короче, чем при перескакивании с VB на тот же Python. Интенсивное гугление, копипейст из найденных кусков кода - и в очень короткие сроки имеем уродливый кусок кода, который, тем не менее, работает.

А уж потом можно выдохнуть и повыбирать, какой бы язык из современных поизучать на досуге.

P.S. Вдруг сообразил, что никто не предложил старый "полноценный" Visual Basic 6.0 - http://rutracker.org/forum/viewtopic.php?t=2514447 Синтаксис идентичен синтаксису VBA - т.е. переучиваться не надо, работать будет однозначно быстрее. Чем не вариант?

Date: 2015-01-11 02:29 pm (UTC)
From: [identity profile] techwork.livejournal.com
зависит и от языка - языки с лакончным описанием при компиляции создают слишком длинную типовую последовательность. Именно поэтому асемблер и работает априори быстрее всех, но программировать на нём очень долго и сложно.

January 2019

S M T W T F S
  12345
6789101112
1314 1516171819
20212223242526
2728293031  

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 8th, 2026 03:49 pm
Powered by Dreamwidth Studios