Python история создания кратко

Обновлено: 04.07.2024

Python — это высокоуровневый язык программирования, который используется в различных сферах IT, таких как машинное обучение, разработка приложений, web, парсинг и другие.

В 2019 году Python стал самым популярным языком программирования, обогнав Java на 10%. Это обусловлено многими причинами, одна из которых — высокая оплата труда квалифицированных специалистов (около 100 тысяч долларов в год).

Язык программирования Python

Различные языки программирования обычно доминируют в какой-то отрасли (или нескольких), для работы в которой они хорошо подходят. Но это не значит, что программист ограничен использовать строго определённый инструмент, поэтому любой язык общего назначения, такой как Python, может применять для создания чего-угодно.

Python смог захватить малую часть рынка веб-разработки, иногда используется для написания десктопных приложений и, конечно, тотально доминирует в сфере машинного обучения. Кроме того, на нём создаётся много прототипов, которые позволяют быстро набросать функционал и внешний вид будущего проекта.

Происхождение названия

И хотя создатель языка не раз говорил, что название никак не связано со змеями, повлиять на мнение общества так и не удалось.

Питон или Пайтон?

Логотип

На логотипе изображены две змеи, образующие квадрат с выпуклым центром, это часто вводит в заблуждение пользователей, вынуждая ассоциировать название языка с рептилией.


Логотип создал брат автора, Юст ван Россум — программист и шрифтовой дизайнер. Он разработал как дизайн логотипа (две змеи), так и шрифт текста Flux Regular.

История создания

Язык начал разрабатывать программист, Гвидо ван Россумом, в конце 1980-х. На тот момент он работал в центре математики и информатике в Нидерландах.

Россум работал над Python в свободное время, в качестве основы он взял язык программирования ABC, в разработке которого когда-то участвовал.

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

  • В феврале 1991 исходный код языка был опубликован на alt.sources. Уже тогда язык придерживался объектно-ориентированного подхода, мог работать с классами, наследованием, функциями, обработкой исключений и всеми основными структурами данных.
  • В 2000 году вышла в релиз вторая версия Python. В неё добавили много важных инструментов, включая поддержку Юникода и сборщик мусора.
  • 3 декабря 2008 в релиз вышла третья версия Python, которая является основной до сих пор. Многие особенности языка были переделаны и стали несовместимы с предыдущими версиями. И хотя функциональность третьей версии ничем не уступает второй, развитие языка разделилось на две ветки. Кто-то продолжал использовать Python 2, чтобы поддерживать старые проекты, кто-то полностью перешёл на третью версию.

Дату смерти второй версии установили на 2015 год, однако, боясь не успеть перенести весь существующий код на Python 3, время жизни Python 2 продлили жизнь до 2020 года.

Python — простой язык

Простота отчасти обусловлена тем, что Питон написан на основе языка ABC, который использовался для обучения программированию и повседневной работы людей, не являющихся программистами.

Python упрощает написание кода и делает разработку быстрой, всё потому что он обладает следующими особенностями:

Python сочетает в себе и простоту и мощный инструментарий. Его можно использовать для создания прототипа практически любой программы.

Чтобы ускорить разработку, часть программы (обычно не сильно влияющую на скорость работы) пишут на Питоне.

Именно благодаря простоте этот язык программирования смог занять доминирующее место в сфере машинного обучения. Люди, так или иначе связанные с наукой, предпочитают не тратить много времени на такие вещи, как написание кода, поэтому Python отлично подошёл для реализации поставленных перед ними задач.

Пример кода:

Популярность

Несмотря на то что языку уже более 29 лет, он популярен среди программистов всего мира. Python используется почти в каждом среднем или крупном проекте, если не как основной инструмент разработки, то как инструмент для создания прототипа или написания какой-то его части.

Он собрал вокруг себя огромное сообщество разработчиков, по результатам опроса на Stackoverflow Python занял 7 место с почти 39% голосов.

Индекс TIOBE

Этот индекс показывает популярность языков программирования, информация обновляется каждый месяц. Оценка популярности основывается на количестве квалифицированных специалистов по всему миру. Для анализа также используются все популярные поисковые системы. Важно понимать, что индекс не показывает лучший язык программирования, он лишь показывает их популярность.


Согласно индексу TIOBE Python занял 3 место с 9-ю процентами популярности. Он уступил лишь языкам Java и C.

Этот индекс основывает на количестве поисковых запросов, касающихся учебных материалов по языку.


По данным с PYPL Python занимает первое место с более чем 29% популярности и на 10% обгоняет Java.

Сервис предоставляет различные виды статистики, среди которых — популярность языков программирования.


Согласно опросу более 85 тысяч респондентов, Python занимает 4 место, уступив таким языкам, как JS, языки разметки и SQL.

Скорость работы

Если рассматривать только скорость выполнения кода, то становится ясно, что Python уступает другим языкам программирования, таким как C. Действительно, динамическая типизация, интерпретируемость и другие особенности, облегчающие работу программиста, приводят к ухудшению производительности.

Однако в современном IT важна не только скорость работы программ, но и скорость их разработки. Разработка, тестирование, отладка и поддержка — всё это стоит немалых денег. И если в скорости работы программ Python уступает, то в скорости разработки ему нет равных.

Для любого проекта важно выбрать правильный инструмент и лучшую реализацию. Улучшая одно, программист жертвует другим, его задача — найти идеальный баланс, ориентируясь на конкретное техническое задание.

Программисты используют приёмы, позволяющие нивелировать недостаточную скорость выполнения программ на Pyton:

Язык программирования Python является, пожалуй, одним из самых популярных. Используется в веб-разработке, DataScience, системах автоматизации, приложениях – сферы его применения поистине безграничны. Но главное преимущество Питона – это его низкий порог входа. Иными словами, обучиться программированию на этом языке может практически каждый.

Python обладает простым и понятным синтаксисом. Даже далекому от программирования человеку будет несложно разобраться в строках простенького кода. Какими еще преимуществами обладает этот язык, почему его выбирает весь мир, как и где лучше изучать Python, вы узнаете из нашего материала.

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

Python сегодня входит в число наиболее популярных языков программирования. Неудивительно, что столько начинающих кодеров задаются вопросом, трудно ли учить язык программирования Python и есть ли вообще в этом смысл.

Python входит в самые различные информационные экосистемы, но, по большей части, он используется в бэкенде. Такие гиганты разработки, как Google, Facebook, Stripe, Spotify, Netflix, применяют его в своих продуктах. Поэтому можно не сомневаться, что язык программирования Python способен стать неплохим стартом карьеры для программиста.

Python является языком программирования высокого уровня общего назначения. Сфера его применения весьма широка. В разработке приложений и веб-сайтов он тоже активно используется. Этот интерпретируемый объектно-ориентированный язык имеет открытый исходный код и динамическую семантику. Сам Python создавался посредством языка “Си”.

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

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

В 1989 г. Гвидо Ван Россум создал новый язык программирования под названием Python, а в 1991 г выпустил его. Главная цель, которую ставил перед собой автор — это упрощение процесса программирования. Чтобы писать код было проще, он должен стать более читабельным и понятным для человека. У Python открытый исходный код. Одно из преимуществ этого языка — возможность запускать программы на нём как на ОС Windows, так и на macOS и Linux.

Ваш Путь в IT начинается здесь

Подробнее

Код, написанный на “питоне”, действительно легко читать и разбираться в его структурных элементах. Это делает язык программирования Python подходящим для начинающих. Но его возможности не сводятся лишь к базовым: на Python написаны и эффективно поддерживаются сложнейшие веб-платформы и высоконагруженные приложения.

Python поддерживает динамическую типизацию, парадигмы объектно-ориентированного программирования и императивного программирования. Поэтому его выбирают программисты, практикующие RAD-модель (быструю разработку).

Причины популярности Python

Интерпретируемость — одно из главных преимуществ “питона”. Напомним, что интерпретируемым называется тот язык, код на котором не нужно компилировать, а можно сразу запускать.

