Я очень люблю Quora.com. В отличие от StackOverflow, здесь можно найти интересные обсуждения, не связанные с конкретными вопросами, а с общими ощущениями от технологий. Недавно наткнулся, к примеру, на такое обсуждение: What are the main weaknesses of Python as a programming language?

В основном Python ругают за тормознутость, сравнивая с компилируемыми языками. Я уже писал, что считаю это обвинение надуманным. Для меня скорость разработки гораздо важнее. Для CPU bound задач я бы в первую очередь на алгоритмами подумал, а потом использовал Cython. Да и не так уж много таких задач. А если ваш проект весь такой, то какого лешего вы выбрали скриптовый язык для этого?

Несколько удивило, что лямбды ругают достаточно много. Не нравится, что можно сделать лямбду только с одним выражением. По мне так это очень хорошо. Нет соблазна заворачивать в лямбду слишком сложные конструкции. Ругают значимые отступы. По мне - чистой воды вкусовщина.

Первый обоснованный наезд - странное поведение списка в параметрах функции.

>>> def foo(my_list=[]):
...   my_list.append(1)
...   return my_list
...
>>> foo()
[1]
>>> foo()
[1, 1]
>>> foo()
[1, 1, 1]
>>>

Согласен на все сто. Обосновано.

Второй обоснованный наезд - GIL. Но на самом деле не так уж много задач, где можно вляпаться в GIL. И веб это точно не из их числа.

Третий обоснованный наезд - несовместимость 2 и 3 ветки. Появление третьего питона - это большая боль для сообщества. И хотя он появился уже очень-очень давно, до сих пор актуально написание кода на Python 2 с оглядкой на то, что когда-нибудь в светлом будущем будет переезд проекта на Python 3.

Полу обоснованный наезд - отсутствие IDE. Эмм... А для других скриптовых языков есть IDE, которые делают столько же магии, как IDE для Java? Python слишком гибок для IDE. Часто еще на этапе проектирования проекта видно, в каком месте автокомплит отвалится.

А вообще самое важно в языке программирования не синтаксис, а окружение (библиотеки, коммьюнити, проекты, вакансии и т.п.). И с этим у питона все ОК.



c