Python

Почему все хвалят питон и везде он стал очень востребован, если все говорят, что он в десятки раз медленнее?

Т. е. это интерпретируемый, а не компилируемый язык и все говорят, что программы на нем в десятки, а иногда и в сотни раз медленнее работают. Но при этом, почему-то его все используют?

Не понимаю логику. Зачем использовать заведомо медленный язык?
Несколько причин.

1.
Изучать программирование нужно не с таких языков, как С/C++/C#, а с Питона, так как он приучает к хорошему стилю программирования. Потом те же самые С/C++/C# можно будет выучить гораздо быстрее, чем если начинать изучать программирование с этих языков.

2.
В крупных программистких фирмах, как правило, сначала на Питоне пишут прототип программы, где очень быстро разрабатывают и отрабатывают основной алгоритм решения задачи заказчика. А уже потом этот алгоритм переписывают на С/C++/C# чтобы интегрироваться в АСУ заказчика. На С/C++/C# быстро разработать алгоритм невозможно. Эти языки не предназначены для разработки алгоритмов.

3.
Часто бывает, что скорость работы Питона и С/C++/C# действительно отличается в тысячу раз. Например, на С/C++/C# программа работает несколько микросекунд, а на Питоне только несколько микросекунд. Для многих практических целей это бывает несущественно.

4.
У Питона просматриваются лучшие перспективы, чем у С/C++/C#.
Дело в том, что самый быстрый язык программирования, это ассемблер. Но много ли программ пишется на ассемблере? Проигрыш ассемблера в трудности его освоения и медленности написания программ оказался более решающим, чем выигрыш в скорости исполнения программ. В соревновании Питона и С/C++/C# намечается та же самая ситуация по мере увеличения производительности процессоров.

5.
Питон не всегда проигрывает языкам С/C++/C#.
Библиотека матричных вычислений на Питоне NumPy создана на базе библиотек языка Фортран. А Fortran до сих пор побеждает языки С/C++/C# в скорости математических вычислений в пространствах большой размерности и чем больше размерность пространства, тем Фортран более быстрый по сравнению с С/C++/C#. А на базе библиотеки NumPy в Питоне реализовано очень много библиотек работы с большими данными и построения нейросетей, в первую очередь, гугловская библиотека TensorFlow. (На базе C++ припоминаю только питоновскую библиотеку нейросетей Theano, которую Монреальский университет перестал поддерживать в 2018 году, видимо, посчитав, что выбор в качестве базы С++, был ошибочным.) В ближайшие годы будет требоваться очень много специалистов по машинному обучению и обработке больших массивов данных. И Питон, в отличие от С/C++/C#, оказался очень удачным языком для этой тематики.

Конечно, не всё так гладко у Питона. Я считаю, что в web-разработке Питон оказался очень неудачным языком и сайты лучше создавать на PHP (на том самом PHP, который еще лет 10 назад считался технологическим уродцем, а сейчас после появления 7-й версии просматривается как очень перспективный язык веб-разработки).
Василий Хренов
Василий Хренов
9 288
Лучший ответ
Я 42 года пишу программы, и, как оказалось, из них более 30 лет на различных интерпретаторах... С финансовой точки зрения - ни разу об этом не пожалел, мои заказчики - тоже! :)))

Кстати, мой знакомый еще в 80-е годы написал программу для начисления зарплаты на Ассемблере! Да, работала она фантастически быстро, но после того, как бухгалтера пару раз попросили его "внести чуток изменений" - он плюнул на свою сверхбыструю программу и быстренько переписал ее на медленный Фокспро...
AI
Askar Ismahov
91 300
Медленней чего? Кода ети десятки раз исчисляются миллисекундами разница не так страшна становится
AS
Alexandr Serebrian
88 823
Виталий Бородин Компилируемых языков. С++ и С# тех же. По крайней мере мне так говорят, я с питоном не знаком совсем.
Дык питон то медленный. А вот базы данных, где данные хранятся, еще медленнее. Так что скоростью языка можно пренебречь.
Потому что не все программы требуют "скорости". Она становится критичной, когда за секунду приходится делать больше миллиона операций. А те куски кода, которые требуют такое, можно переписать на C++ и спокойно внедрить этот код в питон.

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