URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 118726
[ Назад ]

Исходное сообщение
"Выпуск языка программирования Python 3.8"

Отправлено opennews , 15-Окт-19 13:13 
После полутора лет разработки представлен значительный релиз языка программирования Python 3.8.  Корректирующие обновления для ветки  Python 3.8 планируется выпускать в течение 18 месяцев. Критические уязвимости будут исправляться 5 лет до октября 2024 года. Корректирующие обновления для ветки 3.8 планируется выпускать раз в два месяца, на декабрь намечен первый корректирующий релиз Python 3.8.1...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=51676


Содержание

Сообщения в этом обсуждении
"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 13:13 
Как там GIL поживает, всё ещё достовляет головную боль питонистам?

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 13:25 
По крайне мере не всем разу, а по одному...

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 18:26 
Раньше через каждые 100 инструкций, теперь по таймеру...

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 13:27 
У тех у кого от джила боль не пользуются питоном. Либо это особые ценители поедания кактусов.

"Выпуск языка программирования Python 3.8"
Отправлено corvuscor , 15-Окт-19 13:30 
Какую головную боль? Питон не для этого сделан. Все бы вам гвозди микроскопом забивать.

Кому сильно горит - тот давно юзает multiprocessing.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 13:43 
Они наверняка на другом языке ловят сегфолты (зато быстро) поэтому сидят на пистоне и ноют.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 22:45 
Сегфолты скорее редкость на других языках, а вот GIL своей тенью настигает тебя почти всегда.
Впрочем хорошо бы понять, что там с выполнением вызовов C API функций в ThreadPool. Это тоже доставляет ряд проблем начинающим программистам. Как-то ни там не тут.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 16:06 
GIL - одно из основных ограничений языка, учитываемых при его выборе. В тех задачах, для которых он критичен, разумные люди используют другие языки, а проблемы неразумных шерифа не интересуют.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 17:19 
На Python написали EVE Online - лучшая игра в своем жанре. Да stackless, но все python!

"Выпуск языка программирования Python 3.8"
Отправлено Сомневающийся , 15-Окт-19 17:46 
Враки, далеко не все.
Там на плюсах дофига

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 16-Окт-19 05:24 
Можно было и догадаться, что после "все" следом идёт "же".

"Выпуск языка программирования Python 3.8"
Отправлено Тот_Самый_Анонимус , 15-Окт-19 18:36 
>На Python написали EVE Online

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


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:39 
Странные в целом ребята вот вроде каждый год пионеры пишут имв рассылку о проблемах
и даже stackless попытался решить парочку проблем, но нет эти охламоны добавили новый тип присваивания значений переменным? Вот что происходит когда уходит идеолог от разарботки сразу проект сказываеться в говнище

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 19:04 
Sub-interpreters в 3.9 пофиксят проблему гила.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:02 
А сейчас разве нельзя создать несколько экземпляров Python в своем C API коде и организовать для них CHANNEL на базе тех же очередей с мьютексом. Выглядит на порядок проще чем вся эта чепуха с маршалингом байткода Python из родительского процесса.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 17-Окт-19 16:01 
Можно, но тогда надо писать на C.

"Выпуск языка программирования Python 3.8"
Отправлено Sly_tom_cat , 18-Окт-19 14:33 
С питоновскими повадками - лучше уж в GO - там хоть GC есть.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 13:24 
>чтобы избежать привязок к конкретным имена, например, если имя параметра планируется изменить в будущем

Но мы-то понимаем, зачем это нужно, да? ;)

Ответ: Чтобы заменить неполиткорректные имена.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 13:35 
Очень давно ждал. Хм. Если подумать, то так уже где-то больше года, да? Годнота, сплошная годнота.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 13:39 
Ну все теперь после корректирующего релиза можно уже и в продакшен?

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 13:41 
Скорее всего не раньше весны.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 13:40 
Не освещено как там теперь работает глоб в разных ос.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 13:42 
>На платформе Windows реализация asyncio переведена на использование класса ProactorEventLoop;

Как это может отразиться на кроссплатформенности?


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 21:38 
Положительно, до этого приходилось его руками выставлять.

"Выпуск языка программирования Python 3.8"
Отправлено None , 15-Окт-19 13:47 
Питон постепенно превращается из легкочитаемого бейсика в очень медленный C++

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 13:52 
А кстати ты пропустил это, он не легкочитаемый и не бейсик уже лет 25 так по меньшей мере. Когда там 1.4 вышел? Вроде в то время этот мифический бейсик уже и кончился.

