LINUX.ORG.RU

async и await (PEP-492) — попадут ли в Python-3.5 ?

 async-await,


0

3

привет друзья!

как считаете...

...async и await — попадут ли в Python-3.5 ? (PEP-492)

до заморозки Python-3.5 — осталось ждать примерно месяц. и последняя альфа-версия (alpha-4) уже была выпущена.. но без PEP-492 ..

но есть ли вероятность ожидать это (PEP-492) в beta-1 ?

или быть может уже *точно* есть инфа — что этого НЕ будет в Python-3.5 ?

### UPDATED (2015-05-XX) ###

теперь PEP-0478 ссылается на PEP-492 ..

это отличная новость :-)

★★★★★

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

Ты явно под веществами. Каким образом «разрывы» (блжад, ты реально норкоман) могут повлиять на локальные для функции переменные.

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

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

И опять таки async/await никак не страхует от изменения глобального стейта. Так что без статического анализа они как бы бесполезны.

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

Каким образом «разрывы» (блжад, ты реально норкоман)...

мне тоже это слово понравилось — поэтому я его и употребил :)

Каким образом «разрывы» (блжад, ты реально норкоман) могут повлиять на локальные для функции переменные.

ты ни когда не думал как фокусник проделывает фокусы на сцене?

он делает какое-то невероято простое действие (например: покрутил «волшебной» палочкой над шляпой) — но резальтат оказывается неожиданным и ошеломляющим (например: из шляпы появился кролик)... понимаешь о чём я?

как такие фокусы получаются?

а точно также как и в нашем случае с локальными переменными :-) --

-- кролик УЖЕ был в шляпе, перед началом момента когда фокусник крутил «волшебной» палочкой над шляпой :-) ..

а ошибка УЖЕ может закрасться в локальные переменные — даже когда мы работать-то ними и не начали. надо смотреть на то как мы получаем их значения! :)

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

ну почему сразу «глобальное».. просто некоторое общее состояние (не глобальное!), разделённое между несколькими зелёными нитями!

а если мы вручную указывает await , при обращении к этиму состоянию, то значит мы и точно знаем где нам нужна синхронизация, а где не нужна :-) ..

ну а если у нас нет ни какой прямой возможности обращаться к общему состоянию — то значит остаётся только какие-нибудь «трубы» (pipe) дыи «очереди» (queue) использовать. и в случае них — конечно же можно не думать о «болезненых разрывах» :-)

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

просто некоторое общее состояние (не глобальное!), разделённое между несколькими зелёными нитями!

Давай я так. Я тупое бревно и без кода не понимаю о чем ты. Графоманить я тоже умею. Show me the code как грится.

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

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

то есть — ты хочешь чтобы я сам наделал бы ошибок и показал тебе их? :-)

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

У тебя было утверждение — автоматическая асинхронность опасна и ведет к трудноотлавливаемым ошибкам. Показывай или сливайся. Смайликами не отделаешься, балаболка.

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

и ведет к трудноотлавливаемым ошибкам

а ещё я писал что в gevent нужно засовывать везде синхронизирующие примитивы (прям как в обычном Multithreading), чтобы избегать этих ошибок.. и что это в итоге этот подход только лишь увеличивает код :-) [по сравнению с кодом, где ручное расставление await]

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

# P.S.: вобщем, ты наскучал мне.. (и хоть бы уж Login-бы сделал бы?!).. анонимный троль :-) . если новых тезисов у тебя нет, то можешь считать что я слился :-D

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

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

Царь, можете дальше не напрягаться, мы все прекрасно знаем вашу породу. Какое бы детальное ТЗ не было дано, вы всегда прикинетесь шлангом.

Всего то требуется показать небезопасный код с использованием gevent, ведь это так легко — нужно просто не использовать «синхронизирующие примитивы».

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

если новых тезисов у тебя нет

А какие новые тезисы могут быть? async/await никчемный сахар над yield from, не имеющий никаких преимуществ перед gevent (за исключением таргета на py3). В PEP эта тема, кстати, тоже не раскрыта.

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

уже два раза писал в этой теме, что кроме сахара этот PEP ещё и добавляет новую *явную* сущность — native_coroutines .

то есть это НЕ функция-генератор.

таким образом в Пайсоне будут:

1. обычные функции

2. функции-генераторы

3. короутины

и не будет между ними семантической путанницы.

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