Computerworld, США

Python, как и многие его современники, представляет собой классический язык скриптов

Среди языков, предпочитаемых Web-разработчиками и программистами, особенно теми из них, кто создает открытое программное обеспечение, чаще других используются три — Perl, PHP и Python.

Своей популярностью Python в первую очередь обязан простоте применения, высокому уровню абстракции от аппаратного обеспечения, широким возможностям поддержки рутинных операций, таких как ввод/вывод, управление памятью, типизация данных и связывание переменных, а также (и это, возможно, самое важное) тому факту, что данный язык позволяет значительно увеличить производительность работы программистов.

Python был создан в конце 80-х годов голландским программистом Гвидо Ван Россумом, назвавшим свое детище в честь известного телевизионного комедийного сериала телекомпании BBC про Монти Пайтона.

Python считается языком скриптов, а также языком программирования общего назначения. Его можно использовать как в интерактивном режиме для быстрой разработки и тестирования, так и в обычном режиме, что упрощает повторное применение созданного кода.

Фактически Python не содержит ничего нового — любую из его возможностей можно найти в том или ином языке. Зато здесь утилитарные функции оформлены в простом пакете, который каждый может загрузить и использовать без каких-либо ограничений, даже таких как лицензия GNU Public License.

Как и Java, язык Python имеет небольшое ядро и огромную, расширяемую библиотеку функций и процедур. Таким образом, большая часть того, что программисту, скорее всего, понадобится, уже существует в написанной, оттестированной форме и может быть использована с помощью простых библиотечных вызовов, дополненных небольшим объемом нового кода.

Один из показателей «дружелюбия к пользователям» Python — реализация в нем простой иерархии отступов для группировки фрагментов кода, которая избавляет от необходимости проверять соответствие операторов Begin/End или считать фигурные, квадратные или круглые скобки.

Несмотря на все это, Python — язык программирования общего назначения, который предлагает значительно большую структурированность и поддержку программ, больших, чем простые скрипты на shell, а также более эффективную проверку наличия ошибок, чем ту, которую могут обеспечить языки более низкого уровня, такие как Си.

Python — это объектно-ориентированный язык со встроенными, высокоуровневыми типами данных, в том числе гибкими массивами и словарями. Его можно использовать для решения более крупных задач, чем те проблемы, на которые рассчитаны, например, Awk и даже Perl, и при этом он остается столь же простым в использовании, как и эти языки.

Достоинства Python

В 2000 году в интервью Linux Journal программист, автор и проповедник идей Open Source Эрик Реймонд так рассказал о своем первом опыте использования Python: «За пару часов работы над проектом я отметил для себя, что могу писать работающий код практически со скоростью набора на клавиатуре... Тогда я впервые почувствовал, что Python обладает исключительно хорошей архитектурой.

В архитектуре большинства языков так много несуразностей и разногласий, что вы узнаете большую часть их возможностей задолго до того, как количество совершаемых вами ошибок падает почти до приемлемого уровня. Python был первым языком общего назначения, в котором это происходит наоборот».

По словам Питера Норвига, директора по вопросам качества поиска компании Google, «Python является важнейшей частью Google с самого начала и остается таковым по мере развития и наращивания системы».

Кроме того, Python в действии можно увидеть и в ближайшем к вам кинотеатре.

«Python играет ключевую роль в нашем производственном цикле, — заметил Томми Барнетт, старший технический директор по спецэффектам студии Industrial Light & Magic. — Без Python проект такого масштаба, как ?Звездные войны: эпизод II?, было бы очень сложно выполнить. Python связывает воедино все, от массового ренедеринга до пакетной обработки и композиции».

Мнение коллеги разделяет и Филип Питерсон, главный инженер студии по исследованиям и разработке: «Python используется у нас повсюду. Он применяется для расширения возможностей наших приложений, а также обеспечивает связь между ними. В создании любого компьютерного изображения у нас так или иначе используется Python».


Скрипт как руководство к действию

Python, как и многие его современники, представляет собой то, что называют языком скриптов. Это значит, что он призван ускорить и упростить связывание сегментов кода, взятых из других источников. Сейчас широко применяются такие языки скриптов, как Perl, Tcl, Rexx, JavaScript, VBScript, и разнообразные оболочки Unix.

Все эти языки скриптов позволяют создавать самые разные виды приложений и систем с нуля, однако особенно хорошо они подходят для связи с программными компонентами, написанными на других языках. Программы (также называемые скриптами), как правило, хранятся только в виде обычного текста ASCII и интерпретируются во время выполнения, хотя некоторые языки, в том числе и Perl, компилируют скрипт каждый раз, когда вызываются.

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

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

Сейчас многие проекты разработки корпоративного уровня используют и языки скриптов, и языки программирования более низкого уровня. Каждый язык помогает решать конкретные проблемы, для которых он лучше подходит.