Посоветуйте язык программирования
Jan. 11th, 2015 02:41 pmЯ всю жизнь программировал только на бейсике, на разных его версиях. Так получилось. Когда писал кандидатскую, набралось очень много таблиц с данными (это были морфологические признаки морских ежей), и я задолбался обсчитывать их на калькуляторе. Поэтому быстренько освоил бейсик (тогда персональные компьютеры IBM только начали появляться, и к ним прилагался язык GW-Basic). Освоил - и сразу почувствовал себя человеком. С тех пор не переучивался, сейчас пишу все свои программки на VBA в MS Access. То есть в программировании я дилетант, но опытный. Программированием пользуюсь сейчас для имитационного моделирования эволюционных процессов в популяциях. Подумываю об одной новой модели, но понимаю, что на VBA она будет работать невыносимо медленно. Насколько я понимаю, программа, написанная почти на любом другом языке, компилируемом, будет работать в разы быстрее. Вопрос такой: какой из этих языков мне будет быстрее и проще всего освоить? Времени, сил и желания преодолевать трудности и вникать в программистские проблемы - не имеется. Мне бы этот язык просто скачать (можно купить, если не слишком дорого), освоить за пару-тройку дней - и вперед. Т.е. главное, чтобы он был максимально простым в освоении для того, кто знает бейсик, без всяких интеллектуальных "понтов", но работал хотя бы раз в 10 быстрее.
no subject
Date: 2015-01-11 05:18 pm (UTC)no subject
Date: 2015-01-11 05:18 pm (UTC)no subject
Date: 2015-01-11 05:19 pm (UTC)no subject
Date: 2015-01-11 05:19 pm (UTC)2. Что такого нет в С++ образца пусть даже 99 года, что помешает реализовывать алгоритмы имитационного моделирования? Уж не ORM и WCF вы туда собрались прикручивать?)))
no subject
Date: 2015-01-11 05:19 pm (UTC)Нет, потому что вы имеете не один способ не найти где-то того, что ожидаете.
Возврат указателя на стек, free, оказавшийся на одну закрывающуюся фигурную скобку выше, чем того хотелось бы, ошибки разыменовывания указателей, когда вы думаете, что меняете данные в одном массиве, а на самом деле меняете все, что угодно, но только не то, что нужно. И когда вам понадобилось это "все, что угодно", то там оказывается не то, что вам нужно.
no subject
Date: 2015-01-11 05:21 pm (UTC)no subject
Date: 2015-01-11 05:22 pm (UTC)no subject
Date: 2015-01-11 05:24 pm (UTC)no subject
Date: 2015-01-11 05:28 pm (UTC)no subject
Date: 2015-01-11 05:28 pm (UTC)no subject
Date: 2015-01-11 05:29 pm (UTC)Кстати, а вы знаете sql, если работаете с таблицами в access? Возможно причина ваших тормозов - работа с таблицами без скл.
no subject
Date: 2015-01-11 05:29 pm (UTC)ООП-языки вообще - очень спорная вещь для большинства задач, которые мне встречались (а работал я во многих областях). Именно то, о чем вы говорите - деревья наследования и куча классов, за которыми в результате теряется сама суть задачи. Это не только для научных расчетов так, это вообще всегда так. Просто в задачах вроде веб-серверов альтернативные (очень эффективные и быстрые) подходы требуют некоторого знания абстрактной математики и редко изучаются. Поэтому обычно предпочитают задачу решать руками через ООП, а альтернатив часто вообще не знают. Может где-то про них слышали, но использовать боятся.
no subject
Date: 2015-01-11 05:30 pm (UTC)>>Тот же C при работе с массивами данных не может обойтись без указателей, а работа с ними для пришедшего из Basic "опытного дилетанта" - это не реально.
Я говорю что реально. Да если вы лезете в дебри, мутите списки и прочее - то уж это ваши проблемы. Просто тупо аллокейтить памяти для данных в си - это совсем не сложно. Ни для кого.
no subject
Date: 2015-01-11 05:36 pm (UTC)В обработке больших данных, которой я тоже позаниматься успел, та же петрушка. Когда база весит около 100 гигов и когда стремишься засосать в ОЗУ максимум, сколько туда вообще влезет, чтобы не прыгать головкой по диску, считать память начинаешь тоже уже очень аккуратно. 16 гигов на один массив, 16 гигов на другой, и следишь, чтобы все это объем физической памяти не превысило, а то улетишь в своп.
no subject
Date: 2015-01-11 05:36 pm (UTC)Сам программирую в основном на Java/SQL/Javascript, раньше писал еще на C/C++. Иногда перехожу на Python, когда за полдня-день надо решить отдельно стоящую задачу и отдать проект другим людям. Идет легко, даже после долгого перерыва :)
no subject
Date: 2015-01-11 05:37 pm (UTC)Вот. А как учить .NET? Вот, я эту платформу не знаю, и, допустим, хочу что-нибудь на ней сделать. Ну там, график нарисовать. Набираю в гугле «plotting .NET». На каком языке будут примеры кода? Предлагаете учить сразу оба и особенности перевода между ними?
no subject
Date: 2015-01-11 05:40 pm (UTC)no subject
Date: 2015-01-11 05:42 pm (UTC)no subject
Date: 2015-01-11 05:43 pm (UTC)идеология там примитивная если не лезть в дебри. а постепенно, используя, потихоньку сам собой "дебри" усвоишь. от простого к сложному.
no subject
Date: 2015-01-11 05:43 pm (UTC)Как правило, на нескольких, среди которых обязательно будут C# и VB. Во всяком случае, в MSDN именно так. Т.е. одно и то же решение дублируется на двух и более языках.
no subject
Date: 2015-01-11 05:45 pm (UTC)2) Зачем изучать старьё? Сторонние библиотеки можно будет скомпилировать?
no subject
Date: 2015-01-11 05:46 pm (UTC)no subject
Date: 2015-01-11 05:47 pm (UTC)Очень удобная для работы с таблицами и БД, но противопоказанная для математики: кушает много памяти и не позволяет эффективно использовать кэш при расчётах.
no subject
Date: 2015-01-11 05:50 pm (UTC)ООП эффективно для задач, которые легко представляются в виде диаграммы обьекты-акторы-действия, для обработки данных я бы рекомендовал зубодробительный хаскель, но его не назвать легким в освоении, особенно после бейсика = ) хаскель, кмк, вообще лучше осваивать людям после серьезного матана и без опыта в программировании.
no subject
Date: 2015-01-11 05:50 pm (UTC)