Кто использует Python?
Вообще же количество пользователей Python значительно больше и вокруг него сплотилось очень активное сообщество разработчиков. Благодаря тому, что Python появился более 19 лет тому назад и получил широкое распространение, он отличается высокой стабильностью и надежностью. Python используется не только отдельными пользователями, он также применяется компаниями для создания продуктов, приносящих настоящую прибыль. Например:
• Компания Google широко использует Python в своей поисковой системе и оплачивает труд создателя Python.
• Служба коллективного использования видеоматериалов YouTube в значительной степени реализована на языке Python.
• Популярная программа BitTorrent для обмена файлами в пиринговых сетях (peer-to-peer) написана на языке Python.
• Популярный веб-фреймворк Арр Engine от компании Google использует Python в качестве прикладного языка программирования.
• Такие компании, как EVE Online и Massively Multiplayer Online Game (MMOG), широко используют Python в своих разработках.
• Мощная система трехмерного моделирования и создания мультипликации Maya поддерживает интерфейс для управления из сценариев на языке Python.
• Такие компании, как Intel, Cisco, Hewlett-Packard, Seagate, Qualcomm и IBM, используют Python для тестирования аппаратного обеспечения.
• Такие компании, как Industrial Light & Magic, Pixar и другие, используют Python в производстве анимационных фильмов.
• Компании JPMorgan Chase, UBS, Getco и Citadel применяют Python для прогнозирования финансового рынка.
• NASA, Los Alamos, Fermilab, JPL и другие используют Python для научных вычислений.
• iRobot использует Python в разработке коммерческих роботизированных устройств. Далее...
Недостатки Python и их описание
После 17 лет работы с языком Python и 12 лет преподавания единственный недостаток, который мне удалось обнаружить, - это скорость выполнения программ, которая не всегда может быть такой же высокой, как у программ, написанных на компилирующих языках программирования, таких как С или C++.
Подробнее о концепциях реализации мы поговорим в следующих статьях. В двух словах замечу, что в современной реализации Python компилирует (то есть транслирует) инструкции исходного программного кода в промежуточное представление, известное как байт-код, и затем интерпретирует этот байт-код.
Байт-код обеспечивает переносимость программ, поскольку это платформоне-зависимый формат. Однако из-за того что Python не создает двоичный машинный код (например, машинные инструкции для микропроцессора Intel), некоторые программы на языке Python могут работать медленнее своих аналогов, написанных на компилирующих языках, таких как С.
Будет ли вас когда-нибудь волновать разница в скорости выполнения программ, зависит от того, какого рода программы вы пишете. Python многократно подвергался оптимизации и в отдельных прикладных областях программный код на этом языке отличается достаточно высокой скоростью выполнения.
Python языком сценариев?
Python - это многоцелевой язык программирования, который зачастую используется для создания сценариев. Обычно он позиционируется как объектно-ориентированный язык сценариев - такое определение смешивает поддержку ООП с общей ориентацией на сценарии. Действительно, для обозначения файлов с программным кодом на языке Python программисты часто используют слово «сценарий» вместо слова «программа». В этой книге термины «сценарий» и «программа» рассматриваются как взаимозаменяемые с некоторым предпочтением термина «сценарий» для обозначения простейших программ, помещающихся в единственный файл, и термина «программа» для обозначения более сложных приложений, программный код которых размещается в нескольких файлах.
Термин «язык сценариев» имеет множество различных толкований. Некоторые предпочитают вообще не применять его к языку Python. У большинства термин «язык сценариев» вызывает три разных ассоциации, из которых одни более применимы к языку Python, чем другие:
Почему программисты используют Python?
Это самый типичный вопрос, который задают начинающие программисты, потому что на сегодняшний день существует масса других языков программирования. Учитывая, что число пользователей Python составляет порядка миллиона человек, достаточно сложно однозначно ответить на этот вопрос.
Выбор средств разработки иногда зависит от уникальных особенностей и личных предпочтений. Однако после обучения примерно 225 групп и более 3000 студентов за последние 12 лет у меня накопились некоторые общие мысли по этому поводу. Основные факторы, которые приводятся пользователями Python, примерно таковы:
Качество программного обеспечения
Для многих основное преимущество языка Python заключается в
удобочитаемости, ясности и более высоком качестве, отличающими его от других
инструментов в мире языков сценариев. Программный код на языке Python
читается легче, а значит, многократное его использование и
обслуживание выполняется гораздо проще, чем использование программного кода на
других языках сценариев. Единообразие оформления программного кода
на языке Python облегчает его понимание даже для тех, кто не участвовал
в его создании. Кроме того, Python поддерживает самые современные
механизмы многократного использования программного кода, каким является
объектно-ориентированное программирование (ООП).