Как появился Python
В конце восьмидесятых голландский программист Гвидо ван Россум работал в научно-исследовательском центре математики и информатики, в котором создавал язык программирования ABC. Гвидо вкладывал все силы в этот проект и многому научился в работе над ним.
В декабре 1989 года офис закрылся на рождественские каникулы, и Гвидо было нечем заняться. Тогда он просто ради развлечения написал интерпретатор для нового языка программирования. Свой несерьезный проект он назвал «Пайтон» в честь любимого комедийного шоу «Летающий Цирк Монти Пайтона».
Как развивался Python
Уже в 1991 году вышел первый релиз Python версии 0.9.0. Новый язык вобрал в себя многие идеи из ABC, а также из других языков: например, система модулей взята из языка Modula-3.
Еще немного позже вышла версия 1.0. В ней появились элементы функционального программирования — функции map, filter, reduce. Их мы будем изучать в следующих курсах.
В версии 2.0 появились знаменитые списковые включения, позаимствованные из языков SETL и Haskell. Тогда же появился сборщик мусора — механизм автоматического управления памятью. В той же второй версии в нем появилась поддержка работы с циклическими структурами.
Python постоянно развивается с самого начала и до сегодняшнего дня. Сейчас почти все используют следующую, третью версию.
В чем особенности Python как инструмента
Python изначально позиционировался как «язык для каждого», поэтому в нем сделан упор на читаемость кода и лаконичность синтаксиса. Эта философия делает язык более понятным и востребованным для новичков.
Тем не менее в работе с Python есть моменты, о которых нужно поговорить подробнее.
Избегайте legacy-библиотек
Первый релиз третьей версии Python вышел еще в 2008 году, но переход на него идет до сих пор.
Дело в том, что третья версия не полностью обратно совместима со второй. Чтобы перейти на третью версию, нельзя просто заменить интерпретатор — придется менять код. Разработчики идут на такой шаг, если проект все еще развивается.
Но есть программы, работа над которыми закончена: они находятся в состоянии «только поддержка» и называются legacy. Такие проекты часто не переходят на третью версию — обычно просто некому заниматься адаптацией.
Если программа становится legacy-проектом, никаких новых трудностей не возникнет. Сложнее ситуация с библиотеками. Некоторые важные библиотеки все еще написаны на второй версии. Обновлять их некому, а заменить — пока нечем.
Именно поэтому переход на третью версию Python растянулся так надолго.
Более того, с 2020 года вторая версия больше не поддерживается — в ней перестали устранять уязвимости и критические ошибки. Теперь устаревшие библиотеки могут нести в себе угрозу для всего проекта.
К счастью, большинство популярных и востребованных библиотек уже переведены на третью версию, а все современные рекомендовано писать на Python 3.7.x.
Обращайте внимание на Python в ОС
Python распространен не только в виде языка, на котором пишутся конечные проекты. Этот язык часто используется для автоматизации различных задач — например, на нем написан Ansible, ПО для системного администрирования. Поэтому Python часто уже установлен в операционных системах.
Особенно велика вероятность обнаружить его в операционных системах Linux. Кроме того, какая-то версия Linux будет установлена на сервер, с которым будет работать ваше web-приложение или многопользовательская игра.
Тут-то и кроется проблема: в ОС может быть установлен Python второй версии — такое до сих пор встречается. И заменить его будет нельзя, ведь замена может привести к выходу из строя всей ОС.