Запуск кода на Python возможен на любом ПК, интерпретаторы для него есть везде. А это значит, что разработчик может сразу видеть результат. Однако, будучи интерпретируемым языком, Python уступает по скорости компилируемым языкам (поскольку не работает непосредственно на компьютере).

  • Интерпретируемость сильно упрощает тестирование и перемещение с платформы на платформу небольших блоков кода. Совместимость с большинством существующих ОС делает Python универсальным языком программирования.
  • Он прекрасно подходит для тех, кто только начинает программировать. Данный высокоуровневый язык позволяет разработчику сосредоточиться на сути и целях, а не конкретных шагах и процедурах. По этой причине писать скрипты на Python оказывается быстрее, чем на многих других языках.
  • Его сходство с естественным языком (английским) сильно облегчает его изучение, если сравнивать Python с другими языками программирования. Разработчику легко запомнить синтаксис “питона” и начать читать код.
  • Помимо небольших прикладных скриптов, на Python можно писать и крупные коммерческие приложения, думая только о том, как обеспечить им необходимый функционал (все мелкие задачи решаются “под капотом”, и программисту не нужно беспокоиться о них). Надёжность делает язык программирования Python очень популярным.

Это четыре причины столь трепетной привязанности к “питону” со стороны программистов, хакеров и дата-сайентистов.

Ключевым фактором при его выборе является гибкость этого языка программирования и его соответствие ООП-парадигме. Поэтому его активно применяют в Data Science и машинном обучении.

Преимущества и недостатки использования Python

Преимущества языка программирования Python:

  • Простота изучения. Язык программирования Python легко выучить с нуля, поскольку он ясен, логичен и читабелен. Сложный синтаксис и запутанные правила — это не про “питон”. Если вы владеете английским, то у вас всё получится.
  • Высокая востребованность языка. В 2020 г. в рейтинге IEEE Spectrum Python занял первое место. Он не только широко распространён, но и применим в разных видах программных продуктов. Заработки Python-программистов очень неплохи, особенно в веб-разработке, машинном обучении и Data Science.
  • Использование Python в технологиях искусственного интеллекта и машинного обучения. С помощью Python удобно производить сложные расчёты, поэтому он и пригодился в машинном обучения. А библиотеки, отвечающие за нейронные системы, пришлись очень кстати в ИИ.
  • На языке программирования Python можно написать программу для ПК, мобильное и веб-приложение (сегодня в вебе и мобильной разработке очень много таких продуктов). У “питона” имеется множество расширений для создания микро- и макропроектов.
  • Открытый исходный код и бесплатная доступность языка на официальном сайта. Кроме того, каждый может внести свой вклад в развитие Python и добавить новые фичи в него.
  • Язык независим от ОС и с одинаковой эффективностью работает на главных платформах — Linux, Windows, macOS.

Команда GeekBrains совместно с международными специалистами по развитию карьеры подготовили материалы, которые помогут вам начать путь к профессии мечты.

Скачивайте и используйте уже сегодня:

Александр Сагун

Топ-30 самых востребованных и высокооплачиваемых профессий 2022

Подборка 50+ ресурсов об IT-сфере

pdf иконка

3,7 MB

  • Медленная работа. “Питон” плохо подходит для создания высокопроизводительных приложений, лучше сразу выбрать другой язык.
  • Крайне мало возможностей для процессорных оптимизаций: их сводит на нет особая модель памяти языка.

В этом и заключаются основные минусы данного языка — низкое быстродействие и недостаток возможностей для статического анализа кода. Эти проблемы тесно взаимосвязаны. Если удастся решить вторую, то откроются пути решения первой.

Сферы применения Python

Всю серверную часть веб-сайта можно написать на “питоне”. Но не на чистом Python, а на популярных фреймворках (Django, Flask), которые, в свою очередь, написаны на нём. Эти фреймворки упрощают процессы генерации html-страничек, которые пользователь видит в своём браузере, запросы к базе данных, обработку адресов.

Сферы применения Python

Сферы применения Python

К сегодняшнему дню уже написана масса дополнительных инструментов для реализации веб-приложений. Например, с помощью HTMLGen авторства сторонних разработчиков можно добавлять готовые классы для html-страницы на Python; пакет mod_python помогает запускать Apache-скрипты и при этом обеспечивать стабильное функционирование шаблонов Python Server Pages.

В области графики многие задачи тоже решаются с помощью языка программирования Python. Если вам необходимо адаптировать создаваемый графический интерфейс под стилистику операционной системы, где будет запускаться приложение, то вы можете использовать Python с дополнительными графическими библиотеками Dabo и PythonCard, которые значительно упростят процесс разработки.

Современная версия “питона” создавалась таким образом, чтобы максимально просто и ясно взаимодействовать с любыми базами данным. В частности, рабочая среда языка содержит программный интерфейс для работы с базами прямо в скрипте посредством SQL-запросов. Код на Python потребует лишь минимальных доработок, если нужно будет использовать его для БД Oracle и MySQL.

Александр Сагун

Мы вместе с экспертами по построению карьеры подготовили документы, которые помогут не ошибиться с выбором и определить, какая профессия в IT подходит именно вам.

Благодаря этим гайдам 76% наших студентов смогли найти востребованную профессию своей мечты!

Скоро мы уберем их из открытого доступа, успейте скачать бесплатно:

Гайд по профессиям в IT

5 профессий с данными о навыках и средней заработной плате

100 тыс. руб за 100 дней с новой профессией

Список из 6 востребованных профессий с заработком от 100 тыс. руб

Критические ошибки, которые могут разрушить карьеру

Собрали 7 типичных ошибок. Их нужно избегать каждому!

Женщины в IT: мифы и перспективы в карьере

Как делать хороший дизайн интерфейсов

Как прокачать свою технику речи

pdf иконка

4,7 MB

  • Системное программирование и администрирование

У Python есть интерфейсы для управления службами различных ОС, в которых он работает — Linux, Windows и др. Поэтому на “питоне” удобно писать портативные приложения для ПК. Уже давно язык программирования Python используют системные администраторы для написания своих программ. Посредством Python можно ускорять открытие и поиск файлов в папках, запуск программ, вычисления и другие типичные задачи.

Нейронные сети на Python: как всё устроено

В области вычислений язык программирования Python не менее продвинут, чем C++ и FORTRAN. Для осуществления математических вычислений создано расширение NumPy, работающее с уравнениями, массивами данных и другими их форматами. С момента установки этого расширения на ПК “питон” моментально интегрируется с библиотеками формул.

Однако NumPy можно использовать, помимо вычислений, также и для создания анимаций и рендеринга 3D-объектов (при котором нужно параллельно производить массу вычислений). Другое востребованное дополнение к Python под названием ScientificPython имеет собственные библиотеки для научных вычислений.

То есть, Python помогает не только с расчётами, но и с визуализацией полученных данных.

В машинном обучении активно используются не только основной инструментарий языка Python, но и фреймворки, а также дополнительные библиотеки, “заточенные” специально под ML. Наиболее популярные среди них — это TensorFlow (низкоуровневая библиотека, позволяющая пользователю самому создавать алгоритмы) и scikit-learn (который уже содержит наиболее часто встречающиеся алгоритмы обучения).

На языке программирования Python пишется такой функционал для машинного обучения, с помощью которого работают системы распознавания голосов и лиц. Python используют специалисты по глубокому обучению и создатели нейронный сетей.

Одна из наиболее востребованных ниш в IT, где используется Python — это написание коротких скриптов для автоматизации ряда рабочих процессов и стандартных процедур. К примеру, это небольшой код, автоматически обрабатывающий входящие письма: он сортирует их по наличию заданных ключевых фраз, чем сильно упрощает жизнь пользователю (делать то же самое вручную было бы сложно и долго).

В чём же секрет эффективности языка Python для программирования таких скриптов из нескольких строк? Это, в первую очередь, простой и понятный синтаксис, составлять сценарии на котором — одно удовольствие. И, во вторую очередь, отсутствие этапа компиляции и возможность сразу запустить и отладить код.

К индустрии игр многие относятся несерьёзно, и совершенно зря. Именно игровая индустрия привела к появлению многих удобных и полезных гаджетов, дала мощный толчок развитию цифровой графики и другим разработкам. Создать крупный проект на одном только Python не получится — он занимает довольно скромное место и выполняет узкий набор функций.

