В этом году мы в десятый раз проводим конференцию для python-разработчиков PyCon Russia. Не зря мы позиционируем ее как самую душевную — многие участники приезжают из года в год, растут и развиваются вместе с конференцией. Но сегодня мы решили поговорить не о том, как из зеленых джунов вырастают бородатые синьоры, а о том, как за это время изменился сам язык. 

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

В опросе приняли участие:

Григорий Петров, директор по техническому маркетингу в Evrone

Андрей Власовских, ведущий разработчик в Яндексе

Михаил Еловских, старший разработчик в Яндексе

Антон Патрушев, технический директор в Spherical

Сколько лет ты в Python?

Григорий Петров: Около 20.

Андрей Власовских: Впервые познакомился с Python в 2004 году, но активно использую его с 2006 года. Пишу на нем уже 17 лет.

Михаил Еловских: Чуть больше 10, думаю 11-12.

Антон Патрушев: На Python программирую с 2003 года. 

Что первое на Python ты написал?

Григорий Петров: Кастомизацию для wikidpad.

Андрей Власовских: Если не считать примеров при изучении языка, то первыми моими программами на Python были клиент протокола SNMP и роутер для WSGI-фреймворка с конфигом в популярном тогда формате XML.

Михаил Еловских: Бэкенд для флеш-рисовалки, что-то вроде дитя Miro и граффити Вконтакте, но в 2010.

Антон Патрушев: Тесты, которые выполняли end-to-end тестирование для Java приложения.

Как изменился Python и отношение разработчиков к нему за эти годы?

Григорий Петров: Поменялось примерно все. Из нишевого инструмента язык стал самым популярным языком в мире, с лучшими бесплатными инструментами и поддержкой крупнейших компаний. Де факто — инструмент в самых хайповых и востребованных областях ML и больших данных.

Андрей Власовских: Python и отношение к нему изменились очень сильно. В 2006 году Python считался одним из не очень известных «скриптовых» языков, подходящих для прототипирования веб-сайтов (ещё даже без разделения на бэкенд и фронтенд) или в качестве языка-клея для связывания и вызова «настоящих» библиотек на C/C++. В 2023 году Python — один из крупнейших языков общего назначения.

Михаил Еловских: Python повзрослел, победив многие глупые детские болячки. Выросли целые отрасли индустрии, один Data Science чего стоит. Некоторые монстры ушли или почти ушли на покой (zope, twisted, pyramid, bottle). Появились новые мейнстримовые фреймворки, инструменты. Комьюнити тоже возмужало и повзрослело, правда, немного растеряв молодецкий задор =) Но я все еще верю, что в Python могут появиться очень клевые и интересные штуки.

Антон Патрушев: Двадцать лет назад Python был довольно маргинальным языком программирования и использовался очень мало — в основном для скриптования.

Какие новые области применения языка появились, а какие ушли? 

Григорий Петров: Ушла разработка desktop приложений на Python — сейчас этим почти никто не пользуется. Зато появилось все, что связано с искусственным интеллектом, машинным обучением и данными.

Андрей Власовских: В 2023 году Python широко используется для обучения программированию. В 2000-е годы основными языками для обучения были Pascal, C, Java. Сейчас Python — это основной язык в data science, ML и AI. Сама эта область развивалась отчасти благодаря появлению классных вычислительных библиотек типа NumPy (помогло свойство языка-клея, удобного для встраивания библиотек на C/C++). Они позволили использовать быстрые эффективные матричные операции в гибком и лёгком для написания и отладки коде на Python. А Jupyter Notebook заметно расширил возможности интерактивной работы с данными средствами визуализации таблиц и графиков. При этом Python всё ещё играет заметную роль в своих традиционных сегментах: веб backend разработке, автоматизации и тестировании.

Михаил Еловских: На ум приходят DevOps, DS, и все наукоемкое, где важна интуитивная простота, читаемость и выразительность языка — питон в этом смысле скорее как DSL, нежели как имплементация стандарта. Еще один пример — это программирование микроконтроллеров, MicroPython, где от привычного нам питона практически только синтаксис. Практически вымерли все альтернативные имлементации PyPy, Jython, IronPython. 

Антон Патрушев: Больше стали писать на Python под веб, появились такие значимые проекты как, например, Flask. C выходом третьего Python стало больше возможностей в разработке асинхронных программ и фреймворков, язык стали использовать для разработки API. А с развитием машинного обучения язык стал использоваться как клей в данной области, благодаря широким возможностям работы с данными и хорошим библиотекам (pandas, numpy etc).

Что должно произойти, чтобы Python потерял популярность?

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

