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)

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



Проверено: tailgunner ()
Последнее исправление: tailgunner (всего исправлений: 13)

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

Иделология простоты? Это тебе lua что ли? Питон никогда не был простым в плане синтаксиса и возможностей, он был простым в плане использования и гибкости. Никто не запрещает писать в старом стиле. Никто не запрещает отказываться от списковых включений. Никто не запрещает не использовать анонимные функции. Только не удивляйся потом отношению.

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

Чем отличается и ежу понятно, не понятно почему нельзя было просто сделать чтобы обычное = давало значение.

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

WitcherGeralt ★★
()

PEP 572 добавляет в язык выражение присваивания вида var := some_expression

Отлично, осталось добавить goto, begin, end, а отступы в начале строк сделать необязательными и ни на что не влияющими.

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

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

Мдя... Монархизм таки прошит на геномном уровне ))) Вон у сишников, крестовиков, джавистов отцы-основатели давно поуходили, некоторые и ласты завернули. А эти ЯП живут и весьма неплохо живут.

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

Мотивы-то понятны, а вот решение спорное. Лучше бы свитч запилили, вот что действительно нужно. Присваивание в условии, конечно, очень удобно, но два разных оператора присваивания — это фейл.

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

в JavaScript (2015), который тут так не любят, появились все возможности, что и в Python

даже замена Numpy, Scipy?

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

Лучше бы свитч запилили, вот что действительно нужно

Вот уж что не нужно, так это switch.

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

Написали бы проще : обычный = будет объявлен как депрекатед и оставлен в языке для совместимости ...

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

а для скриптоты луа ничем не жухе

Луа больше как встраиваемый язык популярен. А на роль скриптоты скорее возьмут тот же JS, тем более что ноду нынче тянет каждая вторая хипстерская поделка. И будет он вообще везде. Похоже пришло время осиливать.

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

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

Ты вообще на Python писал когда-нибудь что-нибудь сложное, не одноразовое?

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

Дай определение сложности.

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

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

Доживешь до его возраста - тоже с айти завяжешь :) Гвидо и так уже отпахал почти тридцатник за педалями этого пылесоса.

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

то, что пишется и отлаживается в одиночку

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

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

Человек с абсолютной памятью детектед.

Отнюдь - пичарм многие вещи упрощает. Да и писать код нужно не в стиле обфускатора :)

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

Ну, как минимум, довольно жирные апи.

Так к чему ты это? Я же говорю про концептуальную убогость, а не про то, что толку с этого нет.

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

Хм. Ну подождем 3.8 и поглядим там тогда. Кстати я не совсем понял а сам Гвидо был за := или против ?

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

Ну, как минимум, довольно жирные апи.

Не вижу ответа «да, приходилось» или «нет, не приходилось».

Я же говорю про концептуальную убогость, а не про то, что толку с этого нет.

Да неужели? Совсем недавно было

WitcherGeralt> без какой-то реальной пользы.

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

Не только. Быстрый серфинг по коду позволяет многие вещи легко разбирать/вспоминать.

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

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

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

Кстати я не совсем понял а сам Гвидо был за := или против ?

Теперь окончательно понятно, что PEP 572 ты не смотрел. Просто для протокола: Гвидо - один из его авторов.

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

Ну так может без абсолютной памяти следует не пайтон юзать, а нормальный язык

Может быть. А может - юзать Python с аннотациями.

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

Ну я там только про код глядел. Про автора не глядел. Ну тогда хорошо что ушел, а то могло быть дальше ещё хуже.

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

Не вижу ответа «да, приходилось» или «нет, не приходилось»

Читай как «да, приходилось», не придуривайся.

Да неужели? Совсем недавно было

Какой-то толк для кого-то есть, лично я реальной пользы в этом не вижу. Аннотации типов для внешнего чекера можно и вне непосредственно кода задавать, а для программиста я здесь в упор не вижу пользы, один шум в коде.

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

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

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

Читай как «да, приходилось», не придуривайся.

Итак, тебе приходилось писать что-то сложное. А через значительное время возвращаться и существенно модифицировать это тебе приходилось?

Совсем недавно было
WitcherGeralt> без какой-то реальной пользы.

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

А, так всё же есть. Окей.

для программиста я здесь в упор не вижу пользы

Ну, ты достаточно часто меняешь свое мнение. Может, и здесь изменишь, если подумаешь.

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

Нормально оформленные докстринги полностью заменяют эти погремухи.

Чушь. Просто потому, что «нормальное» оформление докстрингов не проверяется. Хотя, конечно, может, и это кому-то «нормально».

tailgunner ★★★★★
()

Было бы забавно, если бы он ушел с поста директора версии 2, но продолжит занимать пост директора версии 3.

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

Не порите чушь - ей больно :) Докстринга таки может заменять:

    """Calcs bounding box width and height.

    :type bbox: list
    :param bbox: bounding box

    :rtype: tuple
    :return: width and height
    """

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

Конкретизируй, какой проверки тебе нехватает? IDE, линтера или в рантайме? Если клиническая склонность к статике - завязывай с питоном и учи жабку или шарпея.

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

Конкретизируй, какой проверки тебе нехватает?

Автоматической.

Линтера, или в рантайме?

Если учесть, что проверка типов в рантайме проводится всегда - догадайся, какой проверки мне не хватает?

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

Если клиническая склонность к динамике - не пиши аннотаций.

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

Если клиническая склонность к динамике - не пиши аннотаций.

Дык и не пишем. Нафига на питоне изображать из себя джависта - хз.

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

Нафига на питоне изображать из себя джависта - хз.

Просто прими, что есть вещи за пределами твоего понимания.

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

А через значительное время возвращаться и существенно модифицировать это тебе приходилось?

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

Херачить райтонли можно и с аннотациями, они не панацея. А в случае с типами достаточно не писать простыни упоротой лапши и писать докстринги.

Ну, ты достаточно часто меняешь свое мнение

Моё мнение относительно аннотаций типов не менялось. Ещё раз: проверка типов — нужно, аннотации типов непосредственно в коде — не нужно (по крайней мере мне точно).

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

Просто прими, что есть вещи за пределами твоего понимания.

Та отож - разбираться в запущенных перверзиях не мой профиль :)

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

А через значительное время возвращаться и существенно модифицировать это тебе приходилось?

Приходилось, именно поэтому я научился писать докстринги

Обсуждение докстрингов - выше, не стану повторять.

Моё мнение относительно аннотаций типов не менялось

Менялось. Сначала в них не было пользы, потом появилась.

не нужно (по крайней мере мне точно).

Докстринги (с типами или без?) нужны, а аннотации типов - нет. Ну окей, довольно забавное мнение.

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

Ну так следовало сделать инструмент чтобы проверялось

Если речь об аннотациях - инструмент сделали.

tailgunner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.