Programmierung Quereinsteiger?
Кому не нравится питон может использовать R или Julia в зависимости от типа задач.
ИМХО, если знать библиотеку (например gsl, lapack, blas) и язык, например, С и питон, то скорость написания хоть на питоне, хоть на С/С++, если алгоритм постоянно дергает эту библиотеку, будет одинаков. И время исполнения, если на одном процесссоре, практически тоже. Другое дело, народ стал ленивый и не только не разбирается как память аллоцируется, кешится и треды на процессоры ложатся, поэтому питон и побеждает. А потом представьте, на С/С++ можно столько вольностей нагородить, и потом год начальству отчитываться об успешном поиске багов, а на питоне сложно написать криво. Просто работает, не всегда хорошо, на многопроцессорной системе еще надо сильно потрахаться, чтобы все было именно так, как
надо, на многоуровневых кешах - вообще полное отсутсвие понимания как это в питоне или R сделать, но, ведь работает. А кого сейчас перформанс волнует, у людей-то серьезных задач просто нет.
Другое дело, народ стал ленивый и не только не разбирается как память аллоцируется, кешится и треды на процессоры ложатся, поэтому питон и побеждает.
А зачем это НЕ-программерам надо? Им надо "ехать" а не "шашечки". Мне надо БЫСТРО решить задачу а не написать алгоритмический шедевр. Хотя я и заморачиваюсь оптимизацией по старинке.
А кого сейчас перформанс волнует, у людей-то серьезных задач просто нет.
У нас есть. Моделирование термофизических процессов в наших дивайсах. Но никто на фирме не будет оплачивать разработку своего софта для этой задачи - это много-много человеко-лет выскоквалифицированного труда. Поэтому покупаем лицензию на готовый узкоспециализированный продукт.
Мои задачи все больше скатываются в область ML и создания экспертных систем. И для них не требуется знать тонкости работы с памятью и т.п. в C++.
А зачем это НЕ-программерам надо?
А вы спросите местных форумских программеров, они это умеют? У меня сплошь и рядом возникают такие задачи, и часто питона не хватает. Причем я не заморачиваюсь по поводу алгоритмического шедевра - ибо времени обычно на него нет, но ехать надо. Грубо говоря, без параллелизма и кеш оптимизации и с ними время работы часто отличается в сотни и тысячи раз, и, если не везет, то надо ждать результатов месяцы, но при правильном распараллеливании и кешовой оптимизации - все сводится к минутам расчетов.
Но у всех разные задачи, и, как я говорил, в большинстве задач, что тут люди решают, время расчетов несопоставимо мало со временем имплементации.