История Python
Python появился не случайно и не сразу — короткая, но настоящая история о том, почему язык устроен именно так, как устроен сегодня.
До Python: CWI и язык ABC
Python появился не на пустом месте. В 1980-х годах в нидерландском исследовательском институте CWI (Centrum Wiskunde & Informatica, «Центр математики и информатики») разрабатывался язык ABC — он должен был быть простым и удобным для обучения программированию непрофессионалов. У ABC были хорошие идеи (например, отступы вместо фигурных скобок), но были и серьёзные ограничения — он не был предназначен для больших «настоящих» программ и плохо расширялся.
Рождение Python: 1989–1991
Один из разработчиков ABC, нидерландский программист Гвидо ван Россум (Guido van Rossum), хорошо знал сильные и слабые стороны ABC. В конце декабря 1989 года, во время рождественских каникул, он начал писать новый язык — как хобби-проект, чтобы занять себя на праздниках, и как способ сохранить понравившиеся идеи ABC, избавившись от его ограничений.
Первый публичный релиз, Python 0.9.0, вышел в феврале 1991 года. В нём уже были функции, обработка исключений, классы с наследованием и встроенные типы данных вроде списков и словарей — многое из того, что вы будете использовать в этой книге.
Откуда взялось название «Python»
Несмотря на логотип со змеями, язык назван вовсе не в честь пресмыкающегося. Гвидо ван Россум — большой поклонник британского комедийного шоу «Летающий цирк Монти Пайтона» (Monty Python's Flying Circus), и ему хотелось короткое, немного необычное и запоминающееся имя. Змеиная тема логотипа появилась уже позже, как визуальная ассоциация со словом «Python».
Python 1.x и Python 2.0
Версия Python 1.0 вышла в январе 1994 года. Язык продолжал расти: появлялись новые модули стандартной библиотеки, росло сообщество разработчиков.
В октябре 2000 года вышел Python 2.0, принёсший важные для языка вещи — например, списковые включения (list comprehensions) и полноценный сборщик мусора, умеющий находить и освобождать память даже у объектов, ссылающихся друг на друга по кругу.
В 2001 году была создана Python Software Foundation (PSF) — некоммерческая организация, которой с тех пор принадлежат права на Python и которая направляет развитие языка. Подробнее о PSF — в следующем разделе этой главы.
Python 3: зачем понадобилась несовместимая версия
К середине 2000-х в языке накопились особенности, которые нельзя было исправить, не
сломав часть старого кода, — например, то, как Python 2 обрабатывал текст и байты, было
источником постоянной путаницы, особенно при работе с не-английскими языками (в том числе
русским). Разработчики Python сознательно пошли на выпуск Python 3.0
(декабрь 2008) — версии, которая местами намеренно несовместима со старым кодом
ради того, чтобы исправить эти накопившиеся проблемы: единая модель текста (Unicode
по умолчанию), print() стала обычной функцией, а не особым
словом языка, целочисленное деление стало более предсказуемым, и многое другое.
Переход занял намного дольше, чем ожидалось: сообществу требовалось время, чтобы переписать старый код и библиотеки. Официальная поддержка Python 2 закончилась 1 января 2020 года — с этого момента для Python 2 больше не выпускают даже исправления критических уязвимостей.
Путь к современному Python и версия 3.14
После 2008 года Python продолжил развиваться заметными, но уже совместимыми шагами:
f-строки для удобного форматирования текста (3.6), оператор «морж» :=
(3.8), более понятные и точные сообщения об ошибках и структурное сопоставление с образцом
(3.10), заметный прирост скорости выполнения в нескольких последних релизах. Именно это
непрерывное, но осторожное развитие и определяет то, что сегодня называют «современным
Python».
Эта книга целиком написана и проверена на Python 3.14 — актуальном стабильном релизе на момент написания.