Код
#статьи

Краткая история Python

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

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

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

Всё перечисленное удалось Гвидо ван Россуму — основателю Python. Сегодня мы поговорим об этом подробнее и рассмотрим события, которые повлияли на один из самых популярных языков программирования в мире.

Язык ABC

В 1982 году Гвидо ван Россум окончил университет и попал в команду разработчиков института CWI, где до 1986 года занимался проектированием языка ABC — прототипа Python. ABC задумывался как инструмент для пользователей, которые до этого не программировали и не разбирались в устройстве компьютеров. Должен был получиться удобный язык с простым синтаксисом, на котором легко учиться писать программы.

В 1987 году проект ABC закрылся. По мнению Гвидо, главная причина заключалась в отсутствии доступного интернета — язык медленно распространялся и не получал оперативной обратной связи от пользователей. Из-за этого команда не добавляла улучшения, которые учитывали бы потребности разработчиков. Сами программисты не могли присоединиться к сообществу и поучаствовать в развитии проекта. Язык ABC опередил своё время и мог стать заменой Python.

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

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

Если предложение пройдёт предварительную проверку, то оно появится на python.org — официальном сайте сообщества. Все участники смогут изучить его, обсудить будущую ценность и проголосовать за изменения. Если большинство будет «за», внесённое предложение вступит в силу.

Рождество 1989-го

В 1986 году Гвидо оставался сотрудником CWI, но перешёл из ABC в проект Amoeba — там он разрабатывал операционную систему для крупных организаций. Amoeba объединяла сеть пользовательских компьютеров в единую станцию и оптимизировала их совместную работу над производительными задачами.

В 1989 году системе Amoeba не хватало языка сценариев, поэтому Гвидо ван Россум планировал мини-проект: собирался написать язык программирования на основе наработок ABC. В период рождественских праздников Гвидо сделал первые наброски и вскоре показал коллегам прототип будущего Python.

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

Прототип Python понравился разработчикам CWI, и многие сразу включились в процесс: начали использовать язык для внутренних проектов и помогли доработать код.

20 февраля 1991 года Гвидо ван Россум создал дистрибутив и опубликовал код языка Python через сеть Usenet. Так появилась версия 0.9.0.

Гвидо ван Россум запускал Python в качестве Skunkworks-проекта — тестовой технологии, которая разрабатывается без бюджета силами энтузиастов. Для финансирования требовался быстрый рабочий прототип, который на практике доказал бы пользу нового языка программирования.

Гвидо работал над прототипом в свободное время и получил результат примерно через три месяца. Для этого ему пришлось придерживаться правил, на основе которых позже опубликовали «Руководство по стилю» и «Дзен Python».

Основная мысль руководства: язык программирования должен быть простым, кратким и достаточно хорошим для того, чтобы справляться с нужными задачами. Не нужно стремиться к максимальной производительности и совершенству — в большинстве случаев перфекционизм приводит к пустой трате времени.

«Цирк Монти Пайтона»

Гвидо ван Россум не мог опубликовать дистрибутив без названия. Для языка ABC название придумывали долго, стремясь подчеркнуть идею проекта. Хотели объяснить, что программирование бывает таким же простым, как чтение азбуки, — учишь букву «А», потом «B», «C» и так далее.

Гвидо же считал нейминг пустой тратой времени и поэтому назвал свой язык в честь комедийного сериала «Летающий цирк Монти Пайтона» — это одно из его любимых шоу и первая ассоциация, которая пришла ему в голову.

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

Шрифтовой логотип просуществовал до 2006 года и изменился только потому, что многим пользователям нравилось ассоциировать Python со змеями — они появлялись на обложках книг по программированию, в журналах и на сайтах. Шрифтовым вариантом мало кто пользовался — все рисовали разных питонов. Чтобы избежать путаницы, создали новый логотип, на котором синий и жёлтый питоны соседствуют с обновлённой шрифтовой надписью «Python».

