5.02. История
История
Python часто воспринимается как «новый» язык, особенно в контексте его текущей популярности в data science, DevOps и веб-разработке. Однако это заблуждение. Python был создан в конце 1980-х годов и выпущен в начале 1990-х — что делает его старше таких языков, как Java (1995), JavaScript (1995) или PHP (1995). Его история — это не история быстрого успеха, а постепенная эволюция, опирающаяся на фундаментальные принципы дизайна, сообщественную разработку и адаптацию к меняющимся потребностям индустрии.
В конце 1980-х Гвидо ван Россум работал в Центре математики и информатики (CWI) в Нидерландах над проектом ABC — языком, ориентированным на обучение программированию. Хотя ABC был элегантным и удобным для начинающих, он не получил широкого распространения из-за ограничений в производительности, портируемости и возможности расширения.
После завершения работы над ABC Гвидо присоединился к проекту Amoeba — распределённой операционной системе, объединяющей вычислительные ресурсы в единое пространство. Одной из ключевых проблем Amoeba была отсутствие гибкого языка сценариев, способного управлять системой и автоматизировать задачи. Существующие решения (например, Bourne shell или C) не подходили по уровню абстракции и удобству.
В декабре 1989 года, во время рождественских каникул, Гвидо ван Россум решил создать такой язык самостоятельно. Он взял за основу концепции ABC, но добавил возможность расширения через модули, работу с системными вызовами и поддержку типов данных, близких к тем, что использовались в C. Первый прототип включал:
- Виртуальную машину, интерпретирующую байт-код;
- Базовый синтаксис, включающий отступы вместо фигурных скобок;
- Простые структуры данных: списки, словари, кортежи;
- Поддержку функций и модулей.
Работа над языком велась в одиночку, но уже через три месяца — к весне 1990 года — был готов рабочий прототип, который был представлен коллегам в CWI. Разработчики быстро оценили его потенциал и начали использовать в своих проектах, параллельно внося предложения по улучшению. 20 февраля 1991 года Гвидо ван Россум опубликовал первую версию Python — 0.9.0 — в новостной группе Usenet comp.lang.python. Проект не имел официального финансирования, не был частью корпоративной стратегии и развивался исключительно благодаря энтузиазму участников. Такой подход соответствует модели Skunkworks — неформальной, экспериментальной разработке вне стандартных процессов.
Название языка было выбрано спонтанно: Гвидо, будучи поклонником британского комедийного шоу «Летающий цирк Монти Пайтона», просто использовал слово «Python» как первую пришедшую в голову ассоциацию. Логотип того времени был минималистичным — текстовое написание слова «Python» случайным шрифтом, без графических элементов.
Этот логотип просуществовал до 2006 года. К тому времени пользователи массово ассоциировали язык со змеями — символом, который использовался на обложках книг, в статьях и презентациях. Чтобы устранить несоответствие между визуальным восприятием и официальным брендом, был разработан новый логотип: два переплетённых питона — синий и жёлтый — рядом с текстовым названием. Этот символ стал визуальной идентификацией языка и используется по сей день.
Python был реализован на языке C, что обеспечило ему высокую портируемость и возможность интеграции с существующими системами. Интерпретатор, виртуальная машина и стандартная библиотека были написаны на C, что позволило запускать Python на множестве платформ, включая Unix, MS-DOS и позднее — Windows и macOS.
Первый стабильный релиз, который заложил основу для дальнейшего развития, был 26 января 1994 года - версия Python 1.0, включавшая в себя поддержку модулей и пакетов, обработку исключений, базовые механизмы объектно-ориентированного программирования, функции высшего порядка, лямбда-функции.
Версия Python 2.0 была выпущена в октябре 2000 года, введя генераторы списков (мощный синтаксический сахар для создания коллекций), сборщик мусора (автоматическое управление памятью, упрощающее разработку), поддержку Unicode (необходимое условие для работы с многоязычными данными) и новый стиль классов, унифицировавший подход к ООП.
Python 3.0 — декабрь 2008 года. Это первая версия, которая стала несовместимой с предыдущими, так как устраняла технический долг и упрощала язык. Здесь были удалены дублирующие конструкции, улучшен синтаксис и семантика, расширена поддержка Unicode, и появилось асинхронное программирование, получившее развитие в дальнейших версиях. Миграция с Python 2 на Python 3 заняла более десяти лет, но в 2020 году поддержка Python 2 была официально прекращена.
Последующие версии уже менялись только минорно - 3.5-3.12. К примеру, 3.12 была выпущена в октябре 2023 года. Теперь в языке есть async/await, F-строки, он более производительный и безопасный.
Для координации развития языка и принятия решений была создана система PEP (Python Enhancement Proposals) — документы, описывающие новые функции, процессы или изменения в языке. PEP-ы проходят публичное обсуждение, рецензирование и голосование. Самый известный — PEP 8 — содержит рекомендации по стилю кода.
В 2001 году была учреждена Python Software Foundation (PSF) — некоммерческая организация, ответственная за развитие языка, защиту его лицензии и поддержку сообщества. PSF не является владельцем языка, но обеспечивает инфраструктуру для его управления.
Чтобы избежать зависимости от одного человека, в PSF был создан Совет директоров, избираемый сообществом. Гвидо ван Россум, игравший центральную роль в развитии языка, получил титул Benevolent Dictator For Life (BDFL) — шуточное название, отражающее его авторитет и влияние. В 2018 году он добровольно передал полномочия Совету, чтобы обеспечить устойчивое развитие языка вне зависимости от личности одного человека. В октябре 2025 года Python выпустил версию 3.14, где выполнен был крупный шаг - он стал по-настоящему многопоточным. Глобальный интерпретатор блокировки (GIL) не позволял потокам работать параллельно на нескольких ядрах процессора — вместо этого они вынуждены были терпеливо ждать своей очереди.
Главная новость релиза — free-threaded Python стал официально поддерживаемым режимом сборки (PEP 779). Это значит, что GIL больше не является обязательным. Разработчики могут выбирать между традиционной версией с GIL и free-threaded сборкой, где потоки выполняются параллельно, без взаимных блокировок.
Free-threaded Python — это специальная версия интерпретатора CPython, в которой отсутствует GIL (Global Interpreter Lock) — глобальная блокировка интерпретатора, которая десятилетиями мешала настоящей параллельной работе потоков в Python.
В обычном Python (с GIL) только один поток может выполняться одновременно, даже если у нас 16 ядер. Это значит, что threading часто не помогает ускорить CPU-тяжёлые задачи — потоки вынуждены ждать друг друга. Free-threaded сборка удаляет этот лимит: теперь потоки могут работать по-настоящему параллельно, используя все ядра процессора. Вместо GIL, free-threaded Python использует тонкие блокировки (fine-grained locks) или атомарные операции на уровне отдельных объектов и данных. Это позволяет нескольким потокам безопасно читать и писать в разные части программы одновременно, сохранять стабильность и избежать гонок данных (race conditions), но без централизованной блокировки. Технически это стало возможным благодаря PEP 703, который был реализован начиная с Python 3.13, а в 3.14 стал официально поддерживаемым и готовым к использованию.