Итак, мы учимся языку Python. Для начала стоит определиться с названием. Правильно говорить "Пайтон" с ударением на первом слоге — язык назван в честь известного комедийного шоу "Летающий Цирк Монти Пайтона", т.е. Пайтон, это фамилия, а фамилию человека принято произносить так, как это делает носитель этой фамилии! Ещё пара сухих фактов:

  • первый релиз интерпретатора языка Python был представлен в далёком 1991г,
  • автор языка - Гвидо ван Россум.

Сам по себе язык, это не то же самое, что его интерпретаторы, но основная реализация языка — CPython — настолько распространена, что всегда, когда мы слышим "Python", подразумевается именно она. Наши курсы тоже будут касаться именно CPython, это стоит иметь в виду!

Самое начало

Python появился, чтобы заменить собой язык ABC, в работе над которым принимал участие будущий автор пайтона Гвидо ван Россум. Представленный в 1991г Python версии 0.9.0 вобрал в себя многие идеи из существовавших на тот момент языков, взяв, например, систему модулей из языка Modula-3. Элементы функционального программирования — функции map, filter, reduce - появились в языке тоже довольно рано, в версии 1.0. Элементы ФП мы тоже будем изучать! Стоит отметить, что Пайтон изначально позиционировался как "язык для каждого", поэтому большой упор делался на читаемость кода и лаконичность синтаксиса. В версии 2.0 появились знаменитые "списковые включения" ("list comprehensions"), позаимствованные из языков SETL и Haskell. В этой же версии сборщик мусора (механизм автоматического управления памятью) научился работать с циклическими структурами. И с тем, и с другим мы познакомимся в последующих курсах.

Py2 vs Py3

Python, как язык, развивался в течении всего времени его существования и продолжает развиваться сейчас. На данный момент в основном используются версии языка, начинающиеся с "3". Первый релиз "третьего пайтона" (python3, py3) вышел ещё в 2008г, но переход на это семейство версий со "второго пайтона" (python2, py2) происходил (кое-где всё ещё происходит!) "со скрипом". Дело в том, что py3 не полностью обратно совместим с кодом, написанным для py2, т.е. мы не можем просто заменить интерпретатор — нам потребуется внести определённые изменения в код! На такой шаг можно пойти, если наш проект — живой. Но с проектами, находящимися в состоянии "только поддержка" (такие проекты ещё называют legacy), такой фокус не пройдёт — обычно просто некому заниматься адаптацией. А ведь такие проекты, это не всегда лишь конечные приложения — в такой ситуации могут оказаться и библиотеки. Именно из-за невозможности отказаться от нужных, но существующих в состоянии legacy, библиотек многие проекты долго оставались несовместимыми с py3. К счастью, сейчас большая часть библиотек, достаточно популярных и полезных в повседневной жизни разработчика, успешно переведена на py3 и новые проекты нужно делать именно на какой-то из версий этого семейства (сейчас рекомендуемая версия — это Python 3.7.x). Более того, py2 скоро перестанет быть безопасным для широкого использования! Дело в том, что техническая поддержка py2 - т.е. устранение уязвимостей и критических ошибок — с 2020г перестанет осуществляться. А мы ведь не хотим подвергать угрозе свои детища!

Системный Python

Работая с Python стоит иметь в виду, что Python распространен не только в виде языка, на котором пишутся конечные проекты: этот язык часто используется для автоматизации различных задач, скажем, по системному администрированию (Ansible — один из примеров ПО, используемого при администрировании и написанного на Python). Поэтому python часто уже присутствует в установленных операционных системах. Особенно велика вероятность обнаружить в системе установленный Python, когда речь идёт об ОС семейства Linux — а именно какая-то из версий Linux будет скорее всего установлена на машину, на которой вы захотите запустить сервер своего web-приложения или многопользовательской игры (да, такие тоже пишут на Python!). Тут-то и кроется проблема: установленный вместе с операционной системой Python может быть тем самым "вторым пайтоном" — да, такое, увы, пока встречается. И заменить его будет нельзя, ведь замена может привести к выходу из строя всей ОС. Но не пугайтесь, в курсе про настройку окружения вы узнаете, как использовать в проекте нужную версию Python и не бояться сломать что-то другое!

Для продолжения нужно перейти в курс и вступить в него.