В процессе изучения Python следует пробовать свои силы на простых задачах, начинать с элементарных скриптов (и неважно, что они кажутся банальными и слишком лёгкими). Постепенно вы выберете для себя конкретное направление в программировании и будете специализироваться на нём, прицельно “прокачивая” навыки и строя карьеру.

Пример простой программы на Python

Языки программирования принято демонстрировать новичкам с помощью простой программы “hello world”. Этот код состоит из команды, выводящей фразу “Hello, World!”.

Язык Python является одним из самых простых в изучении и самых приятных в использовании из языков программирования, получивших широкое распространение. Программный код на языке Python легко читать и писать, и, будучи лаконичным, он не выглядит загадочным. Python - очень выразительный язык, позволяющий уместить приложение в меньшее количество строк, чем на это потребовалось бы в других языках, таких как C++ или Java.

2.1.1. История создания¶

Разработка языка Python была начата в конце 1980-х годов сотрудником голландского института CWI (Центр математики и информатики, голл. Centrum Wiskunde & Informatica) Гвидо ван Россумом (англ. Guido van Rossum), на основе языка ABC (Рисунок 2.1.1). В феврале 1991 года Гвидо опубликовал исходный текст в группе новостей alt.sources.

https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Guido_van_Rossum_OSCON_2006.jpg/320px-Guido_van_Rossum_OSCON_2006.jpg

Рисунок 2.1.1 - Гвидо ван Россум на конференции в 2006 г. ¶

О создании Python Гвидо ван Россум написал в 1996 г.:

Появившись сравнительно поздно, Python создавался под влиянием множества языков программирования. Так, например, влияние оказали такие языки, как:

ABC: отступы для группировки операторов, высокоуровневые структуры данных;

Modula-3: пакеты, модули;

С, C++: некоторые синтаксические конструкции;

Java: обработка исключений и др.

Большая часть других особенностей Python (например, байт-компиляция исходного кода) также была реализована ранее в других языках.

Развитие языка происходит согласно четко регламентированному процессу создания, обсуждения, отбора и реализации документов PEP (Python Enhancement Proposal) — предложений по развитию Python.

В 2008 году, после длительного тестирования, вышла первая версия Python 3000 (или Python 3.0, также используется сокращение Py3k). В Python 3000 устранены многие недостатки архитектуры с максимально возможным (но не полным) сохранением совместимости со старыми версиями Python. На сегодня поддерживаются обе ветви развития (Python 3.x и 2.x) (сравнение и рекомендации), однако получать новый функционал будет только версия 3 6.



Гвидо Ван Россум в штаб-квартире Dropbox в 2014 году

В конце 1994 года группа избранных программистов с разных концов США собралась для обсуждения своего нового секретного оружия.

Барри Уорсо был одним из двух десятков разработчиков, собравшихся на самый первый воркшоп, посвящённый новому языку программирования Python, и вспоминает, насколько явным было радостное возбуждение его первых пользователей.

Сегодня энтузиазм по поводу питона распространился далеко за границы этой кучки разработчиков, и некоторые из них предсказывают, что скоро он станет самым популярным языком в мире, поскольку он набирает новых пользователей быстрее любого другого языка. Миллионы людей используют питон ежедневно, и экспоненциальный рост его пользователей не выказывает признаков замедления.

Питон используется для больших и малых задач профессиональными и начинающими разработчиками, и особенно популярен среди веб-разработчиков, специалистов по науке о данных и системных администраторов. Именно с помощью питона в этом году были получены первые изображения чёрной дыры, находящейся в 500 млн трлн км от нас, а также именно на питоне работают написанные на скорую руку бесчисленные скрипты на настольных компьютерах всего мира.

Питон играет главную роль в некоторых из самых известных организаций мира: помогает Netflix отправлять потоковое видео в более чем 100 млн домов по всему миру, лежит в основе феномена фотообменника Instagram и помогает НАСА исследовать космос.

Ранние годы питона

В некоторых аспектах рост популярности питона настолько же сюрреалистичен и удивителен, как популярность британской комедийной группы, в честь которой он был назван, и в своей нише язык стал настолько же известным и влиятельным.

Этот язык программирования появился, как сторонний проект программиста из Нидерландов Гвидо Ван Россума. В конце 1980-х ван Россум работал над распределённой системой в Centrum Wiskunde & Informatica (CWI), нидерландском государственном исследовательском центре математики и информатики. Разочаровавшись недостатками существующих языков программирования, он решил сделать новый – такой, который было бы легко использовать, но при этом обладающий большими возможностями.

Также важно понять, насколько сложно было сделать что-либо при помощи ограниченных возможностей доступных ван Россуму в то время языков программирования. Распределённая вычислительная система Amoeba, с которой он работал, требовала от него использования С или командной строки Unix – у обоих вариантов были серьёзные ограничения. С требовал от разработчиков не только борьбы со сложностями ручного управления памятью и навигации по минному полю возможных ошибок – в нём не было библиотеки кода для повседневных задач разработчика, которую можно было бы использовать многократно, из-за чего разработчикам с каждым новым проектом приходилось заново изобретать велосипед. А у командной строки Unix были свои проблемы – там было большое разнообразие инструментов для распространённых задач, но она работала так медленно, что не справлялась со сложной логикой.

Ограничения, налагаемые этими языками на разработчиков были такими, что создание своего интерпретируемого языка – который взял бы лучшие свойства у ABC – реально казалось Ван Россуму наилучшим вариантом.

И хотя номинально он создавал питон, чтобы облегчать себе работу, ван Россум понимает, что настоящим мотивом, возможно, был вызов создания собственного языка.

Всего за три месяца ван Россум создал рабочий прототип интерпретируемого питона, в котором, по его словам, отсутствовали современные возможности, но в котором уже можно было узнать современную версию языка.

Однако когда двое его коллег взяли этот язык и сразу начали его использовать, у ван Россума не было больших ожиданий по поводу его широкого распространения – он уже знал, насколько сложно было раскрутить ЯП в предшествовавшую интернету эру.

Сегодня на то, чтобы поделиться софтом со всем миром, уходят несколько кликов. В 1980-х эта задача была гораздо сложнее, и ван Россум вспоминает сложности попыток распространить предшественника питона, ABC.



Гвидо ван Россум в 2001 году, когда был основан Python Software Foundation

Вооружившись адресами и телефонами людей, которые выразили интерес к ABC посредством зачатков электронной почты, существовавшей в то время – и по которой нельзя было пересылать ничего крупного, вроде исходного кода – он ездил от одного адреса к другому, раздавая плёнку. Но, несмотря на все старания, ABC так и не взлетел.

Ван Россум выпустил питона в мир через новостную группу alt.sources в 1991 году, практически на условиях лицензии с открытым кодом – хотя такое понятие появится только через шесть лет. И хотя интерпретатор питона приходилось скачивать с сети Usenet в виде 21-й части, которые потом нужно было собрать в один файл и разархивировать, этот механизм доставки всё равно был куда как более эффективным, чем развоз физических копий, предпринятый за несколько лет до этого.

С таким опытом за плечами ван Россум не сразу сделал какие-то выводы из растущей базы пользователей питона. Постепенно он осознал, что набор популярности не прекращается, и в какой-то момент, после регулярных контактов с питон-сообществом он понял, что создал нечто, что может иметь успех.

Почему питон победил

После того, как язык начал набирать обороты в начале и середине 1990-х, у ван Россума появилось ощущение, что питон оказался языком, чьё время пришло.

Ван Россум считает, что в питоне разработчиков привлекало то же, что заставило его создать этот язык. Им хотелось найти скриптовый язык высокого уровня, обеспечивавший баланс между простотой использования и обилием возможностей, и не имевший таких ограничений, от которых страдала командная строка Unix при работе со сложной логикой. Им хотелось положить конец настойчивым требованиям С возиться с управлением памятью и постоянно заново писать код для одних и тех же базовых задач в начале каждого проекта.



Барри Уорсо на первой рабочей встрече пользователей питона в 1994

Питон предлагал, и предлагает, чёткий, недвусмысленный синтаксис, в котором код группируется на блоки через отступы, что облегчает разработчикам задачу понимания кода.

То, что питон ставит на первое место ясный и читаемый код, не случайность – ван Россум говорил, что языки программирования нужны не только для того, чтобы говорить компьютеру, что делать, но и для передачи идей от одних разработчиков другим.

Хотя питон создал после выхода базу истинных приверженцев, в 1990-х он был аутсайдером среди ЯП. Ван Россум говорит, что за первое место соревновались Tcl/Tk и Perl, и у обоих из них была такая же цель, как у питона – простота использования и богатые возможности.

Сегодня питон растёт быстрее всех остальных ЯП, если считать по активным разработчикам – так следует из ежегодного опроса разработчиков Stack Overflow, одного из наиболее всеобъемлющих обзоров ЯП – а Perl сжался до такого состояния, что его уже не упомянули в последнем отчёте.


Это свойство питона, комбинация простого для начинающих языка, который в то же время достаточно надёжен для того, чтобы писать на нём крупные приложения, ван Россум и относит на счёт его первоначального успеха в 1990-х.

Питон и веб

К середине 1990-х питон начинали использовать по-новому, от скриптов для записи и воспроизведения аудио, до первых набегов языка на веб-разработку, которая в итоге окажется главным оплотом питона.

Чтобы помочь продать идею использования питона другим членам бюро, Маклэй пригласил ван Россума, который тогда ещё работал в CWI в Нидерландах, чтобы пару месяцев поработать в NIST в качестве приглашённого исследователя. Это стало катализатором будущей эволюции питона и серьёзно изменило жизнь ван Россума.

Именно в то время была проведена первая рабочая встреча пользователей питона, которая прошла в офисах NBS, и на которой ван Россум, Барри Уорсо и другие первые энтузиасты питона встретились, чтобы обсудить, как они используют питон, и какие надежды возлагают на его будущее развитие.



Ван Россум на первой рабочей встрече пользователей питона, вместе с Уорсо и Роджером Массе, в то время работавшим вместе с Уорсо в CNRI.

В офисах NBS ван Россум познакомился с Бобом Каном, известным своей ролью в разработке одной из основных технологий интернета, протокола TCP/IP.

На встрече ван Россуму предложили поработать с Каном в корпорации государственных исследовательских инициатив (CNRI), некоммерческой исследовательской группе из Виргинии, занимавшейся стратегической разработкой сетевых технологий.

Как питон откликнулся на необходимость в новом типе ЯП, так и предложение о работе, по словам ван Россума, поступило как раз в тот момент, когда он задавался вопросами о своём будущем в CWI.

Именно в CNRI ван Россум скомпоновал многие структуры, необходимые для управления ЯП питон, при помощи команды из таких же энтузиастов языка. Устроившись в CNRI в апреле 1995 года, ван Россум стал руководить небольшой командой разработчиков, работавших над ПО Knowbot Programs, мобильными агентами, разработанными для запуска на распределённых компьютерных системах типа интернета.

Команда работала на языке питон, и к ван Россуму присоединились Джереми Хилтон, Роджер Массе, Барри Уорсо, Кен Мангеймер и Фред Дрейк – все они позже сыграют важные роли в питон-сообществе.

Сообщество пользователей питона с момента его выхода в 1991 году сильно выросло, и во второй половине десятилетия этот язык привлёк значительную базу пользователей со всего мира. В этот период началась формализация управления языком, разработчики основали предшественника Python Software Foundation (PSF), которая появится в 2001. С ростом сообщества проходившие два раза в год рабочие встречи по языку, начавшиеся в 1994 году, превратились в более крупные ежегодные мероприятия, а в итоге – в ежегодный PyCon от PSF, который проводится и по сей день.

Но ван Россум продолжал играть ключевую роль, и не перестал оставаться ядром языка – это очевидно из шутливого прозвища "великодушного пожизненного диктатора" (BDFL), существующего уже много лет.

Именно открытый характер разработки питона, с использованием публичных обсуждений сообщества и ключевых разработчиков, ван Россум считает решающим фактором успеха питона.

Эволюция питона

