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

Date: 2015-01-11 03:51 pm (UTC)
From: [identity profile] tgur.livejournal.com
Согласен, в данном случае VB под .NET - хорошее решение. Переучивание есть, но небольшое.
Edited Date: 2015-01-11 03:51 pm (UTC)

Date: 2015-01-11 03:51 pm (UTC)
From: [identity profile] provocateur-b.livejournal.com
Честное слово, я не математик. Если матрицы перемножаются вручную, то и на js это можно сделать.

Date: 2015-01-11 03:52 pm (UTC)
From: [identity profile] guga50.livejournal.com
просто не красиво вставилось )))
ну прикольно же... разве нет?

Date: 2015-01-11 03:53 pm (UTC)
From: [identity profile] natvalbr.livejournal.com
http://macroevolution.livejournal.com/186606.html?thread=12744174#t12744174

Date: 2015-01-11 03:53 pm (UTC)

Date: 2015-01-11 03:54 pm (UTC)
From: [identity profile] natvalbr.livejournal.com
http://macroevolution.livejournal.com/186606.html?thread=12744174#t12744174

Date: 2015-01-11 03:55 pm (UTC)
From: [identity profile] juncus.livejournal.com
Освоение за пару дней и работать раз в 10 быстрее - это старый шестой бейсик или другие компилируемые бейсики от менее известных фирм. Вам тут уже бесплатный бейсик советовали. Если чуток помедленнее и поновее, то VB.NET. Всякие руби-питоны за пару-тройку дней не освоите и в скорости не добавите. Если нужна именно производительность, то сразу смотреть в сторону С (возможно с плюсами), но там не за пару дней.

Date: 2015-01-11 03:55 pm (UTC)
From: [identity profile] zelych.livejournal.com
Питон можно рассматривать как обёртку над быстрыми сишными реализациями строк и массивов (numpy).
По сравнению с бейсиком на некотором классе задач перимущества будут катастрофическими.

Date: 2015-01-11 03:56 pm (UTC)
From: [identity profile] anton-yu-b.livejournal.com
Простую во входе, но достаточно мощную систему алгебраических вычислений. Типа Maplesoft. Все в комплекте, что советовали про Python. Но сшито более бесшовно, всегда можно задачу на ходу одним движением перевести к смежной, что угодно провизуализировать и протрассировать. Да, интерпретируема. Но это мне помешало один раз на совсем уж ненормальных размерах для своей природной области данных. И то - не стал отказываться: из нее есть шлюз в матлаб, в котором составлением лишь одной пользовательской ф-ии посчиталось все нужное.

P.S. важный момент - интерактивная на всех уровнях, бесподобно структурированнная справка. Без знания PC и английского, мне хватило этой справки за несколько ночных часов сделать курсовую с первого включения программы ночью у товарища - не было тогда у нас сильно PC. Сейчас, конечно, программа стала мощнее, но так, что если лишь искать этой мощности - базовая простота вроде вполне жива.

Думаю, что за полу/денек - другой занятий Вы бы сделали свой выбор.
Edited Date: 2015-01-11 04:07 pm (UTC)

Date: 2015-01-11 03:56 pm (UTC)
From: [identity profile] stealth-nsk.livejournal.com
Я сам не очень люблю JavaScript, но во-первых его действительно легко изучать, а во-вторых V8 по скорости сопоставима с виртуальными машинами .NET и Java. Так что в рамках поставленной задачи я бы советовал его. А математические библиотеки - вообще не проблема.

Date: 2015-01-11 03:57 pm (UTC)
From: [identity profile] techwork.livejournal.com
http://benchmarksgame.alioth.debian.org/u32/csharp.php обсыхай. и учись пользоваться гуглом.

Date: 2015-01-11 03:57 pm (UTC)

Date: 2015-01-11 03:57 pm (UTC)
From: [identity profile] rav-erev.livejournal.com
Да, парадигма там заточена под C#. Но при всем том привычный синтаксис лучше, чем непривычный. Ваш совет был бы хорош для программиста. Если бы хозяин журнала был программистом, я бы ему тоже посоветовал С#. Но для исследователя, занимающегося программированием время от времени, критерий "изучить побыстрее" тоже немаловажен. Для человека, знающего VBA, проще будет работать на Visual Basic. Тогда придется учить "только" сам .NET.

Date: 2015-01-11 03:58 pm (UTC)

Date: 2015-01-11 03:59 pm (UTC)
From: [identity profile] photo pro (from livejournal.com)
дело в том что под приличные языки рассчитанные на работу с математикой есть бинарные библиотеки несравнимо быстрее работающие нежели все писать вручную.

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

Я свой i-7 ни одним ныне существующим приложением не могу прилично загрузить кроме дебайеризации (матричного вычисления) сотнемегапиксельных матриц