Андрей Власовских: К 2023 году Python так и не вышел в область пользовательского интерфейса. Его почти не используют при написании web/desktop/mobile UI. При необходимости взаимодействовать с пользователем почти всегда приходится брать ещё один язык (JS, Kotlin, Swift, C#). И этот язык может оказаться единственным для всего сервиса в целом, перейдя и на бэкенд компоненты. Если Python не станет заметно быстрее, то чисто бэкенд проекты могут продолжить переходить на языки типа Go. В области ML/AI языки, которые сейчас используются для эффективной реализации вычислений внутри библиотек Python, могут выйти на поверхность в виде удобных и интерактивных библиотек уже в своей экосистеме без привязки к Python. Сложно представить это для Rust, но это вполне может быть Kotlin. Наконец, при условии вытеснения Python из этих областей он может начать терять популярность для обучения программированию.

Михаил Еловских: Сам язык и эталонный интерпретатор CPython должны прекратить развитие, комьюнити разбежаться, а ниши занять более успешные альтернативы. С одной стороны, сейчас признаков этого я не вижу. С другой, перед глазами есть множество примеров языков, которые практически исчезли: Fortran, Smaltalk, Pascal. На них практически не пишется нового продакшн кода, хотя кое-где они еще вполне себе живут в проде. Но основные идеи и элегантные находки из них перекочевали в другие языки.

Антон Патрушев: В данный момент времени популярности Python ничего не угрожает.

Что будет с языком еще через 10 лет?

Григорий Петров: Качественное развитие: лучшая поддержка типов, конкурентности, выпилят GIL и все вот это.

Андрей Власовских: Это сложно предсказать. Если продлить тренды без учёта неожиданных крупных факторов, то Python продолжит терять долю в веб бэкенд разработке и в автоматизации. Но он может увеличить долю в ML/AI и в образовании. Скорее же всего за 10 лет произойдёт что-то такое, что нарушит линейные тренды.

Михаил Еловских: Поживем — увидим. Безусловно, какой-то продакшн на питоне останется, вопрос — будет ли он таким же популярным, будут ли на нем начинать новые проекты. Отчасти ответ на этот вопрос в наших руках ????

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

Антон Патрушев: Я думаю, что Python окончательно станет нишевым языком для работы с данными и задач склеивания частей ML/AI и быстрого прототипирования в данной области. Вероятно даже не номером 1 для продакшена в ней же. Произойдет это из-за развития AI инструментов для помощи разработчику, которые сделают работу с другими, более производительными языками проще и быстрее (а прогресса с производительностью Python на горизонте не видать).

Расскажи о своих отношениях с PyCon Russia?

Григорий Петров: Выступал, был гостем, организовывал — перепробовал все роли.

Андрей Власовских: Я был почти на всех PyCon Russia, включая первый в 2013 году. Обычно я выступал с докладами. Мой доклад на первом PyCon RU был про статический анализ Python, а самый популярный по просмотрам доклад «Что может Python на микроконтроллерах» был в 2017 году.

Где-то в середине 2010-х вошёл в программный комитет и с тех пор помогаю отбирать и готовить доклады для конференции. За эти 10 лет Pycon Russia заметно выросла в количестве участников, не потеряв при этом открытости и дружественности.

Михаил Еловских: Мой первый PyCon прошел на «Иволге» под Екатеринбургом в далеком 2015. Тогда я просто пришел послушать доклады. Со временем конференционная движуха затянула, я приезжал каждый год — и в качестве слушателя, и в качестве докладчика. А с 2019 года вошел в ПК PyCon Russia.

Антон Патрушев: Я начал принимать участие в конференции, когда её ещё не было — был программным директором примерно половины мероприятий. Безусловно, за эти годы конференция стала другой, и это прекрасно. Надеюсь, что предстоящий PyCon Russia 2023 будет достойным продолжением предыдущей десятилетней истории.

28 и 29 июля в Москве состоится PyCon Russia 2023. Приезжайте, чтобы познакомиться с python-единомышленниками и поговорить о настоящем и будущем языка.

Комментарии (5)


  1. HemulGM
    19.07.2023 19:58
    +8

    В 2006 году Python считался одним из не очень известных «скриптовых» языков, подходящих для прототипирования веб-сайтов (ещё даже без разделения на бэкенд и фронтенд) или в качестве языка-клея для связывания и вызова «настоящих» библиотек на C/C++.

    Это не изменилось.


    1. VladimirFarshatov
      19.07.2023 19:58
      +2

      Сколько читаю Хабр, столько вижу дополнение к этому: "Питон - это язык школьников" .. уж не знаю отчего так, сам Питон так и не сподобился изучить. Последнее время, перевожу Питоновские прототипы проектов на С++.. в целом, пока у меня один вопрос: а где там Питон? ;)


  1. hVostt
    19.07.2023 19:58
    +3

    При необходимости взаимодействовать с пользователем почти всегда приходится брать ещё один язык (JS, Kotlin, Swift, C#).

    "Ещё один язык" в данном кейсе прекрасно вытесняет Python.


  1. economist75
    19.07.2023 19:58
    -1

    Десктоп-приложения, как и сами десктопы - не в топе роста уже лет десять. DS прекрасно работает через web/сеть, фреймворки обеспечивают fullstack, UI выводит браузер. Разрабы Python сэкономили кучу сил, не заморачиваясь с десктоп-приложениями. Молодцы. Надеюсь что они, посвежевшие, отдохнувшие, постепенно ликвидируют отставание "на круг" по скорости от других ЯП и баланс интересов сохранится на десятилетия.


  1. piratarusso
    19.07.2023 19:58

    Десктоп-приложения никуда не исчезли. Их по-прежнему пишут. Python c этим справляется вполне. Сам я пользуюсь преимущественно десктоп-приложениями. С ходу вспомнил бит-торрент клиент Deluge, видеоредактор OpenShot, редактор заметок Cherry Tree...