LINUX.ORG.RU

Гвидо ван Россум покидает пост BDFL языка Python

 


3

7

Создатель и один из основных разработчиков языка программирования Python Гвидо ван Россум объявил о том, что устраняется от принятия дальнейших решений о развитии языка. В течение какого-то времени он продолжит выполнять функции рядового разработчика и консультировать команду, но фактически Гвидо складывает с себя полномочия «великодушного пожизненного диктатора» (benevolent dictator for life, BDFL), которыми он обладал 27 лет с момента создания языка. Сейчас в списке рассылки python-committers идет дискуссия о новой модели управления разработкой Python.

Гвидо принял решение после утверждения PEP 572 «Assignment Expressions» (Предложение об улучшении языка №572 — «Выражения присваивания»), вокруг которого в сообществе разработчиков и пользователей языка развернулись ожесточенные дискуссии. «Я больше не хочу когда-либо сражаться за PEP и видеть, как множество людей презирают мои решения» — сказал ван Россум.

PEP 572 добавляет в язык выражение присваивания вида var := some_expression и будет реализовано в Python 3.8 (сейчас присваивание является оператором, не вырабатывающим значения).

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

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

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

Так или иначе, рано или поздно это все равно должно было случиться — автобус всё еще подстерегает за углом, и все мы не молодеем... (Не буду вдаваться в подробности о состоянии своего здоровья.)

Я не планирую назначать своего преемника.

Так что вам придется самим решать, как быть дальше. Установить демократию? Анархию? Диктатуру? Федерацию?

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

Наиболее существенные решения, которые мне приходилось принимать, это, пожалуй:

  • Какая судьба ожидает новые PEP
  • Принятие новых разработчиков языка в команду

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

Обратите внимание, что вы все еще обязаны подчиняться Правилам поведения сообщества — если вы не согласны с этим документом, пожалуй, единственный выход для вас — добровольно покинуть эту рассылку. Возможно, нам еще стоит обсудить, не стоит ли кого-то исключить отсюда (тогда придется заодно исключить их и из рассылок python-dev и python-ideas, так как они тоже подчиняются Правилам).

И последнее — напоминаю, что архивы этой рассылки публичны (https://mail.python.org/pipermail/python-committers/), несмотря на то, что участие в ней ограничено (только для разработчиков языка).

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

-- Гвидо ван Россум (python.org/~guido)

>>> Подробности

Ответ на: комментарий от entefeed

Будут принимать решения люди которым гугол платит.

Подобное сейчас происходит с GTK, Gnome. Там активно банкет красная шапочка. Когда её серый волк сожрёт уже?

anonymous ()
Ответ на: комментарий от WitcherGeralt

потом появилась

Не появилась

Зачем ты врешь, когда всё зафиксировано?

WitcherGeralt> захламляют код без какой-то реальной пользы.

WitcherGeralt> Какой-то толк для кого-то есть

tailgunner ★★★★★ ()
Ответ на: комментарий от Linfan

Ну прям ночной спиритический сеансЪ

Анализ текста.

лоровских вангователей по аве.

Показ аватар у меня вообще отключен.

tailgunner ★★★★★ ()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

А зачем ты придуриваешься, хотя, вроде бы, взрослый дядька?

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

WitcherGeralt ()
Ответ на: комментарий от anonymous

Никто не запрещает...
Никто не запрещает...
Никто не запрещает...

Прямо cpp повеяло.

Суть питона немного в другом: там принято решать проблемы одним и тем же путём.
Не обязательно идеальным, но повторяемым, формируя легко читаемые паттерны.

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

С ростом кодовой базы проектов на Питоне (да и любых других), у их разработчиков желание ущемлять права творческих личностей только возрастает.
Как одно из следствий, очень много людей хотят опциональной проверки типов интерпретатором.
Фактически, type hints в больших проектах существуют уже давным-давно, в синтаксисе докстрингов Sphinx.

Но Гвидо не хочет ничего слышать, и прогнулся максимум под узаконенные type hints, которые для интерпретатора остаются просто синтаксическим мусором.

Ладно, диктатор так диктатор, должен блюсти чистоту зоопарка.
Но тут, внезапно, такая чушь.

aidaho ★★★★★ ()
Ответ на: комментарий от mx__

как я понял

Раньше нужно было так:

x = int(input()) s = 0 while x >0: s +=x x = int(input())

можно было так (но введенное значение в цикле недоступно): s = 0 while (int(input()) >0): s +=1

а теперь можно так:

s = 0 while (x:=int(input()) >0): s +=x

anonymous ()

Может уже спрашивали, но я ещё раз спрошу: в чём сакральный смысл этого нововведения? Почему знака = не хватает и обязательно надо впихнуть перед ним двоеточие? Откуда эта наркомания?

А, уже прочитал. Я думал тупо для присвоения значения, а тут вот оно что...

Chelobaka ★★★★ ()
Последнее исправление: Chelobaka (всего исправлений: 1)
Ответ на: комментарий от Chelobaka

Наколенные объяснения и обоснования приведены в треде в нескольких экземплярах. Подробно и разжевано расписано в PEP 572, ссылка на который есть в ОП, и который тебе, очевидно, лень изучить.
Что еще нужно?

Virtuos86 ★★★★★ ()

Хорошая скриптота - мёртвая скриптота. Одним меньше и отличненько. А в джаву как раз шебанг подвезли, так что будем пилить утилитки на джаве в этих ваших линухах.

foror ★★★ ()
Последнее исправление: foror (всего исправлений: 2)
Ответ на: комментарий от foror

в джаву как раз шебанг подвезли, так что будем пилить утилитки на джаве в этих ваших линухах.

Отсутствие шебанга - это единственное, что не давало пилить утилиты на Яве?

tailgunner ★★★★★ ()
Ответ на: комментарий от tailgunner

Отсутствие шебанга - это единственное, что не давало пилить утилиты на Яве?

Конечно нет. Еще нужна легковесная IDE и обёртка для добавления зависимостей в скрипт через аннотации и резолвинга их в рантайме.

foror ★★★ ()
Последнее исправление: foror (всего исправлений: 2)
Ответ на: комментарий от Virtuos86

Титановые протезы с сервоприводами ничуть не хуже обычной руки!

Да ладно бы титановые с серво... они жестяные и заводные - завод кончился и перестают работать.

tailgunner ★★★★★ ()
Ответ на: комментарий от foror

Еще нужна легковесная IDE и обёртка для добавления зависимостей в скрипт через аннотации.

И тогда всё, заживем? Пусть утилита стартует 5 минут, но зато она написана в ЛЕГКОВЕСНОЙ IDE!!!!11

tailgunner ★★★★★ ()
Ответ на: комментарий от foror

Отсутствие шебанга - это единственное, что не давало пилить утилиты на Яве?

Конечно нет. Еще нужна легковесная IDE и обёртка для добавления зависимостей в скрипт через аннотации и резолвинга их в рантайме.

То есть ты утверждаешь, что скриптота не нужна, а потом несёшь чушь про #! и предлагаешь использовать джаву как скриптоту? Почему не Go, оно хотя бы действительно имеет какой-то смысл.

Virtuos86 ★★★★★ ()
Ответ на: комментарий от tailgunner

И тогда всё, заживем?

Да, мир станет чуточку лучше.

Пусть утилита стартует 5 минут, но зато она написана в ЛЕГКОВЕСНОЙ IDE!!!!11

Зачем 5 минут? Отрезолви зависимости в ~/.m2 и всё будет нормально на старте. Более того, main теперь не обязателен, видимо можно будет и jshell использовать. Но это не точно.

foror ★★★ ()
Ответ на: комментарий от anonymous

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

google swift, kotlin

cab ★★★★ ()
Ответ на: комментарий от tailgunner

присваивание можно было запихнуть в условные операторы и тем сократить код (и избавиться от дублирования).

«Плоское лучше, чем вложенное.»

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

anonymous ()
Ответ на: комментарий от mandala

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

anonymous ()
Ответ на: комментарий от Virtuos86

Как насчет ответа на основной вопрос?
Чем джава с шебэнгом лучше?

Про это? Смотря для кого лучше. Для меня лучше, может еще для кого-то лучше. Но тут вопрос не лучше - хуже. Тут так-то речь о похоронах питона, а я вариант предложил на замену )

foror ★★★ ()
Последнее исправление: foror (всего исправлений: 1)
Ответ на: комментарий от anonymous

Оператор повышения удобочитаемости понижает удобочитаемость? Хмм. Это то чего лично мне не хватало в питоне лет 15, именно из-за того что часто приходилось городить громоздкие конструкции вместо того чтобы писать лаконично и органично.

Забрасывать яйцами стоит за привязку к 3.8, но если ты пишешь не на субсете совместимом с 2, этого не избежать. А впрочем, проблемы калек обычных людей не очень волнуют. Теперь хотя бы не будут привязываться на 10 лет к древней версии как было с 3.2.

anonymous ()
Ответ на: JavaScript - новый Python от anonymous

Наука. Все эти многочисленные panda, numpy и иже с ним. Я тут на SO засветился как питонявщик (я не специально, да, просто дал парочку-тройку умеренно популярных ответов), предложения о работе в качестве data scientist валятся регулярно. Хотя какой, нафиг, из меня сайнтист, тем более, дэйта, тем более, питоноразработчик.

AlexM ★★★★★ ()
Ответ на: комментарий от foror

Подразумевалось питоны, перлы, баши и вот это всё.

Почему? Как раз для всякой мелкой автоматизации или прототипирования нужна. Не уродскую жабу же заводить.

cab ★★★★ ()
Ответ на: комментарий от foror

Пусть утилита стартует 5 минут, но зато она написана в ЛЕГКОВЕСНОЙ IDE!!!!11

Зачем 5 минут?

За прогревом JIT.

Отрезолви зависимости в ~/.m2 и всё будет нормально

«Шутку понял. Смешно.» (ц)

tailgunner ★★★★★ ()
Ответ на: комментарий от foror

Тут так-то речь о похоронах питона, а я вариант предложил на замену )

От шебанга в java толку мало из-за ее многословности и навороченности инфраструктуры.

cab ★★★★ ()