"Выпуск языка программирования Python 3.8"
Отправлено None , 15-Окт-19 14:12 
Вы реально на версиях до 1.4 что-то писали?

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 14:21 
Только про 1.4/1.6 могу сказать, что раньше было утверждать не берусь. Но по моим наблюдениям с каждой версией там всё меньше простоты становилось. Если нужна она, посмотрите на lua.

"Выпуск языка программирования Python 3.8"
Отправлено None , 15-Окт-19 15:24 
Я питон разлюбил после for ... else, если что))
Не люблю контринтуитивные конструкции, каким бы синтаксическим сахаром они бы ни были.

"Выпуск языка программирования Python 3.8"
Отправлено Q2W , 15-Окт-19 22:38 
Прочитал про for..else.
Вот это прикол!

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:41 
Мы - нет, зато они - blade of darkness

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:49 
продайте её thq nordic кто-нибудь

"Выпуск языка программирования Python 3.8"
Отправлено Аномномномнимус , 15-Окт-19 18:07 
О, годнота. Где бы её нынче купить до коллекции, что-то ни в стиме, ни в gog нет.
А вот Rune, внезапно, ожидает вторая часть (всего-то лет 20 прошло)

"Выпуск языка программирования Python 3.8"
Отправлено Георгий , 15-Окт-19 14:10 
>Поддержка операций присвоения внутри сложных выражений.

По-моему, это ужасно. Пришли сишники и портят мой питон.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 14:16 
а сишники никуда и не уходили

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:04 
Да. Конечно нас вытеснили всякие Java, C# и прочие пионеры со своими новомодными Rust, Golang и конечно всякие антипаттерны вроде С++ со своими vtables

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 22:28 
> По-моему, это ужасно. Пришли сишники и портят мой питон.

Емнип, это предложил сам Guido van Rossum: https://www.python.org/dev/peps/pep-0572/ Он заметил, что питонисты часто копипастят выражения, чтобы сэкономить пару строк кода. Вот чтобы защититься от копипаста он и предложил этот вариант.

Его тогда по этому поводу настолько затроллили, что он после того срача ушёл с поста.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:06 
> Его тогда по этому поводу настолько затроллили, что он после того срача ушёл с поста.

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


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 14:37 
ужасная экосистема у языка, без поллитра в многообразии тулзов не разберёшься
плюс он настолько разросся, что хрен вникнешь. можно, конечно, какой-то скрипт интуитивно накалякать (и то с ошибками), но для чего-то большего с бест практисес нужно потратить кучу времени

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


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 14:50 
Да всё нормально там с экосистемой. Хочешь берёщь spacy, хочешь берёшь pandas, хочешь scipy или там keras раз pytorch не угодил. Для каждой задачи есть свои инструменты. Какие-то при этом лучше остальных, но имеют свои недостатки, какие-то хуже, но обладают подходящими качествами. Как правило вся информация на поверхности, как следствие популярности языка.

"Выпуск языка программирования Python 3.8"
Отправлено myhand , 15-Окт-19 15:17 
> без поллитра в многообразии тулзов не разберёшься

Добро пожаловать в данную нам в ощущениях реальность.  А ты думал в сказку попал?

> вердикт: не нужен

оналитег с лора не нужен


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:44 
уже запилили Nim nim-lang.org

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 16:17 
Глянул мельком, неплохо. Вполне возможно, что действительно заменю питон для скриптов/мелких тулзов. Спасибо, буду изучать

"Выпуск языка программирования Python 3.8"
Отправлено rshadow , 15-Окт-19 17:47 
Опять отступы. Опять кастомные шаблонизаторы вместо встроенного языка. Вебу такие языки противопоказаны.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 17:50 
Для скриптов и наколенных поделий пойдёт

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:08 
Только Python с этим всем барахлом распиарен, а Nim знаем только ты да я и еще разработчик.
Хотя я думаю, что ...

"Выпуск языка программирования Python 3.8"
Отправлено Эль , 17-Окт-19 18:07 
С инклюдами вместо импортов, ага, спасибо.

"Выпуск языка программирования Python 3.8"
Отправлено волфа , 15-Окт-19 22:08 
мне вот после питона ваш с++ и java кажутся простыми (ну конечно с со своими загонами яп спецефичными) в плане чтения, реально просто .. но вот кодить жутко неудобно

"Выпуск языка программирования Python 3.8"
Отправлено аноним3 , 15-Окт-19 22:19 
если действовать на питоне как на функциональных языках, он и правда прост. но классы и все это ООп.. там реально не так просто. в плюсах есть одно "но", да и всех компилируемых, полностью продуманное приложение до начала написания или пиши пропало. переменные то определяются до основного тела программы. а в питоне привыкаешь вводить переменные прямо по ходу. это расслабляет))

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:09 
А потом хлоп и нет такой переменной прям в рантайме.
Вообще это только создает проблемы. Понятное дело что IDE должна как-то помогать, но не всегда

"Выпуск языка программирования Python 3.8"
Отправлено аноним3 , 16-Окт-19 01:01 
говоря о питоне. нефиг писать на нем очешуенные комбайны. он может и позволяет это сделать, но всегда лучше сишные программы оборачивать питоном. это просто меньше проблем создает. ну создавались интерпретируемые языки для постоянного выполнения и эффективного управления нагрузкой. ни один из них. вот и надо его использовать в малых скиптах, которые в лучшем случае запускаются из главного. нечего разводить комбайнеров.)) хочешь быстроты? сделай основу на плюсах или чем там еще типа раста, а оберни это в питон и все. и голова болеть не будет и работать будет хорошо.

"Выпуск языка программирования Python 3.8"
Отправлено йкЛще , 16-Окт-19 09:17 
>> переменные то определяются до основного тела программы.

Серьезно? Чувствуется, мнение настоящего спеца...


"Выпуск языка программирования Python 3.8"
Отправлено аноним3 , 16-Окт-19 11:00 
серьезно ? будем теперь объясняться как вводить переменные в си? я просто описал одну из фишек удобства в питоне в сравнении с компилируемыми языками типа си/с++. и это действительно одна из удобнейших вещей в питоне. пиля спецов то набежало)))))

"Выпуск языка программирования Python 3.8"
Отправлено Аноним84701 , 15-Окт-19 14:42 
> Поддержка операций присвоения внутри сложных выражений

Оно-то и  в стат. типизации -- еще те грабли, а уж в динамической …


"Выпуск языка программирования Python 3.8"
Отправлено rshadow , 15-Окт-19 17:50 
Ничего страшного нет. В реальности будет написано так:

if (n:int := len(a)) > 10:


"Выпуск языка программирования Python 3.8"
Отправлено Anonymoustus , 15-Окт-19 14:46 
Пихтону явно не хватает стандартизации каким-нибудь злобным и суровым комитетом бородачей, которые положили бы конец этой свистопляске улучшательств. Ибо нельзя ЯП разрабатывать так, словно это обычный прикладной софт.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:04 
Прошли те времена, когда ЯП были чем-то священным и недосягаемым. Можно отрицать это, злиться, торговаться или что там по стадиям принятия неизбежного, но факты таковы, что ЯП сейчас – именно что обычный прикладной софт.
Да, у этого подхода есть куча недостатков, но комитет бородачей ещё хуже.

"Выпуск языка программирования Python 3.8"
Отправлено Anonymoustus , 15-Окт-19 15:30 
> Да, у этого подхода есть куча недостатков, но комитет бородачей ещё хуже.

ЯП — как рецепт приготовления блюда. Если у тебя каждый день новый рецепт, блюдо тоже будет всегда получаться разное. Для приличных ЯП обязательна стандартизация. Благодаря ей ты всегда более-менее точно знаешь, что может и должно получаться из сочетания твоих хеллоуворлдов и компиляторов. В неприличных же языках стандартов нет, вследствие чего получается как в Пыхе или Пихтоне. Молодым, наверное, это без разницы, у них ещё есть вера в бесконечную юность. А людям постарше недосуг разбираться в продуктах жизнедеятельности хипсторов, которые в сотый раз изобретают Си, Паскаль, Фортран и Кобол для каждого из новых модных языков (Гвидо тоже изобретал, кстати). Если ты не сильно опоздал родиться, ты знаешь, на каких китах стоят эти ваши ИТ, и что всё полезное давно изобретено, однако успешно и с воодушевлением забывается каждым новым поколением ногоруких. Да, и потом они снова и снова изобретают Си, Паскаль, Фортран и Кобол, потому что надо же не только писать код вообще, который никому на само деле не нужен, но и какие-то задачи при его помощи решать.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 16:11 
> всё полезное давно изобретено

Вот эта предпосылка ложна, и вся цепочка рассуждений, с неё начавшаяся, тоже.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:24 
> А людям постарше недосуг разбираться в продуктах жизнедеятельности хипсторов, которые в сотый раз изобретают Си

Ну в целом согласен, но вот в Си тоже нехватает многих вещей вроде defer.
Так же очень много нужно всего тащить из утилитарных модулей: списки, хеши, очереди и вообще почти все.

В Python вообще непоянтная идеологическая составляющая. Все специализированные пакеты по сути внешний Си код: Pandas (Mathplotlib), NumPy, SciPy, а зачем тогда Python? А Python в данном случае это просто UI к этим библиотекам. Просто удобный способ вызвать C функции?

Что на мой взгляд реально нужно сделать было еще давно:

- sub-interpreters с каналами и прочим (решили бы пробелмы с GIL и угомонили бы армию соплежевателей);
- прикрутить уже какой-то UI помимо tkinter (может хоть можно было бы написать что-то для десктопа);
- стабилизирвоать модули (а то ведь ну правда зоопарк каких-то полуработающих инструментов ez, pip, wheel, setup_tools, dist_util и все это реально зависит от всего), а API до сих пор ни у чего из этого толком нет.
- загрузка как-то байткода очень хитрая сейчас (PythonByteCodeReader, PythonCompile.Compile и достаточно, а там сейчас наплодили дохренища всего и проще не стало).

Опять таки слабая стандартная библиотека просто убивает это несравнимо с тем же JavaScript в котром сегодня свистоперделок сейчас в самой Node.js в ядре просто уйма. Хотя и NPM заблевали своими соплями.


"Выпуск языка программирования Python 3.8"
Отправлено myhand , 16-Окт-19 18:02 
> В Python вообще непоянтная идеологическая составляющая. Все специализированные пакеты
> по сути внешний Си код: Pandas (Mathplotlib), NumPy, SciPy

А чего matplotlib скромно в скобочках?  Не вписался в парадигму?

Вообще-то - pure-Python проектов более чем.  Pandas, внезапно, тож.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 17-Окт-19 16:29 
> ez

если речь про easy_install, то это легаси и он уже давным давно больше не нужен

> wheel

формат дистрибутива (упакованного релиза) пакета с уже скомпилированными бинарями (pure python wheels без компилируемого кода тоже можно делать) и одноименная либа, напрямую это никто не юзает – только через setuptools и pip

> distutils

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

> setuptools

это надстройка над distutils, которая по сути является неотъемлемой частью любой инсталяции Python, кроме случаев встраивания интерпретатора куда-либо. Как питонист с чуть более чем 5 годами опыта не могу не согласиться — та ещё дрянь в плане обратной совместимости, предсказуемости релизов и входящих в них изменений, частоты этих релизов и обоснования их необходимости. Самое мерзотное тут то, что когда тебе надо подготовить первый релиз нетривиального пакета "по всем канонам", то ты сталкиваешься с ужасной документацией, в которой половины нужных вещей тупо нет, и их приходится читать их на давно заброшенной http://peak.telecommunity.com/DevCenter/setuptools (где полезной инфы намного больше), а если не повезёт, и нужную вещь добавили в более свежих релизах и предусмотрительно не задокументировали (или сделали это на отцепись), то приходится лезть в не самый приятный для чтения код.

> pip

идёт в комплекте с CPython, а если не идёт, то его скачивалка идёт: https://docs.python.org/3/library/ensurepip.html

По сути конечному юзеру из всего вышеупомянутого нужен только pip, либо обёртки над ним в виде Pipenv и Poetry. И да, с обёртками как раз развели бардак, т.к. "официальной" пока нет – обе упоминаются как рекомендованные в различных репозиториях /psf и /python на GitHub. Лично я по старинке использую virtualenvwrapper и pip-tools (pip-compile + pip-sync), оказалось очень удобно и результат всегда предсказуем. Поломки из-за "не той" версии setuptools и поиски "нужной" решаются автоматически. Прям какой-то zc.buildout на минималках получился.

> слабая стандартная библиотека

Сильное заявление. Опровергать я его, конечно, не буду.


"Выпуск языка программирования Python 3.8"
Отправлено Анонимно , 17-Окт-19 00:11 
Вы не правы, именно древние языки типа Java или Python из 95 года как раз обросли дичью легаси и костылями.
Вот Golang например наоборот максимально по синтаксису заморожен и развивается очень осторожно.
И это правильно