Date: 2015-01-11 04:00 pm (UTC)
From: [identity profile] lvqcl.livejournal.com
Вопрос в том, понадобятся ли эти библиотеки? Я вот посмотрел на Biopython - по-моему, он только на ДНК-последовательности заточен.
Ну и библиотеки для линейной алгебры, многомерных матриц, фурье-преобразований тоже могут автору не помочь.

Date: 2015-01-11 04:00 pm (UTC)
From: [identity profile] natvalbr.livejournal.com
http://macroevolution.livejournal.com/186606.html?thread=12744174#t12744174

Date: 2015-01-11 04:03 pm (UTC)
From: [identity profile] psilogic.livejournal.com
Может быть. Но без гарантий.

В случае C/C++ у меня по крайней мере есть уверенность, что с производительностью будет все так хорошо, как только возможно (ну, ассемблер, еще круче - но только в теории, уж слишком много тонкостей). В "сях" тонкость по большому счету одна - не забыть включить режим Release после отладки :)

Ну и я взялся бы помочь советом по ходу дела - в разумных объемах, но бесплатно - чисто как уважаемому человеку.

Date: 2015-01-11 04:04 pm (UTC)
From: [identity profile] natvalbr.livejournal.com
думаю, имеется ввиду, что не надо платить как за тот же Delphi.

Date: 2015-01-11 04:05 pm (UTC)
From: [identity profile] pssshik.livejournal.com
О_о что сказать-то хотели?
Program Source Code CPU secs Elapsed secs Memory KB Code B ≈ CPU Load
n-body
C# Mono 22.04 22.04 19,412 1305 0% 1% 1% 100%
Java 24.50 24.52 19,636 1424 1% 0% 1% 100%
fannkuch-redux
C# Mono 64.48 64.50 18,616 564 0% 1% 0% 100%
Java 67.48 67.50 21,448 1282 1% 1% 0% 100%
pidigits
C# Mono 3.98 3.98 19,636 1026 1% 1% 1% 100%
Java 4.14 4.14 21,844 938 1% 0% 1% 100%
mandelbrot
C# Mono 30.55 30.56 51,544 986 1% 0% 1% 100%
Java 26.96 26.98 59,240 796 1% 0% 0% 100%
fasta-redux
C# Mono 2.30 2.30 19,320 1438 1% 0% 1% 100%
Java 1.93 1.93 21,668 1443 3% 1% 1% 100%
binary-trees
C# Mono 20.10 20.13 114,172 654 0% 1% 1% 100%
Java 16.41 16.44 521,176 584 0% 1% 1% 100%
fasta
C# Mono 7.15 7.16 19,412 1180 1% 0% 1% 100%
Java 4.93 4.93 27,668 2457 0% 1% 0% 100%
reverse-complement
C# Mono 2.96 2.97 175,520 1099 1% 0% 1% 100%
Java 1.69 1.69 519,612 745 0% 1% 0% 100%
spectral-norm
C# Mono 29.47 29.48 19,476 459 0% 1% 0% 100%
Java 16.31 16.31 20,440 950 1% 1% 0% 100%
regex-dna
C# Mono 73.19 73.22 375,576 594 0% 1% 1% 100%
Java 22.12 22.13 564,952 1377 2% 1% 1% 100%
k-nucleotide
C# Mono 103.48 103.54 319,112 1404 1% 1% 1% 100%
Java 31.18 31.21 1,189,812 1844 1% 1% 0% 100%

Date: 2015-01-11 04:05 pm (UTC)
From: [identity profile] natvalbr.livejournal.com
важно ещё общество, которое будет подсказывать если какие-то вопросы возникнут.

Date: 2015-01-11 04:06 pm (UTC)
From: [identity profile] natvalbr.livejournal.com
http://macroevolution.livejournal.com/186606.html?thread=12744174#t12744174

Date: 2015-01-11 04:06 pm (UTC)
From: [identity profile] zelych.livejournal.com
После трёх лабораторок люди пишут в сотне строчек и с ошибками то, что на питоне пишется в пять строчек (тоже с ошибками).

А три года нужно чтобы на С++ научиться делать что-нибудь такое за приемлемое время: http://nbviewer.ipython.org/github/barbagroup/AeroPython/blob/master/lessons/06_Lesson06_vortexLift.ipynb

Date: 2015-01-11 04:07 pm (UTC)
From: [identity profile] maz-d.livejournal.com
мне кажется ключевое тут

/после, скажем, примерно 20 лет на всяких языках, включая C/C++/C#/Java etc./

у меня такого бэкграунда нет, и мне кажется человеку без такого бэкграунда питон освоить проще чем ту же джаву особенно если ставить цель "освоить за 2-3 дня". Конечно скорость - узкое место. Но думается мне человеку нужна не только скорость, иначе бы все писали на ассемблере =)

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