Как стать автором
Обновить

Комментарии 62

Спасибо за обзор! Забыли еще добавить:
  • PEP 614 позволяет в качестве декораторов использовать любое выражение
  • новый модуль graphlib для манипуляции с графами, в частности, топологической сортировки
  • принудительная генерация OpenSSL хешей в hashlib при помощи деактивации встроенных алгоритмов
Спасибо, обновил. Еще добавил информацию о изменениях в математическом модуле.
Где это можно посмотреть? В информации к выпуску не увидел. Доступна только информация по Windows XP. (Python 3.5+)
www.python.org/downloads/release/python-390
This is the first version of Python to default to the 64-bit installer on Windows. The installer now also actively disallows installation on Windows 7. Python 3.9 is incompatible with this unsupported version of Windows.
Спасибо, добавил в статью.
Коллеги, простите за возможно глупый вопрос, это я что, не смогу таскать dll нового питона со своим приложением в целях выполнения скриптов на XP, Win7? Или там только инсталлятор? Сам интерпретатор будет работать?
Python 3.9 is incompatible with this unsupported version of Windows.

я думаю тут ответ
Спасибо, думал вдруг какая-то ошибка.
лирика
Грусть печаль, месяца три изучаю с целью сменить язык бизнес-логики у своего (не маленького) b2b проекта, а тут такое здрасьте. Win7 у клиентов как грязи. И так на старом говне всё ворочается, так хотелось свежего воздуха, а тут такое. Даже последние джедайские технологии тоже говорят что сиди, мол, на старом. Да что ж такое… Напьюсь сегодня с горя.

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

Спасибо. Подумав, отринул алкоголь)

Недавно обнаружил в просторах гитхаба проект порта python 3.9.6 на Windows 7: https://github.com/NulAsh/cpython

Форкнутая версия периодически обновляется. Может, кому-то будет полезно.

В readme позабавило: "Thanks to developers of wine, I used some of their code to emulate functions absent in Windows 7."

Отличный подарок к нг. Спасибо!

А вам непременно нужен функционал 3.9?

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

В таком случае остаётся только переходить на новые ОС. Авторы Питона прекращают поддержку старых ОС не по злобе, а потому что они тоже хотят писать на развивающихся ЯП (Си и С++), компиляторы к которым в новых версиях точно так же поддержку старых ОС прекращают...

компиляторы к которым в новых версиях точно так же поддержку старых ОС прекращают...

пруфы, предъявите, пожалуйста. Вообще картинка грустная получается. Потому что в корпоративной и промышленной среде W7 еще долго будет (хотя бы даже в виде embedded вариантов). Вот она — обратная сторона "ускорения" (туда же — весь девопс и эджайл).


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

И много сейчас современных, поддерживаемых компиляторов и сред выполнения поддерживают тот же DOS 6.22 или ядра линукса первых версий?

Никто не будет поддерживать технологии, которыми подавляющее большинство не пользуется уже десяток лет.
Атака детектед!!! Алярм!
Вы зачем-то утрируете, приписываете мне переживания за DOS 6.22 и сразу же с блеском «утираете нос» какой-то очевидностью)))

Я что, за DOS переживаю? разговор конкретно о Win7. А её как грязи у того бизнеса который я автоматизирую. Да и вообще по стране-матушке (если вы не в курсе — то вот, знайте )))

Да не о чем тут спорить, Win7 тоже уйдёт, железки новые уже с десяткой, а у меня не что-то на передке науки что бы за версию питона переживать, в самом деле. Я от новости просто слегка насторожился.
Ну так и пользуйтесь последней стабильной версией, которая у вас идёт. У меня уже много лет как один скрипт на XP крутится версии 3.4 и ничего. Нет какого-то смысла обновлять.
Что такое «распаковка диктовки»?
Должно быть «распаковка словарей»
Спасибо! Очень полезные нововведения.

В статье опечатка
>>graph = {'E': {'C', 'F'}, 'D': {'B', 'C'}, 'B': {'A'}, 'A': {'F'}}
>>ts = TopologicalSorter (граф)
граф должен быть не по-русски тут
Благодарю, поправил. Примеры по новой библиотеке смотрел в разных источниках и документации.
В примере опечатка, поправил, чекнул и не понял как картинка в статье связана с выводом.
Вот этот же граф и он же отсортированный. Но это все равно не объясняет что такое топологическая сортировка и зачем она нужна=(
image
image

Ну вот представьте, что за этими буквами скрываются записи в БД, которые нужно удалить не нарушив в процессе ни одного ограничения по внешнему ключу. Или наоборот, их надо добавить в БД. В каком порядке эти операции над ними следует делать? Правильный ответ: в топологическом.

Спасибо, дошло. Так как сортировка не детерминированная, то в статье просто еще один ее вариант нарисованный справа налево.
Интересно то, что в результате вы получаете список отсортированный не так как в примере.
Библиотека с какой-то вероятностью может выдавать два ответа:
"['C', 'F', 'E', 'A', 'B', 'D']"
"['F', 'C', 'A', 'E', 'B', 'D']"
Оба ответа не являются ошибкой, они верны.
По теме сортировки — ведь в теории возможен вариант ['F', 'C', 'A', 'B', 'D', 'E']?

Да, это тоже корректный топологический порядок.

Если Вы не против, я воспользуюсь Вашей схемой, она наиболее наглядно демонстрирует.
Только за=)
чекнул

Простите, что вы сделали?

Чекнул == проверил

Впервые такое вижу. Это на каком языке?
От английского check.
Вы с какой планеты?
Это уже почти на Русском
От английского check.

Блин, я думал это какой-то термин, которому нет прямого аналога в русском языке и обязательно требуется заимствование (навроде «компиляции», «обфускации» и т.д.) Подумал, что появился еще какой-то хитрый процесс, который можно сделать с кодом программы.
Вы с какой планеты?

Третьей от Солнца.
Это уже почти на Русском

В каком это смысле «почти на русском»? На русском «проверил» это «проверил», никакого «чекнул» и близко нет.
В каком это смысле «почти на русском»?

В прямом. Это слово легко выговаривается и звучит как будто русское. Более того, у него русский корень (который был заимствован из того же самого английского слова не менее века назад).

В прямом. Это слово легко выговаривается и звучит как будто русское.
Но в русском языке уже есть слово «чек», и оно означает совсем другое. Непосвящённые могут подумать, что речь идёт о выписке чека. Ну или об установке галочки в чек-бокс. Ну или вообще не поймут. А для «проверить» есть слово «проверить», простое и абсолютно однозначное.

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

Ну вот я его и не принял за «выписал чек», а просто не понял. О чём и речь. Совершенно непонятно, зачем тащить в язык слова, простые аналоги которых в нём и так есть и понятны всем и каждому. В результате получится сплошное «вам чиз одним писом или послайсить?»
Слово «чек» произошло от французского «chèque», на русском это «платёжка». А так как «В конце XX века английский язык утвердился как важнейший международный язык», сменив французский с пьедестала, то в нашем веке «чекнуть — посмотреть» имеет бОльшую силу, чем «чекнуть — выписать чек».
нашем веке «чекнуть — посмотреть» имеет бОльшую силу, чем «чекнуть — выписать чек».

«Сила» определяется не тем, из какого языка пришло, а ситуацией в языке-приёмнике. В русском уже есть «чек», и у него есть значение, нравится это кому-то, или нет. Охота говорить на английском — говорите на английском. Русский оставьте в покое.

image


Ещё можно обсудить, какого рода слово 'кофе' и почему считать его ср.р. — неправильно (нет).

какого рода слово 'кофе' и почему считать его ср.р. — неправильно (нет).

на самом деле — да, надо срочно откатиться на дореволюционную орфографию ) Долой необоснованное упрощение языка! Мы же не гоблины какие-то!

Под моими постами уже традиция подобные диалоги затевать.)
image
Я не могу вас не поддержать. Сам страдаю «языковым пуризмом». Видимо, из-за моего первого, филологического образования (а может, это врожденное). Везде, где только могу, стараюсь прививать бережное отношение к языку. В последнее время я чувствую себя часто, как на этом «важном совещании».
Ну или об установке галочки в чек-бокс.

да, кстати, чекнул = "поставил галочку в чек-боксе"

Да там много интересного. Гугл-переводчик выдаёт для слова «check» больше 40 вариантов перевода. В том числе такие, как:
передергивать (собенно хорошо)
объявлять шах
обставлять
делать выговор
давать нагоняй

Очень перспективное для заимствования слово.
Я бы еще добавил, что Python перешел на стабильные годовые циклы выпуска, см. PEP 602.

Каждая новая версия Python теперь будет выходить в октябре. Python 3.10 выйдет в октябре 2021, Python 3.11 в октябре 2022. А каждые два месяца будет выходить бакфикс. Для меня это великолепная новость, теперь можно четко планировать upgrade python окружения.
Совсем вылетело из головы, я уже это воспринимал как данность и что все об этом знают.)
Спасибо, добавлю в начало.

А вот подскажите, специалисты по питону, я запускаю, скажем, youtube_dl, он после запуска тупит 1-2 секунды, и потом начинает работать (что-то пишет в консоль, качать начинает и т.д.). И так каждый запуск. Вот это уже поправили в этом новомодном питоне, или воз и нынче там?

А почему вы думаете, что проблема в Питоне, а не в youtube_dl или вовсе в вашей сетевой инфраструктуре?


Вообще, по симптомам похоже либо на проблему с DNS, либо на проблему с IPv6. Ах да, ещё могут тормозить автоопределение HTTP прокси, проверка CRL, антивирус и винда.

Судя по торможению даже при запуске без аргументов или с --help на проблемы с сетью не похоже.


антивирус и винда

К счастью, нет ни того, ни другого.


И всё же если есть подозрение, что это локальные проблемы — как их отследить?

Можно взять профайлер для питона (например, github.com/emeryberger/scalene) и посмотреть, на что питон тратит время. Возможно, там тяжелый импорт какого-то кода — поэтому проявляется каждый запуск.
Немного странно спрашивать о проблеме быстродействия конкретной программы в треде о ЯП, вы не находите?
я не специалист, но в файле YoutubeDL.py около сотни строк импортов и в папке с программой сотни пайтон скриптов. похоже, проблема в том, что программа гораздо объёмнее, чем от неё ожидаешь. никто не винит язык программирования в долгой загрузке какого-нибудь условного фотошопа.
«Новый» синтаксический парсер должен был быть производительнее, но судя по табличке не смог.
Вероятно, задел на долгосрочную перспективу.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Изменить настройки темы

Истории