Но, возможно, основная причина использования Python покажется вам неожи-
данной: людям обычно нравится этот язык. Им действительно нравится програм-
мировать на нем, а не относиться к нему как к еще одному инструменту. Некоторые
разработчики говорят, что им не хватает какой-то особенности Python, когда они
выну ждены программировать на другом языке. И это отличает Python от его «коллег».
Когда не стоит использовать Python
Python не всегда будет наилучшим выбором.
Он не предустановлен по умолчанию. В приложении Г показано, как установить
Python, если он еще не установлен на вашем компьютере.
Python довольно быстрый для большинства приложений, но его скорости
может оказаться недостаточно для наиболее требовательных из них. Если ваша
программа проводит большую часть времени за вычислениями (в технических
терминах такое называется «ограничена быстродействием процессора» (CPU-bound)),
38
Глава 1. Python: с чем его едят
то языки С, С++ или Java справятся с задачей гораздо лучше, чем Python. Но не
всегда!
Иногда более качественный алгоритм (пошаговое решение) для Python превос-
ходит по скорости неэффективный алгоритм для С. Более высокая скорость
разработки для Python дает вам больше времени для экспериментов над аль-
тернативными решениями.
Во многих приложениях программа «скрещивает пальцы» в ожидании ответа
от сервера. Центральный процессор (компьютерный чип, который делает все
расчеты) обычно не задействован, поэтому время выполнения статических
и динамических программ будет примерно одинаковым.
Стандартный интерпретатор Python написан на С и может быть улучшен с по-
мощью дополнительного кода. Я рассмотрю этот вопрос в разделе «Оптимизи-
руем ваш код» главы 12.
Интерпретаторы для Python становятся быстрее. Java был ужасно медленным,
когда только появился, и для его ускорения было потрачено много времени
и денег. Языком программирования Python не владеет ни одна корпорация,
поэтому он улучшается более плавно. В подразделе «PyPy» упомянутого раз-
дела главы 12 я расскажу о проекте PyPy и его приложениях.
Вы можете писать очень трудоемкое приложение, и, что бы вы ни делали, Python
не будет соответствовать вашим потребностям. Тогда, как сказал Иен Холм
в фильме «Чужой», примите мои соболезнования. Обычно альтернативой в та-
ком случае являются языки программирования С, С++ и Java, однако решением
может стать и более новый язык программирования — Go (http://golang.org/)
(который, по ощущениям, похож на Python, но имеет более высокую произво-
дительность, вроде С).
Python 2 против Python 3
Самая большая проблема, с которой вы можете столкнуться сейчас, — это выбор
одной из двух существующих версий Python. Python 2, кажется, существовал все гда,
эта версия предустанавливается на компьютеры с операционными системами семей-
ства Linux. Это был отличный язык, но ничто не идеально. В языках программирова-
ния, как и во многих иных областях, одни ошибки поверхностные, и исправить их
легко, а другие — трудно. Решения этих трудных проблем несовместимы: новые про-
граммы, написанные с помощью исправленного языка, не будут работать на старых
системах, а старые программы не будут работать на новых.