История с неймингом показывает консерватизм, с которым Гвидо ван Россум развивал Python-сообщество. Он не верил в маркетинг и считал, что хороший продукт не нуждается в рекламе. В одном из интервью Гвидо сделал предположение, что если вернуться в прошлое и доверить выбор названия специалистам, то они запросят неприличную сумму, долго будут обсуждать какую-то мудрёную концепцию и вряд ли выберут «Python».

С одной стороны, логотип на коленке и случайное название не помешали Гвидо создать один из самых востребованных языков программирования. Обратная сторона медали заключается в том, что без активного продвижения взрывной интерес к Python начался только после 2004 года — через 13 лет после публикации дистрибутива. Если бы в этот период существовал более мощный и свежий сценарный язык программирования, то Python мог и не стать популярным.

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

Автобус-убийца

29 июня 1994 года на форуме вышла статья «Если бы Гвидо сбил автобус?». Публикация затронула проблему зависимости Python-сообщества от решений Гвидо ван Россума — автор поделился мнением о том, что крупные компании опасаются использовать технологии, которые привязаны к одному человеку.

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

Автором упомянутой статьи был Майкл Маклей из Национального института стандартов и технологий США (NIST). Он пригласил Гвидо для совместной работы, и это привело к появлению в 1995 году Python Software Foundation — некоммерческой организации, которая должна была отвечать за защиту и развитие языка Python. У этой организации появилось несколько руководителей, а Гвидо ван Россум получил шуточный титул великодушного пожизненного диктатора (Benevolent Dictator For Life).

Появление Python Software Foundation стало первым шагом к сильному Python-сообществу, которое не зависит от единоличных действий Гвидо ван Россума. Сейчас все стратегические решения принимаются коллективно, а контроль за соблюдением порядка осуществляет совет руководителей — временный орган, который регулярно переизбирается и состоит из пяти человек. Если с одним руководителем что-то случится, его место займёт кто-то другой. На развитие Python-сообщества это не повлияет.

В 2018 году Гвидо ван Россум отказался от титула BDFL, помог наладить работу совета руководителей и продолжает развивать Python-сообщество в качестве разработчика. В конце 2019 года он просил участников сообщества не поддерживать его кандидатуру и не включать его в совет руководителей. Гвидо поддержал других кандидатов и сделал язык Python полностью независимой технологией, которая больше не нуждается в основателе.

Python 2.6 → Python 3.0

3 декабря 2008 года появилась третья версия Python, которая устраняла критические неисправности и перерабатывала архитектуру языка. Из-за большого количества изменений вторая и третья версии оказались не полностью совместимыми и до 2020 года развивались по отдельности. С конца 2020 года официальное Python-сообщество поддерживает только третью версию.

Вторая версия Python появилась в 2000 году, а третья — в 2008 году. Восемь лет компании создавали программы, библиотеки и приложения, которые после обновления пришлось полностью или частично переводить на Python 3.0.

Чтобы облегчить компаниям переход, Python-сообщество 12 лет выпускало обновления для старой версии. Теперь большая часть кода написана на третьей версии — и разработчики боятся повторения ситуации с Python 4.0.

В старом блоге Гвидо ван Россума есть запись, где он сравнивает дизайн языков программирования с книгами о Гарри Поттере. Заметка написана в 2005 году, и, на мой взгляд, она даёт универсальный ответ на все вопросы, касающиеся целесообразности обновления Python в прошлом или будущем.

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

Например, Гвидо не понравилась анаграмма с именем Том Марволо Реддл, из которого получился «лорд Волан-де-Морт». По его мнению, Том Реддл не звучит как зловещее имя для бессмертного тёмного мага. Просто Джоан использовала имя Волан-де-Морт в первой части и не могла его изменить.

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

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

Что дальше

В 2021 году языку Python исполнилось 30 лет. За это время он превратился из домашнего прототипа в мировой язык программирования. Самое важное — с 2019 года Python полностью независим от основателя и развивается силами сообщества. А это означает стабильность на протяжении долгого будущего.

Если хотите узнать больше об истории Python — начните с этого:

Как закончите, приходите учиться и присоединяйтесь к Python-сообществу.

Жизнь можно сделать лучше!
Освойте востребованную профессию, зарабатывайте больше и получайте от работы удовольствие.
Каталог возможностей
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована