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

Date: 2015-01-12 02:01 am (UTC)
From: [identity profile] http://users.livejournal.com/_xacid_/
http://msdn.microsoft.com/ru-ru/library/dd233154.aspx

http://fsharp.org

Date: 2015-01-12 03:45 am (UTC)
From: [identity profile] victor-chapaev.livejournal.com
Очень хорошо, если для вас важна поддержка более современных стандартов С++, но тогда вы, скорее всего, профи в программировании, а не прикладной кодер. Вам-то я билдер 5 не советую

Date: 2015-01-12 04:16 am (UTC)
From: [identity profile] zaikinpv.livejournal.com
Цитата: "кто знает бейсик, без всяких интеллектуальных "понтов", но работал хотя бы раз в 10 быстрее."

Python - более чем достаточен и полностью соответствует задаче. Если надо в 100-1000-100000 быстрее, то не факт, что Python не справится.

Date: 2015-01-12 04:38 am (UTC)
From: [identity profile] guga50.livejournal.com
с такой что функция завершилась. всё что осталось от неё - это уже невсчёт.

Date: 2015-01-12 04:40 am (UTC)
From: [identity profile] alex-197.livejournal.com
лучший способ получить по башке - предположить, что оно будет работать - удачи в ебле с отладкой. Это вы еще не встречали прикол, когда работособность программы зависит от CPU - Intel - работает, AMD - в зависимости от ветра.

Date: 2015-01-12 04:43 am (UTC)
From: [identity profile] alex-197.livejournal.com
плюс код НЕ НУЖНО ПЕРЕПИСЫВАТЬ FROM SCRATCH - просто берете VBA и конвертите его в vb.net прямо в студии.

Date: 2015-01-12 04:45 am (UTC)
From: [identity profile] alex-197.livejournal.com
лучший способ получить по башке - предположить, что оно будет работать - удачи в ебле с отладкой. Это вы еще не встречали прикол, когда работособность программы зависит от CPU - Intel - работает, AMD - в зависимости от ветра.

В качестве прикола - почему автору никто Clipper не посоветовал?:)

Date: 2015-01-12 06:30 am (UTC)
From: [identity profile] http://users.livejournal.com/_ddd_/
До сих пор достаточно активно пишу на vb6, мне его возможностей хватает, правда приходится очень активно использовать апи и различные костыли. Скажите а с vb6 кодом можно будет провернуть такую конвертацию? Не хотелось бы терять полтора десятилетия наработок.

Date: 2015-01-12 06:34 am (UTC)
From: [identity profile] http://users.livejournal.com/_ddd_/
Один select с полной выборкой и занесением ее в массив на порядок быстрее, чем дерганье базы по каждому запросу, особенно если база большая. Даже занесение выборки в одну строковую переменную и последующий instr по ней (до известных пределов, конечно) будет шустрее.
Работа же с массивом по определению намного быстрее, чем обращения к БД.

Занимаюсь парсингом, размеры БД достигают десятков миллионов записей, и если по каждому чиху делать sql-запрос, то обработка будет идти годами. Правда, с массивами таких масштабов другая проблема - можно вылететь в какой-нибудь out of memory, но это решаемо.

Date: 2015-01-12 06:44 am (UTC)
From: [identity profile] http://users.livejournal.com/_ddd_/
До сих пор пишу на vb6, ЧЯДНТ?
Проблема vb6 в плохой репутации, пренебрежительном отношении и том, что 95% программистов даже не подозревают обо всех его возможностях, т.к. пересаживаются на другой язык до того, как успевают нормально выучить этот.

Date: 2015-01-12 06:46 am (UTC)
From: [identity profile] Степанов Виталий (from livejournal.com)
Неясно по какой причине у вас тормозит (будет тормозить на новой модели). Есть два варианта:
1. Время тратится на сложные расчеты с данными
2. Время тратится на доступ к таблицам, то есть на задачи типа - найти строку в таблице, считать из нее данные, обработать и записать в ту же строк/добавить новую.
Если второй вариант, то уход с VBA вряд ли даст вам увеличение производительности в разы.
Тут может помочь запись промежуточных результатов в память (вам это уже советовали) или оптимизация таблиц.
Если вы работали в акцессе, значит таблицы делать вы умеете и наверно строить визуальные запросы тоже. Может помочь другая стрктура таблиц или добавление ключевых полей.

Date: 2015-01-12 07:07 am (UTC)
kuzh: (Turkmen)
From: [personal profile] kuzh
Прям таки узнать новое слово "маршализация" - очень необходимо.

Date: 2015-01-12 07:26 am (UTC)
From: [identity profile] epoxyde.livejournal.com
Ассемблер?

Date: 2015-01-12 07:27 am (UTC)
From: [identity profile] http://users.livejournal.com/_ddd_/
>А регекспы

Есть, а что?

Date: 2015-01-12 07:36 am (UTC)
From: [identity profile] zlata-gl.livejournal.com
Ух ты !
И до этого дошли !
Я 10 лет на нем работаю, очень люблю, но не занималась оценкой быстродействия.
Даже слепила одну программку для моделирования эволюции МТ и У - геномов.

Date: 2015-01-12 07:45 am (UTC)
From: [identity profile] ilfn.livejournal.com
Уже стандарт, де факто, в образовании и науке, по-моему. Студенты с 3-го курса учат. Всю автоматизацию на нем делаем. Удобно, все платы ввода-вывода тоже от NI!

Date: 2015-01-12 07:49 am (UTC)
From: [identity profile] guga50.livejournal.com
тоже самое когда после компиляции с жёсткой оптимизацией по скорости программа падает, а с О2 идёт без проблем.
ничего удивительного. это проблемы с компилятором.

Date: 2015-01-12 07:51 am (UTC)
From: [identity profile] zlata-gl.livejournal.com
Еще пара слов за Дельфи.
Одна особенность, про которую пока никто не упомянул.

Дельфи очень подходит для изучения "Эволюции кооперации". Не в смысле писания программ на нем, а в смысле - посмотреть сообщества в ыртырнете, и как люди себя ведут.
Дельфушники (наряду с линуксоидами) - прирожденные кооператоры. "Дельфи" так устроен, что новые компоненты с легкостью устанавливаются на "палитру" и равноправны с аборигенами. И люди с радостью дарят свои новые компонениы "по секрету всему свету".
Когда работала - почти ничего не писала сама. Шла к "полякам" (уже не помню, как назывался тот сайт) - находила ВСЕ.

Однажды мне надо было что-то состряпать на VBASIC. Посмотрела я на скромненькую палитру и стала искать - где взять и как добавить новые компоненты.
Не нашла. Обиделась.

Date: 2015-01-12 08:39 am (UTC)
From: [identity profile] hate-all.livejournal.com
Мне LINQ без знания основ SQL кажется немного странным. Но да, если в VS писать, то, конечно, LINQ
Просто то же понимание соединений, фильтров, упорядочивания

Date: 2015-01-12 08:49 am (UTC)
From: [identity profile] agalakhov.livejournal.com
Увы, реальность такова, что такой код присутствует в 99.9% закрытого софта. Как раз когда код пишется по идеологии ООП, чтобы "в разработке могли участвовать все, а не только узкие специалисты", такие штуки обязательно появляются. Особенно когда разработчики обучены исключительно ООП на Java/C# и никогда не проходили хардкорных курсов вроде построения и доказательства алгоритмов. Я встречал довольно много вполне успешных и развивающихся фирм, в которых подобная разработка считается нормой - ведь продукт выпускается, работает и хорошо продается.

Date: 2015-01-12 09:42 am (UTC)
From: [identity profile] 3seemingmonkeys.livejournal.com
LINQ удобнее чем SQL, т.к. подзапросы можно в переменных хранить
и вместо SQL синтаксиса использовать методы расширения

Date: 2015-01-12 09:49 am (UTC)
From: [identity profile] hate-all.livejournal.com
Удобнее, не спорю :) Вместо языка запросов функции. Но все равно для связи между таблицами, соединениями и т.д. - структуру таблиц представлять нужно - в скуле это прозрачнее.

Date: 2015-01-12 10:21 am (UTC)
From: [identity profile] macroevolution.livejournal.com
Спрашивали. Но описывать такой пример - это очень долго. И в данном случае не нужно. Я точно знаю, что мне нужно, и вопрос сформулировал оптимальным образом.
"Может вобще программировать не нужно и можно воспользоваться готовым решением"
Читатели этого блога в большинстве своем не считают автора идиотом. Это и другие "умолчания" делают общение возможным и осмысленным.

Date: 2015-01-12 10:39 am (UTC)
From: [identity profile] 3seemingmonkeys.livejournal.com
entity framework умеет скрывать подробности, например реализацию many to many
с code first о реляционных базах данных вообще можно ничего не знать - только айдишники проставить
Edited Date: 2015-01-12 10:40 am (UTC)

Date: 2015-01-12 10:50 am (UTC)
From: [identity profile] hate-all.livejournal.com
Я SQL изучал до появления LINQ и сейчас мне многое проще на скуле нарисовать, впрочем сейчас и программировать не нужно с нынешними средами и подходами :) А в скуле тем более, с наличием конструкторов запросов особо париться не нужно уже давно.
Я в VS давно не пишу, уже лет 7-8. Так что глубоко не влезал в нынешние тулзы.
Спасибо за наводку, может гляну.

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