LINUX.ORG.RU

Python 3.14

 

Python 3.14

1

4

Вышел Python 3.14.

Из новшеств:

  • официальная поддержка свободной многопоточности (free-threading, PEP 779);
  • новый модуль compression.zstd для сжатия согласно Zstandard (PEP 784);
  • выражения except и except* теперь могут записываться без скобок (PEP 758);
  • многое другое.

Обзор на YouTube о производительности свежих версий Python.

Обзор изменений в диагностике ошибок на Хабре.

>>> Подробности на pythoninsider.blogspot.com

★☆

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

Согласен с теми, кто считает, что выделение болов кода с помощью пробелов - лютый упорин. В остальном язычок вполне пригодный, но не для тех целей, для которых его массово используют последние 15 лет.

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

Да нет у него проблем с автоформатированием. Вообще никаких. И никогда не было.

Может он про PEP8?

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

Ты себя со стороны слышишь?

  1. Язык простой, даже без опыта можно скрипты писать.
  2. Но чтобы вкатиться, надо вникнуть.
  3. Чем дальше идёт обсуждение, тем больше появляется того, во что надо вникнуть.
  4. Было - любой программист на опыте разберётся легко, стало - теперь особая промывка мозгов требуется, чтобы на Питоне писать.

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

Это отличает хороший дизайн от иллюзии хорошего дизайна.

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

Ну есть такой язык уже, называется mojo

О, теперь они хайпят на «AI». А исходники компилятора открыли, как обещали?

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

Так-то есть Nim, который гораздо старше.

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

и отс(той)тупы(х) питона удобней чем закрывающие скобки на отдельных строках в иных языках где гирлянда }}}} очень информативна

  1. Гирлянда }}}} информативнее, чем её отсутствие.
  2. Чтобы не было гирлянды }}}}, следует использовать языки, где разные виды блоков закрываются визуально разными ключевыми словами. К сожалению, таких ЯП не много, индустрия предпочитает жрать говно.
wandrien ★★★
()
Ответ на: комментарий от wandrien

А в какой язык не надо вникнуть? В каком языке нет своих особенностей?

Вот только не надо про луа, тут особенностей своих и нюансов выше крыши. Прост на нем нет инфраструктуры такой, как у питона. Ноль модулей, ноль наработок - есть базовые инструменты и ни в чем себе не отказывай, а кроме этого еще и куча всяких своих косяков.

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

дык fi rof и прочий угар-68 в том числе и не пошло ибо замена заголовка вынуждает использовать структурный редактор который будет заменять закрывающие скобки на адекватные изменёные что то же не контектно-свободная регулярка как в обычных ial-60 наследниках

имхо отступы vs скобки это такая вульгарщина

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

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

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

Вообще то он начал с слов: писать скрипты.

А если нужно писать уже прогу и уже с ОО то тут нужно немного знать уже.

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

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

синтаксис блоков в Ruby обеспечивает более плотную и при этом более понятную запись выражений

Да, вот это очень удачная фишка руби. Наконец-то лямбды стали выглядеть пристойно и их начали очень активно использовать. В перле, луа и js этого сильно не хватало.

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

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

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

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

Поэтому речь не просто об особенностях, а об особенностях, которые увеличивают параметр wtf per second.

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

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

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

Вообще то он начал с слов: писать скрипты.

А если нужно писать уже прогу и уже с ОО то тут нужно немного знать уже.

А где граница между скриптом и программой?

Парсер сайта, висящий в кроне, и дергающий с сайта новости - это еще скрипт или уже программа?

Когда я показал ему типичный фргамент кода на Питоне, то оказалось что это не по феншую. Сразу корпоративными линтерами начал мне угрожать. Хотя это и есть фрагмент типичного скрипта.

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

Но чтобы вкатиться, надо вникнуть.

Нет. Я говорю, что ваша с @bread критика - мелочные поверхностные придирки. Типа спора остроконечников с тупоконечниками.

Например:

  • В мире существует проблема голода, надо её решать.
  • Потому что люди разбивают яйца с тупого конца, а надо с острого («форматирование отступами - главная проблема»)
  • На Шри-Ланке продовольственный кризис из-за проблем с доступностью удобрений.
  • Потому что люди разбивают яйца с острого конца, а надо с тупого.

В Python есть проблемы. И они известны почти всем, кто на нём пишет. Например, статическая типизация до сих пор имеет множество недостатков, плюс сложные моменты с типами до сих пор не описаны в документации. И тому подобные вещи, вплоть до реальных проблем с производительностью в конкретных местах конкретных проектов.

Только вы-то об этом не в курсе, вы проскользили по поверхности, собрали упавшие пылинки, и из этих пылинок раздуваете слона. При этом вас распирает от собственной экспертности, хотя сразу понятно по этому спору, что на Python вы не писали.

А развенчивать одни и те же страшилки, которые все питонисты наслышались уже бесчетное количество раз за 30 лет - пускай кто-нибудь другой.

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

Парсер сайта, висящий в кроне, и дергающий с сайта новости - это еще скрипт или уже программа?

Вот к примеру игра: Цивилизация 4, уже программа.

Кстати не помню я что то скриптов на питоне юзающих классы …

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

Например, статическая типизация до сих пор имеет множество недостатков

Это очень сложный способ сказать фразу «статическая типизация отсутствует».

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

Только вы-то об этом не в курсе, вы проскользили по поверхности, собрали упавшие пылинки, и из этих пылинок раздуваете слона. При этом вас распирает от собственной экспертности, хотя сразу понятно по этому спору, что на Python вы не писали.

Я писал и оптимизировал на Питоне сетевое приложение на гринлетах. Вопросы?

Понимаешь, в чем дело. Есть объектиная сложность, а есть какая-то левая, стремная сложность, которую какие-то непонятные люди хотят мне подсунуть.

Скажем, разработка эффективного многопоточного приложения - это объективная сложность, это интересно, это продуктивно, это приносит удовлетворение от работы.

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

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

Ничоси пылинки!

Синтаксис питона таков, что нельзя реализовать автоформатирование кода. Это же просто красная черта. Чем кто думал, когда такое запроектировал.

Но к сожалению, в некоторых нишах, типа ML, питон безальтернативен и приходится это терпеть.

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

Но к сожалению, в некоторых нишах, типа ML, питон безальтернативен и приходится это терпеть.

Это неправда. На питоне есть куча ML проектов, но питон в них играет роль изоленты, которую можно без проблем заменить на что угодно.

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

что нельзя реализовать автоформатирование кода.

а у ruff животне форматят?

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

Я писал и оптимизировал на Питоне сетевое приложение на гринлетах. Вопросы?

Хм. Это еще зачем?

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

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

Так-то есть Nim, который гораздо старше.

Не трогал Nim, но как я понял, что у Nim свой оригинальный компилятор, mojo же полагается в этом на LLVM и его инфраструктуру.

С открытостью компилятора тоже не скажу - они там постоянно что-то меняют в последнее время, поэтому я поставил этот mojo себе, посмотрел и решил пока дождаться когда же все у них устаканиться, чтобы можно было идти дальше. Пока Python, R, Julia хватает за глаза.

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

И как это будет выглядеть, вот например мне нужен Stable Diffusion XL, сегодня, как мне использовать его без питона? Есть инструкция?

Чем я могу заменить ComfyUI, чтобы альтернатива была не на питоне? Разработать аналог, затратив 2000 лет?

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

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

последней строкой блока делайте:

pass #номер блока али ещё какой угар

чем не терминатор?

али вообще

автоинкрементируемый_литерал_числоj

тогда весь ваш питон-код с блоками пронумерованные натуральными_мнимыми

хде сложность ?

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

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

Блин, да откуда вы берётесь? Где у вас не работает автоформатирование? Как?

Вы в курсе про существование black, ruff format? Про то, что в Idea автоформатирование из коробки уже лет 15 есть, до появления black и ruff.

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

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

Я не вкурсе, что такое stable diffusion, и как его использовать, но на hugging face лежит куча разных моделей, корорые можно использовать без всякого питона, хотя многие предоставляют api на питоне по умолчанию. Т.е. безальтернативным питон не является, вопреки распространённому заблуждению. Он очень популярен, но не безальтернативен.

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

И как это будет выглядеть, вот например мне нужен Stable Diffusion XL, сегодня, как мне использовать его без питона? Есть инструкция?

Вот : https://gen-api.ru/model/sdxl/api

там справа переключатель: Python, Node.js и т.д.

Это не оно?

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

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

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

Ты писал на Python. Вот странно. Весь мир питонистов лет 10 пользуется black, в последние годы ruff format. И у них всё прекрасно автоформатируется.

Кстати, где кончается блок - предельно понятно.

А если код «не отформатирован», то в случае Python он невалиден (код). Откуда такой может взяться?

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

Если блоки выделяются отступами, автоформатирование не может быть реализовано by design, потому что невозможно понять автоматически, где кончается блок, когда код не отформатирован.

Звучит так:
если блоки выделяются { то не возможно понять автоматически, где кончается блок когда пропущен знак }

Дошло?

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

В Python есть проблемы. И они известны почти всем, кто на нём пишет.

Так начали как раз с типизации и производительности. Просто отступы это такая мозоль у питонистов, что ноги чешутся наступить. Подрыв гарантирован.

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

Я теперь понял, о чём ты говоришь. Это эквивалентно: «Если в С удалить все знаки }, то как потом отформатировать код? Отстой!»

Ясно. Понятно.

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

Клоунада началась.

Причем тут это? Вы написали 1 в 1 то что я написал, так как пропущенный отступ в питон это как раз пропущенный знак закрытия блока в другом языке. Извините Вы что реально это не понимаете?

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

В том то и дело, что в C надо удалять знаки, а в питоне не надо, их просто нету, поэтому код не может быть авто отформатирован. Он должен быть предварительно выровнян вручную.

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

Судя по ответам он не совсем это понимает :) Он думает что {,} в другом языке сами появляются автоматом при авто форматировании ;)

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

Отступ это не знак, это отступ. Задача при автоформатировании - автоматически добавить отступы. То есть, априори предполагается, что изначально отступов нет.

На питоне, это невозможно сделать. Это же очевидно. Неужели вы будете отрицать очевидные вещи? Фантастика.

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

последней строкой блока делайте: pass #номер блока али ещё какой угар

Это просто мусор, а не терминатор.

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

Отступ это не знак, это отступ.

Я вас удивлю но в Питоне отступ это знак, правда вы его не совсем видите.

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

Миллионы, если не десятки миллионов людей в самых разных редакторах справляются с этим уже лет 30. Без малейших затруднений.

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

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

Не надо показывать свою тупость,

Стоп. Для начала укажите где указал что Вы тупой? И почему Вы можете мне это указывать?

mx__ ★★★★★
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.