"Выпуск языка программирования Python 3.8"
Отправлено myhand , 15-Окт-19 15:18 
> не хватает стандартизации каким-нибудь злобным и суровым комитетом бородачей

Стесняюсь спросить, ты хоть сайт языка мельком посмотрел?

https://www.python.org/dev/peps/


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:30 
Ты сам для начала эту свистопляску прочитай. Там каждый принимает то что ему в голову взбредет. Раньше было еще куда ни шло, но после ухода Гвидо Остапа явно понесло куда-то не туда.

"Выпуск языка программирования Python 3.8"
Отправлено myhand , 15-Окт-19 16:51 
> Там каждый принимает то что ему в голову взбредет.

Каждый, включая вас?


"Выпуск языка программирования Python 3.8"
Отправлено Anonymoustus , 15-Окт-19 15:33 
>> не хватает стандартизации каким-нибудь злобным и суровым комитетом бородачей
> Стесняюсь спросить, ты хоть сайт языка мельком посмотрел?
> https://www.python.org/dev/peps/

Мне неинтересно, что там наковыряли из своих ног пихтонеры. Стандарт — это буковки ISO и IEC, ну и ещё DIN. Есть там такие буквы? Нету.


"Выпуск языка программирования Python 3.8"
Отправлено myhand , 15-Окт-19 16:50 
> Стандарт — это буковки ISO и IEC, ну и ещё DIN.

Ой, я вас умоляю.  Кто-то еще пользуется ISO стандартом Scheme?


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:21 
И убить его основные применения? Убить сообщество вокруг него?
Хотите писать скрипты, стандартизированные бородачами, вон какой Perl придумали.

"Выпуск языка программирования Python 3.8"
Отправлено rshadow , 15-Окт-19 18:09 
Глупость. Perl расширяется сообществом от версии к версии.

"Выпуск языка программирования Python 3.8"
Отправлено аноним3 , 16-Окт-19 01:04 
дорасширялся до раку)) теперь ракунисты пойдут))

"Выпуск языка программирования Python 3.8"
Отправлено Kurakofu , 15-Окт-19 19:26 
Есть идеальные языки, созданные суровыми дядьками, и утверждённые комитетами. Но ими не пользуются почти. Именно из за ограничений в угоду идеалам.

"Выпуск языка программирования Python 3.8"
Отправлено офалв , 15-Окт-19 20:42 
таки гвидо бородат ... давно бородат, с бородой так сказать. в не бороде стало быть дело хотя он же ушел так сказать на покой так что ...

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:25 
Слышал, что он родился в бороде =)

"Выпуск языка программирования Python 3.8"
Отправлено Адекват , 15-Окт-19 14:52 
А как там в питоне с обратной совместимостью ? Ну софт написанный в версии 2.7 буде без проблем работать в текущей ?

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:00 
3 не совместим с 2. с добрым утром!

"Выпуск языка программирования Python 3.8"
Отправлено RedEyedMan , 15-Окт-19 15:01 
Гвидобейсик же. Будто так сложно переписать свою поделку.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:26 
Ты серьезно. Даже если это байда для какой-то ерунды вроде Django то скорее всего не взлетит.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:08 
Ну можно писать так что будет совместимо. Только придётся ограничивать себя фичами примерно 3.2.

"Выпуск языка программирования Python 3.8"
Отправлено a3k , 16-Окт-19 14:30 
Но в 2019 python2 для новых сервисов поддерживать не нужно. Даже через six.

"Выпуск языка программирования Python 3.8"
Отправлено llolik , 15-Окт-19 15:07 
> Выпуск языка программирования Python 3.8
> софт написанный в версии 2.7 буде без проблем работать
> Адекват

Оукей :) Минутка адекватности в треде </sarcasm>


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:28 
Отличная шутка в треде. Думаю одна из лучших.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 18:06 
На нём и от 3.7 далеко не всё заработает

"Выпуск языка программирования Python 3.8"
Отправлено RedEyedMan , 15-Окт-19 15:00 
Эй, я еще на 3.7 не перешел, стоять!

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:27 
Не надо переживать ничего не изменилось. Все как было так и осталось добавили перделок.
Вот в 3.9 будет реально круто, а тут пока так лайтовая шляпа.

"Выпуск языка программирования Python 3.8"
Отправлено RedEyedMan , 31-Окт-19 11:31 
А что будет в 3.9? Добавят switch?)

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


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:07 
Ждём когда скобки завезут.

"Выпуск языка программирования Python 3.8"
Отправлено RedEyedMan , 15-Окт-19 17:14 
Тебе на Java или С++

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 18:07 
Скобки обязательно завезут.)))

"Выпуск языка программирования Python 3.8"
Отправлено pr0gr4mm1st , 16-Окт-19 10:58 
>>> from __future__ import braces

  File "<stdin>", line 1
SyntaxError: not a chance

Ни единого шанса)


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:09 
continue в finally?
Хм, а зачем? Для вложенных циклов?

"Выпуск языка программирования Python 3.8"
Отправлено еплршн7щ , 15-Окт-19 15:14 
А зачем вообще finally?

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:20 
Ну просто это странно.
Например, мы словили исключение в теле цикла. Дошли до  finally, а там стоит continue, из-за которого сразу ибем на следующую итерацию.
Ок.
Вариант 2:
Мы не словили исключения. Дошли до finally, .перешли к следующей итерации
В итоге, код в теле цикла, написанный после finally, исполнен не будет никогда.
Т.е это то же самое, как если бы не было никакого continue в finally, а просто сразу же заканчивалось тело цикла.
Или я что-то не так понимаю?

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:25 
По-моему тут написано что continue в try выполнит finally и только после этого перескочит в начало цикла. https://docs.python.org/3.8/reference/simple_stmts.html#cont...

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:28 
Тогда да, тогда полезно

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:29 
А тут написано что в finally continue было использовать нельзя, теперь как я понимаю можно https://docs.python.org/3.8/reference/compound_stmts.html#fi...

>заканчивалось тело цикла

наверное дело в том что оно не обязано там заканчиваться и вообще это баг был


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:41 
Да оно и не обязано заканчиваться сразу после finally, по идее.

"Выпуск языка программирования Python 3.8"
Отправлено letsmac , 16-Окт-19 17:17 
А нафига оно там? Если exception в теле цикла - оно отработает следующую итерацию после блока. Совсем от криволапых наверное.

"Выпуск языка программирования Python 3.8"
Отправлено vrm , 15-Окт-19 15:10 
Когда там уже 4.0 будет?

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 15:13 
Не раньше чем гил выпилят и джит запилят (предлагаю следующую версию назвать 6).

"Выпуск языка программирования Python 3.8"
Отправлено rshadow , 15-Окт-19 17:59 
6 уже пробовали. Раку получилось.

"Выпуск языка программирования Python 3.8"
Отправлено Анонимно , 17-Окт-19 00:08 
Когда найдут достаточное количество странностей которые можно запилить что бы поломать соместимость так же жестко как при переходе с двойки на тройку

"Выпуск языка программирования Python 3.8"
Отправлено Агл , 15-Окт-19 15:13 
а в плюсах можно в if делать что то вроде такого?
if (std::cin >> int n >0)
вот так можно:
if (std::cin >> n, n > 0) но n должна быть объявлена ранее, а как все сделать в условной конструкции - и объявление переменной и >> и сравнение - возможно ли такое?

"Выпуск языка программирования Python 3.8"
Отправлено iPony129412 , 15-Окт-19 15:40 
Можно, разрешаю

https://skebanga.github.io/if-with-initializer/


"Выпуск языка программирования Python 3.8"
Отправлено OpenEcho , 15-Окт-19 15:19 
Так глядишь, и ";" скоро завезут :)

"Выпуск языка программирования Python 3.8"
Отправлено userd , 15-Окт-19 15:38 
А что с ";", что её нужно завозить?

"Выпуск языка программирования Python 3.8"
Отправлено Anonymoustus , 15-Окт-19 15:40 
> Так глядишь, и ";" скоро завезут :)

А также три вида скобок. И отменят отступы.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:28 
Да погоди ты там и так сейчас нихера не понятно вот {} это set или dict?

"Выпуск языка программирования Python 3.8"
Отправлено Аноним84701 , 16-Окт-19 00:01 
> Да погоди ты там и так сейчас нихера не понятно вот {}
> это set или dict?

Все просто!

 
>>> print("{{}}:{} {{ ( ) }}:{}".format(type({}),type({()})))

{}:<class 'dict'> { ( ) }:<class 'set'>


;)


"Выпуск языка программирования Python 3.8"
Отправлено Евгений , 15-Окт-19 18:26 
>>> print('Чувак');print('Ты всё проспал')

Чувак
Ты всё проспал


"Выпуск языка программирования Python 3.8"
Отправлено Аноним84701 , 15-Окт-19 20:03 
> Так глядишь, и ";" скоро завезут :)

С разморозкой!
https://docs.python.org/release/1.4/ref/ref2.html#HDR0 (1996)


The following tokens serve as delimiters in the grammar:
(       )       [       ]       {       }
,       :       .       `       =       ;


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 17:23 
Это конец. Борщ в итоге, как С++.

"Выпуск языка программирования Python 3.8"
Отправлено Ilya Indigo , 15-Окт-19 19:34 
> Поддержка операций присвоения внутри сложных выражений.

В PHP 100 лет уже как и с обычным =
В JS это завезите.


"Выпуск языка программирования Python 3.8"
Отправлено Нонон , 15-Окт-19 21:15 
Не надо такое в Js.. больше возможностей для говнокода


Деструктуризация в js есть и хватит


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 22:09 
>При помощи нового оператора ":="

Самое отвратительное нововведение. Только нового синтаксиса для присвоения нам не хватало.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 22:56 
> Самое отвратительное нововведение. Только нового синтаксиса для присвоения нам не хватало.

А как лучше записать без нового синтаксиса вот это:

stuff = [(y := f(x), x/y) for x in range(5)]

Вызывать функцию дважды? (f(x), x/f(x)) Впихнуть лямбду? Развернуть в 4 строки с присваиванием? Предложи вариант лучше.

Смотри на это не как на присваивание, а как на named expression. Если у тебя выражение дублируется несколько раз в одной строке, то ты вместо копипасты можешь один раз дать ему имя и дальше это имя использовать.

Никто не говорит, что так нужно писать всегда. Наоборот, в https://www.python.org/dev/peps/pep-0572/ есть огромный список того, как НЕ НАДО делать. Но если ты всё равно пишешь говнокод, то такая конструкция позволяет написать его чуточку лучше.


"Выпуск языка программирования Python 3.8"
Отправлено all_glory_to_the_hypnotoad , 15-Окт-19 23:02 
[ (f, x/f)  for x, f in enumerate(map(f, range(5))) ]
[ (f, x/f)  for x, f in map(lambda x: (x, f(x)), range(5))) ]

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


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 16-Окт-19 01:55 
>А как лучше записать без нового синтаксиса вот это:

Во-первых, то что написано - это выстрел в ногу. Должно быть написано как-то так:

stuff = []
for x in range(5):
    y = f(x)
    stuff.append((y, x/y))


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

> The syntactic similarity between if (x == y) and if (x = y) belies their drastically different semantics. Thus this proposal uses := to clarify the distinction.

Они опоздали лет на 30. Был бы в питоне := для присваиваний изначально - был бы он там же, где сейчас паскаль.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 16-Окт-19 22:30 
> Во-первых, то что написано - это выстрел в ногу. Должно быть написано
> как-то так:
> stuff = []
> for x in range(5):
>     y = f(x)
>     stuff.append((y, x/y))

И мы получили 4 строки вместо одной.

А опыт показывает, что реальные живые программисты в таких случаях пишут одну строку. И чаще всего это будет строка с двойным вызовом (f(x), x/f(x)). О чём и написано в PEP.

Мы тут насочиняли уже 3 альтернативы, и все они хуже, чем новый синтаксис. Вот для этого новый синтаксис и придуман. Он не должен сделать код идеальным, он просто делает его чуточку лучше.

> Во-вторых, не нужно было вводить новый синтаксис, можно было использовать простое =
> . Аргументация в PEP притянута за уши.

Добавить "простое =" — это всё равно новый синтаксис, хоть так хоть иначе. Но главное применение этого синтаксиса — named expression. А там сравнение по "=" встречается довольно часто. А присваивание — редко. Вот его и сделали := чтобы он явно отличался от сравнения — так просто легче читать.

> Они опоздали лет на 30. Был бы в питоне := для присваиваний
> изначально - был бы он там же, где сейчас паскаль.

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

А разработчиков паскаля потом наняли в макрософт, и они создали дотнет.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:29 
Радйся, что нет var, let и const. А у некоторых есть =)

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:49 
local, global и const - очень даже помогают. Впрочем, у некоторых идентификатор становится константой уже в том случае, если первая буква заглавная.

"Выпуск языка программирования Python 3.8"
Отправлено letsmac , 16-Окт-19 17:19 
Да эти операторы, как раз помогают понять, чего  тут кто накатал.

"Выпуск языка программирования Python 3.8"
Отправлено all_glory_to_the_hypnotoad , 15-Окт-19 22:31 
> Поддержка операций присвоения внутри сложных выражений. При помощи нового оператора ":=" появилась возможность выполнять операции присвоения значений внутри других выражений...

Думал до Гвидо уже никогда не дойдёт, что его попытки заствить писать код просто методом синтаксической бедноты делают только хуже. Ещё бы до ноего дошло, что нужно порезать self, метапрограммирование и манки патчинг.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:33 
> Ещё бы до ноего дошло, что нужно порезать self, метапрограммирование и манки патчинг.

self отличное решение, а вот множественное наследование и правдо надо убрать нахрен вместе с ООП. Вот живут на типах как-то в Swift и Golang и рады жизни.

Метапрограммирвоание тоже херня какая-то зачем лазить в какие-то свойства черт знает чего там портить в обьектах.

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

Черт С++ выходит какой-то динамический.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:40 
иксперт, ничего сложней хеллоуворлда на пейтоне не писавший, детектед

"Выпуск языка программирования Python 3.8"
Отправлено Анонимно , 17-Окт-19 00:06 
Не надо запрещать наследование, надо запрещать множественное наследование как сделали в шарпах.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:50 
Какой Гвидо? Если тот, который, то он уже год как не работает.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 16-Окт-19 00:20 
> Какой Гвидо? Если тот, который, то он уже год как не работает.

Когда это внедрялось — ещё работал. Это — его фича.


"Выпуск языка программирования Python 3.8"
Отправлено Kurakofu , 16-Окт-19 12:30 
Он был против. Из-за этой фичи он и ушёл как раз.

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 16-Окт-19 22:17 
> Он был против. Из-за этой фичи он и ушёл как раз.

Это — его фича. Он стоит в авторах PEP 572, он искал примеры в исходниках dropbox-а, и он холиварил в рассылке. А его заплевали. Его это достало. Потому и ушёл.


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 15-Окт-19 23:42 
Лучше бы они blist-ы добавили. Списки, где вставка, удаление, сложение и адресация по индексу O(1) — что может быть лучше? Но нет...

"Выпуск языка программирования Python 3.8"
Отправлено letsmac , 16-Окт-19 17:20 
Пиши на Си. Там еще можно память выделять, как тебе нужно, а не как компилятору.

"Выпуск языка программирования Python 3.8"
Отправлено all_glory_to_the_hypnotoad , 17-Окт-19 07:46 
> Лучше бы они blist-ы добавили. Списки, где вставка, удаление, сложение и адресация по индексу O(1) — что может быть лучше?

Случай, когда тебя нагрели напёрсточники, но ты ещё не понял как и рад до ушей


"Выпуск языка программирования Python 3.8"
Отправлено rex , 23-Окт-19 09:15 
O(log n)
https://pypi.org/project/blist/

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 23-Окт-19 19:34 
> O(log n)
> https://pypi.org/project/blist/

А у list-а там O(n). blist лучше же, не?


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 16-Окт-19 08:05 
В новости нет самого главного! Добавили `functools.cached_property`.

"Выпуск языка программирования Python 3.8"
Отправлено Tishka17 , 16-Окт-19 09:05 
В тайпинге ещё одна важная вещь появилась: Protocol

"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 16-Окт-19 12:21 
Еще Literal и Final, только они в typing_extensions уже сто лет как есть.

"Выпуск языка программирования Python 3.8"
Отправлено Анонимно , 17-Окт-19 00:14 
В 4 версии ждем Пайрутины или незачёт.

"Выпуск языка программирования Python 3.8"
Отправлено Sly_tom_cat , 18-Окт-19 14:54 
Ну тогда еще и pychan-ы нужны, без них pyroutine-ы не взлетят.

"Выпуск языка программирования Python 3.8"
Отправлено rex , 23-Окт-19 09:20 
чем оно лучше yield-а?

"Выпуск языка программирования Python 3.8"
Отправлено mumu , 19-Окт-19 06:28 
> while (block := f.read(256)) != '':

При Гвидо такого перла не было :-(
Rest in Peace sweet Python


"Выпуск языка программирования Python 3.8"
Отправлено Аноним , 20-Окт-19 15:38 
> При Гвидо такого перла не было :-(

Гвидо — автор этого "перла".


"Выпуск языка программирования Python 3.8"
Отправлено Андрей , 21-Окт-19 18:38 
Любой язык со временем превращается в Perl