Хабрахабр

Автор Python больше не руководит разработкой. Сделает это язык лучше или хуже?

Всё Python-сообщество надеется, что это не отразится на экосистеме негативно. Но одного этого недостаточно. Мы вот, например, считаем важным поддерживать сообщество и, как одно из мероприятий, проводим большую конференцию под названием Moscow Python Conf++. Там сможем обсудить этот и другие важные вопросы. А пока частично познакомлю вас с Программным комитетом. А задал им несколько вопросов, которые как раз и раскроют взгляды на экосистему, и расскажут о людях лучше их профессиональных достижений.

Кроме заглавного вопроса, спрашивал вот что:

  • Что порекомендуешь для управления зависимостями?
  • На чем сейчас лучше всего делать backend?
  • TensorFlow все так же рулит для Machine Learning, или пора изучать что-то новое?
  • Почему твоему джуну надо учить Python, а не JavaScript?
  • Говорят, что в вебе backend уже не нужен. Так ли это?
  • 3.x или 2.7?
  • Чем хороший Python разработчик отличается от плохого?

Спойлер: Провокация «3.x vs 2.7» не удалась, ответ однозначный. Отказываться от бэкенда, кажется, еще рано, а на чем его делать, зависит от задачи — кто бы мог подумать.
Свои ответы вместе с краткой справкой тоже привожу, почему бы и нет.

Любит Python, JavaScript, C++, сеть, юнит тесты и большие проекты. Григорий Петров
Григорий Петров разработчик широкого профиля, технический евангелист Voximplant и один из организаторов сообщества MoscowPython. Когда выступает на конференциях, рассказывает про Кошелек Миллера и почему писать софт — это боль.

Сделает это язык лучше или хуже?
Есть такое выражение: «Коллективный разум очень хорошо думает, но очень плохо принимает решения». — Автор Python больше не руководит разработкой. Полагаю, если разработчики сумеют договориться о принятии важных решений как можно меньшей группой визионеров, это пойдет языку только на пользу.

Сейчас очень много новых разработок, но я не вижу, чтобы какая-нибудь из них уже достаточно бы стабилизировалась. — Что порекомендуешь для управления зависимостями?
Я за проверенную временем связку pip и virtualenv.

Если нужно быстро сделать одностраничный сайт с админкой и не нужны тысячи хитов в секунду, то Django вне конкуренции. — На чем сейчас лучше всего делать backend?
Очень зависит от задачи. А вот если нужен API, высокая нагрузка и другие интересные штуки, то ассортимент становится очень широким и нужно смотреть на требования. Фронтендная часть по вкусу, я предпочитаю VueJS. Как насчет AIOHTTP?

Google вливает в него бесконечное количество ресурсов, это многое решает. —TensorFlow все так же рулит для Machine Learning, или пора изучать что-то новое?
В качестве низкоуровневой библиотеки все так же рулит. А вот хорошие обертки и высокоуровневые библиотеки сейчас в ассортименте и можно найти что-то прямо «под себя».

— Одним предложением: почему твоему джуну надо учить Python, а не JavaScript?
Лучшая в мире документация.

Так ли это?
Веб вебу рознь. — Говорят, что в вебе backend уже не нужен. А для простой работы с данными отлично подходит GraphQL в сторону Firebase. Одностраничную-визитку действительно можно собрать используя Webpack на VueJS, скомпилировать Nuxt и выложить как статику на CloudFlare. Я написал «серьезного». Для чего-то более серьезного нужен полноценный backend. Положите, пожалуйста, ноду обратно на полку. Я написал «полноценный». Да, я ее тоже люблю, но еще не время.

7?
Если новый проект — то однозначно 3.x и типы. — 3.x или 2. Не всегда лучшее решение это «давайте все перепишем под последние версии». Если легаси — то надо внимательно смотреть. Действуйте по обстоятельствам.

— Чем хороший Python разработчик отличается от плохого?
Каждый язык программирования это не только синтаксис и экосистема, но и свой небольшой мир под названием «как здесь принято».

А не на «Java в синтаксисе Python» или «PHP в синтаксисе Python». Хороший Python разработчик пишет на Python. Это ценится коллегами.

Владимир Филонов
Владимир Филонов тоже один из организаторов сообщества MoscowPython. Любит Python, Erlang/Elixir, асинхронность и TDD. Любит копаться во внутренностях библиотек, а потом рассказывать об этом.

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

А так я бы рекомендовал pyenv. — Что порекомендуешь для управления зависимостями?
Локально я пользуюсь pip+virtualenvwrapper, но это скорее по инерции.

— На чем сейчас лучше всего делать backend?
А вот тут зависит от того, для чего этот backend.

Я всегда говорю — язык это всего лишь инструмент.

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

Но не вредно начать учить язык Julia =) —TensorFlow все так же рулит для Machine Learning, или пора изучать что-то новое?
TensorFlow несомненно рулит.

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

Так ли это?
Ну, говорят, что и программисты скоро будут не нужны — ИИ сам будет код писать. — Говорят, что в вебе backend уже не нужен. Но пока и то, и другое — очень сомнительные концепции.

7?
Только 3.x. 2. — 3.x или 2. Поэтому нет смысла создавать что-то новое на тупиковой версии языка. 7 еще, конечно, много лет будет жить в проектах, но это уже legacy.

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

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

Преподает в Learn Python, интересуется распределенными системами и построением технических сообществ. Злата Обуховская
Злата Обуховская знакома с экосистемой Python десять лет, за это время попробовала разное: от Data Science до разработки highload-проектов и руководства командами. Любит поговорить про технологическую культуру, которая должна подпитываться стратегией.

Сделает это язык лучше или хуже?
Гвидо много сделал для Python, посвятил этому жизнь. — Автор Python больше не руководит разработкой. Получится ли у них организоваться и удачно выбрать направление — вопрос открытый. Его труд дал плоды, в экосистеме много талантливых людей с сильным видением, которые готовы двигать язык дальше. Дальнейшее развитие языка раскроет потенциал Python-сообщества, каким бы этот потенциал в результате ни оказался.

— Что порекомендуешь для управления зависимостями?
Интересный проект poetry.

— На чем сейчас лучше всего делать backend?
Зависит от задачи.

  • Для CRUD приложений — это Django.
  • Для нагруженных API, которые работают с несколькими источниками данных — это асинхронные фреймворки Tornado, aiohttp.
  • Для сравнительно несложных API с хорошей нагрузкой подойдет Flask.

TensorFlow все так же рулит для Machine Learning, или пора изучать что-то новое?
Всегда имеет смысл пробовать относительно молодые и пусть даже менее приспособленные для продакшена фреймворки, например, PyTorch. Просто чтобы иметь возможность сравнивать дизайн-решения по работе с данными.

— Одним предложением: почему твоему джуну надо учить Python, а не JavaScript?
Владея Python можно выучить JavaScript, наоборот — сложнее.

Так ли это?
Зависит от задачи. — Говорят, что в вебе backend уже не нужен. Везде, где нужно производить обогащение данных в режиме онлайн, или имеет значение скорость ответа и пропускная способность источника данных, backend нужен.

7?
3.x конечно! — 3.x или 2.

— Чем хороший Python разработчик отличается от плохого?

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

Александр Хаёров
Александр Хаёров руководит подразделением разработки Ingram Micro Cloud, любит Python и украдкой программирует на нем. А все что касается публичных облаков, Kubernetes, Istio и DevOps/SRE практики — страсть и область безграничного интереса.

Сделает это язык лучше или хуже?
Гвидо высказался о том, что покидает пост BDFL (Benevolent dictator for life) и это безусловно знаковое событие для сообщества. — Автор Python больше не руководит разработкой. Я ожидаю баталии вокруг новых PEP будут такими же бурными. Но я не думаю, что это негативно скажется на развитии языка в целом. Шоу должно продолжаться.

— Что порекомендуешь для управления зависимостями?
Сейчас однозначно pipenv, а почему и зачем я недавно подробно рассказывал, смотрите видео тут.

Python очень хорош для быстрого старта. — На чем сейчас лучше всего делать backend?
Определенно на том инструменте, который удовлетворяет вашим функциональным требованиям. Django по-прежнему хорош и привлекает богатством батареек и широким сообществом сочувствующих. Для более требовательных к техническим возможностям случаев есть элегантные asyncio и sanic.

Theano опять же хорошо оптимизирован для пары CPU/GPU и удобен для числовых задач. —TensorFlow все так же рулит для Machine Learning, или пора изучать что-то новое?
Я немного далек от темы машинного обучения, но ориентируясь на разговоры в индустрии, TensorFlow точно в обойме, хотя все чаще упоминается Keras.

— Одним предложением: почему твоему джуну надо учить Python, а не JavaScript?
Не JavaScript единым…

Так ли это?
Конечно, уже не нужен, только никому об этом не говорите. — Говорят, что в вебе backend уже не нужен.

7?
Тут нет сомнений: версия 3. — 3.x или 2. 6 — венец творения. 6. 6 и все встает на места. Просто поглядите на change log 3.

— Чем хороший Python разработчик отличается от плохого?
Чистой кармой и прагматичным подходом к реализации поставленных задач, фокусом на бизнес-логике и хлестким юмором.

Готовил крупнейшую в России конференцию по информационной безопасности — PHDays. Иван Цыганов
Иван Цыганов программирует на Python, выступает на конференциях для программистов и тестировщиков. Медленно, но верно собирает себе по-настоящему умный дом.

Сделает это язык лучше или хуже?
Язык Python уже не молод, все процессы давным-давно отлажены и отлично работают. — Автор Python больше не руководит разработкой. В любом случае, Гвидо наблюдает за процессом и если начнет твориться безумие — он обязательно вмешается. Я думаю, что принципиально ничего не изменится, ведь у руля остаются проверенные люди. По крайней мере, я в это верю.

— Что порекомендуешь для управления зависимостями?
Я привык к pip, мне его хватает.

Потом к нему прикручиваем Django REST Framework и переделываем UI по-человечески.
А в остальных случаях — все зависит от задачи. — На чем сейчас лучше всего делать backend?
Если нужно максимально быстро и легко получить работающий прототип — Django, админка из коробки.

У меня, к сожалению, подходящих задач не попадалось, поэтому я несколько далек от этой области. —TensorFlow все так же рулит для Machine Learning, или пора изучать что-то новое?
Если тема Machine Learning интересна — полезно следить за всем и пробовать все новое!

— Одним предложением: почему твоему джуну надо учить Python, а не JavaScript?
Потому что моему джуну придется писать на Python

Так ли это?
— Говорят, что в вебе backend уже не нужен.

Это веб нам такой не нужен! Как так backend не нужен?!

— 3.x или 2.7?
Только 3, ведь там все самое вкусное. Да и пора бы уже попрощаться со старичком 2.7, он сделал свое дело.

— Чем хороший Python разработчик отличается от плохого?
Стремлением изучать новое.

В программе и новое, и любопытное, и про язык, и про экосистему, и про Machine Learning — обо всем по порядку скоро расскажу, а список принятых докладов можно посмотреть тут.
На этой оптимистичной ноте, приглашаю на Moscow Python Conf++ 22 и 23 октября.

Теги
Показать больше

Похожие статьи

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть