История языка программирования Python

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

История языка программирования Python началась в конце 1980-х. Гвидо ван Россум задумал Python в 1980-х годах[1], а приступил к его созданию в декабре 1989 года[2] в центре математики и информатики в Нидерландах. Язык Python был задуман как потомок языка программирования ABC, способный к обработке исключений и взаимодействию с операционной системой Амёба.[3] Ван Россум является основным автором Python и по сей день продолжает выполнять центральную роль в принятии решений относительно развития языка.

Версия Python 2.0 была выпущена 16 октября 2000 года и включала в себя много новых крупных функций — таких как полный сборщик мусора и поддержка Unicode. Однако наиболее важным из всех изменений было изменение самого процесса развития языка и переход на более прозрачный процесс его создания.[4]

Первая обратно-несовместимая версия Python 3.0 была выпущена 3 декабря 2008[5] года после длительного периода тестирования. Многие её функции были портированы в обратно совместимые Python 2.6 и Python 2.7.[6]

Первая публикация[править | править вики-текст]

В феврале 1991 года Гвидо ван Россум опубликовал код Python, помеченный версией 0.9.0, на alt.sources.[7] На этой стадии в нём уже присутствовали классы с наследованием, обработка исключений, функции и основные типы данных: list, dict, str и т. д.. Также в этом начальном релизе были модули, заимствованные из Modula-3. Ван Россум описывал модуль как «один из главных элементов в программировании на Python».[1] Модель обработки исключений в Python тоже походила на Modula-3 с добавлением оператора else.[3] В 1994 году с ростом числа пользователей сформировалась группа comp.lang.python — основной форум Python.[1]

Даты выпуска версий[править | править вики-текст]

Даты выпуска основных и промежуточных версий:[8]

  • Python 1.0 — январь 1994 года
    • Python 1.5 — 31 декабря 1997 года
    • Python 1.6 — 5 сентября 2000 года
  • Python 2.0 — 16 октября 2000 года
    • Python 2.1 — 17 апреля 2001 года
    • Python 2.2 — 21 декабря 2001 года
    • Python 2.3 — 29 июля 2003 года
    • Python 2.4 — 30 ноября 2004 года
    • Python 2.5 — 19 сентября 2006 года
    • Python 2.6 — 1 октября 2008 года
    • Python 2.7 — 3 июля 2010 года
  • Python 3.0 — 3 декабря 2008 года
    • Python 3.1 — 27 июня 2009 года
    • Python 3.2 — 20 февраля 2011 года
    • Python 3.3 — 29 сентября 2012 года
    • Python 3.4 — 16 марта 2014 года
    • Python 3.5 — 13 сентября 2015 года

Версия 1.0[править | править вики-текст]

Python 1.0 появился в январе 1994 года. Основными новыми возможностями, включенными в этот релиз, были средства функционального программирования: лямбда-исчисление, map, filter и свёртка списка. Ван Россум утверждал, что «Python приобрёл lambda, reduce(), filter() and map() благодаря любителю Lisp, которому их не хватало, и он предоставил патчи, реализующие эти функции».[9]

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

К версии 1.4 Python включал в себя множество новых функций, среди которых наиболее заметными были позаимствованные в Modula-3 именованные параметры (также подобные параметрам Common Lisp) и встроенная поддержка комплексных чисел. Также в 1.4 появилась простая форма сокрытия данных при помощи name mangling (которое, правда, легко обходится).[10]

Во время пребывания в CNRI Ван Россум запустил проект "Программирование для всех" (англ. Computer Programming for Everybody, CP4E), предназначенный сделать программирование доступным для большего числа людей, на основе получения базовой "компьютерной грамотности", подобной базовому знанию языка и математики, требуемых большинству работающих. Python играл центральную роль в этой инициативе, благодаря своей нацеленности на ясный синтаксис. Проект CP4E финансировался DARPA,[11] в данное время проект закрыт. И, хотя Python старается быть простым в изучении и не слишком магическим в синтаксисе и семантике, простота его использования не-программистами не является главной задачей.[12]

Версия BeOpen[править | править вики-текст]

В 2000 году ядро команды разработчиков Python перешло в BeOpen.com, сформировав команду BeOpen PythonLab. CNRI потребовала выпустить версию 1.6, включающую всю разработку языка до момента ухода команды из корпорации. В результате графики выпуска версий 1.6 и 2.0 имели значительное перекрытие.[4] Python 2.0 был единственным релизом BeOpen.com. После него Ван Россум и остальные разработчики PythonLab присоединились к Digital Creations.

Релиз 1.6 включал новое лицензионное соглашение от CNRI, которое было значительно длиннее лицензии CWI, использовавшейся ранее. Новая лицензия включала статью, что лицензионное соглашение регулируется законами штата Вирджиния.[13]

Версия 2.0[править | править вики-текст]

В версии Python 2.0 появилась поддержка списков — функция, заимствованная из функциональных языков программирования SETL и Haskell. Также был введён сборщик мусора. Python 2.1 очень похож на Python 1.6.1 и Python 2.0. Лицензия, начиная с этой версии, была переименована в Python Software Foundation License. Начиная с Python 2.1 весь код и техническая документация принадлежит некоммерческой организации Python Software Foundation, созданной в 2001 году. В Python 2.2 главным введением было объединение базовых классов и классов, создаваемых пользователем, в одной иерархии. Это сделало Python полностью объектно-ориентированным языком.

Версия 3.0[править | править вики-текст]

Влияние на Python других языков[править | править вики-текст]

Ссылки[править | править вики-текст]

  1. 1 2 3 The Making of Python. Artima Developer. Проверено 22 марта 2007.
  2. A Brief Timeline of Python. Guido van Rossum. Проверено 20 января 2009.
  3. 1 2 Why was Python created in the first place?. Python FAQ. Проверено 22 марта 2007.
  4. 1 2 A.M. Kuchling and Moshe Zadka. What's New in Python 2.0. Проверено 22 марта 2007. Архивировано из первоисточника 14 декабря 2009.
  5. Python 3.0 release
  6. PEP 3000
  7. HISTORY. Python source distribution. Python Foundation. Проверено 21 марта 2007.
  8. Releases | Python.org
  9. Guido van Rossum. The fate of reduce() in Python 3000. Artima Developer. Проверено 22 марта 2007.
  10. LJ #37: Python 1.4 Update. Проверено 29 апреля 2007.
  11. Guido van Rossum. Computer Programming for Everybody. Проверено 22 марта 2007.
  12. Computer Programming for Everybody. Python Software Foundation. Проверено 22 марта 2007.
  13. History of the software. Python Library Reference. Проверено 22 марта 2007.