Наконец, за Python не нужно платить. Python изначально разрабатывался (и про-должает разрабатываться) на базе модели открытого исходного кода и свободного распространения. Вы можете загрузить и установить практически любую версию Python, использовать ее для разработки коммерческих или личных приложений, и вам ни копейки не придется платить за это.
Хотя обстановка постепенно меняется, некоторые люди до сих пор опасаются бес-платных продуктов и недостаточного уровня поддержки по сравнению с платной моделью. Тем не менее для многих авторитетных компаний Python стал ключевой частью бизнеса. Google, Rackspace, Industrial Light & Magic, Honeywell — и это лишь несколько примеров. Эти и многие другие компании справедливо считают Python очень надежным, стабильным и хорошо поддерживаемым продуктом с активным и знающим сообществом пользователей. В интернет-группах Python даже на самый трудный вопрос можно получить ответ быстрее, чем на большинстве телефонных линий технической поддержки, причем ответ будет правильным и бесплатным. PYTHON И ПРОДУКТЫ С ОТКРЫТЫМ КОДОМ
Python не только бесплатно распространяется, но и его исходный код находится в открытом доступе; при желании вы можете изменять, улучшать и расширять его. Вы можете заняться этим самостоятельно или нанять кого-нибудь, кто сделает это за вас. В любых программных продуктах с закрытым исходным кодом возможность модификации при сколько-нибудь разум-ных затратах обычно отсутствует.
Если вы впервые сталкиваетесь с миром продуктов с открытым исходным кодом, следует понимать, что вы можете не только свободно использовать и изменять Python, но и вносить свой вклад в его совершенствование (и это даже приветствуется). В зависимости от ваших обстоятельств, интересов и квалификации это может быть финансовый вклад (например, пожертвование для PSF — Python Software Foundation), участие в одной из специальных групп (SIG), тестирование и обратная связь по выпускам базовой версии Python или одного из вспомогательных модулей или применение разработок (ваших или вашей компании) в со -обществе. Конечно, уровень участия зависит только от вас; но если вы можете что-то сделать для других — это определенно стоит того. Здесь общими усилиями создается нечто весьма полезное, и у вас есть возможность внести свой вклад.
Итак, в пользу Python есть масса доводов: выразительность, удобочитаемость, богатый набор библиотек, кроссплатформенность. И распространение с открытым кодом. В чем же подвох?
1.3. Не самые сильные стороны Python Хотя Python обладает многими преимуществами, ни один язык не решает всех про-блем, так что Python не станет идеальным решением на все случаи жизни. Чтобы решить, подходит ли Python для вашей ситуации, также нужно отметить те области, в которых Python проявляет себя не лучшим образом.
1.3.1. Python не самый быстрый язык
Один из возможных недостатков Python — скорость выполнения кода. Python не является компилируемым языком. Вместо этого код сначала компилируется во внутренний байт-код, который затем выполняется интерпретатором Python. В не-которых областях (например, обработке строк с использованием регулярных вы-ражений) у Python существуют эффективные реализации, не уступающие по ско-рости любым программам C, а то и превосходящие их. Тем не менее в большинстве
случаев при использовании Python получаются программы более медленные по сравнению с такими языками, как C. Впрочем, на это следует взглянуть здраво: современные компьютеры обладают такой вычислительной мощностью, что для большинства приложений скорость разработки важнее скорости выполнения, а программы на Python обычно пишутся намного быстрее. Кроме того, Python легко расширяется модулями, написанными на C или С++; они могут использо-ваться для выполнения частей программы, создающих интенсивную нагрузку на процессор.
1.3.2. Python не является лидером по количеству библиотек Хотя Python включает превосходную подборку библиотек и еще много библиотек находится в свободном доступе, Python не является лидером в этом отношении. Для таких языков, как C, Java и Perl, доступны еще б ˆольшие подборки библиотек. Иногда они предоставляют решение в тех случаях, когда в Python его нет, или пред-лагают несколько вариантов там, где Python предлагает только один вариант. Тем не менее такие ситуации обычно оказываются узкоспециализированными, а Python при необходимости легко расширяется — либо кодом Python, либо существую-щими библиотеками на C и других языках. Практически для всех повседневных вычислительных задач в библиотеке Python реализована превосходная поддержка.