В промежуточных годах питон совершил гигантские шаги, в 2008 году был представлен модернизированный Python 3.0, а в последнее время в управлении языком наметились серьёзные изменения. Они начались в прошлом году, когда ван Россум уступил лидирующую роль на посту BDFL, после того, как сообщество разделило предложение ввести в язык присвоения в выражениях, обсуждение которых было сделано в заявке Python Enhancement Proposal PEP572.

Новую возможность ввели, чтобы писать более эффективный код, но ван Россум столкнулся с серьёзной критикой этого предложения со стороны противников изменений – некоторые из них утверждали, что его использование ухудшит читаемость кода и усложнит его поддержку.

Ван Россум говорит, что привык спорить по поводу нововведений, однако в данном случае непримиримость некоторых клеветников и характер личных оскорблений заставили его отказаться от должности.

Он считает, что изменение процесса разрешения споров произошло, в частности, из-за того, какое огромное количество людей используют сегодня питон.

Ранее в этом году ключевые разработчики питона – поддерживающие и обновляющие интерпретатор CPython – выбрали управляющий совет, который должен планировать будущее языка. Туда вошли ван Россум, Уорсо и их коллеги Бретт Кэннон, Кэрол Уиллинг и Ник Коглан. Уорсо говорит, что это изменение было необходимым, чтобы управлять языком с настолько быстро растущей базой пользователей.



Один из ключевых разработчиков, Мариатта Виджайа

Будущее питона

Хотя питон продолжает привлекать непомерное количество новых пользователей, некоторые члены сообщества видят впереди трудности, и считают, что языку надо эволюционировать с тем, чтобы оставаться актуальным.

Кит-Мэги, чей проект BeeWare нацелен на то, чтобы единожды написанную на питоне программу можно было запускать где угодно, выкатил список проблем, которые сейчас есть у питона в области поддержки платформ, отличных от стандартных ПК x86.

Он указал на следующие недостатки: необходимость улучшения поддержки компилируемого кода для новых платформ, не совместимых с x86; набор тестов питона падает на мобильных и веб-платформах; установочный размер питон-приложений раздут и его нельзя урезать до небольшого подмножества зависимостей; необходимость потратить усилия на доработку библиотеки asyncio для работы с GUI под Android, Windows и в вебе; количество модулей в стандартной библиотеке, несовместимых с интерпретаторами питона, отличными от CPython.

Уорсо говорит, что Кит-Мэги говорит правильные вещи, и считает важным вопросы, связанные с обновлением питона для новых платформ – телефонов, планшетов, новых веб технологий типа WebAssembly.

«Пока что питон ничего хорошего предложить не может, — говорит Уорсо насчёт мечты о возможности скачать приложение для iPhone или Android, и „даже не узнать, что оно написано на питоне“.

С ростом количества ядер процессора в современных чипах (до 48 ядер в последних серверных процессорах от Intel) Уорсо также с нетерпением ждёт, когда питон лучше научится распределять задачи по нескольким ядрам.

Ему очень интересен потенциал работы Эрика Сноу над субинтерпретаторами и тем, как они могут расширить возможности питона по одновременной работе процессов. „Мне бы очень хотелось увидеть больше работы по поводу использования всех преимуществ многоядерных систем“, — говорит он.

Сноу работает над долгосрочным проектом, облегчающим питону эффективно разбивать задачи между несколькими ядрами процессора. При этом он сконцентрировался на использовании переработанной версии такой интересной возможности питона, как субинтерпретаторы и изменении того, как каждый из субинтерпретаторов взаимодействует с глобальным блокировщиком интерпретаторов (GIL).

Он говорит, что даже из провалившихся проектов поддержки многопоточного питона, к примеру, The Gilectomy, можно извлечь интересные уроки, связанные с тем, как питон может стать лучше, распределяя работу между ядрами.



В этом году питон помог собрать из кусочков первое изображение чёрной дыры

Этот дополнительный уровень безопасности – не просто интересная возможность, если у вас есть проект, в котором множество людей трудится над большой базой кода. Дополнительный уровень понимания того, что код должен и не должен делать, может сыграть решающую роль.

Если у кого-то есть сомнения по поводу возможности сообщества находить неожиданные новые варианты использования языка, вам достаточно будет изучить роль питона в получении первого изображения чёрной дыры, говорит Уорсо.

Читайте также: