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)
Ответ на: комментарий от James_Holden

Вы придумываете глупость и приписываете ее мне. Это красная линия в споре, вообще-то.

В какой фразе?

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

Так в том и прикол, что невидимый символ является семантически значимым. Хотя это просто пустота, пробел! Но не в питоне. Где ещё встретишь такой цирк. Есть ещё yaml, тоже веселенький. Я как-то разгребал шаблоны на haml, это адок. Какая гнида это придумала, просто нет слов. В питоне хотя бы не бывает такой вложенности.

bread
()
Ответ на: комментарий от Puzan
- Видишь суслика?
- Нет.
- И я не вижу. А он есть!
- Понял.
wandrien ★★★
()
Ответ на: комментарий от Puzan

А как его отличить от других пробелов?

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

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

Так и я лично, могу в notepad.exe хоть на java писать. И холодной водой зимой облиться. Но что это говорит о чем, не понятно.

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

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

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

Python набирал популярность, потому что его выбрали в качестве учебного ЯП в ВУЗах США.

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

Не из-за читаемости синтаксиса, а из-за кажущейся простоты синтаксиса в хеллоу ворлдах для первокурсников.

Нет. Из-за читаемости синтаксиса и действительной простоты, который на тот момент выгодно отличался от PHP, Perl и Ruby.

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

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

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

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

Это не совсем так. Вы просто пишите правильно и все работает.

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

Сфинксуете?

то у вас автоформатирование не возможно у змеюки свободной в нитях

то вам стало важно буквальное значение ε входного языка конечного автомата

капричио вы

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

Выразительность сразу скатывается куда-то в жабу

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

но оптимизаций никаких это не дает.

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

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

Ну и какой символ интерпретатор питона понимает как отступ? Нет такого символа. Отступ не эквивалентен одному какому-то символу. В питоне, ага.

Тогда на основании чего, вы утверждаете, что отступ в питоне, это эквивалент «{»? { - это один символ. Всегда. Это один видимый символ. Отступ - нет. У вас нет логики.

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

Буквально - мне сказали, что в сишке есть {, в питоне есть «отступ». Это одно и то же, вообще одно и то же.

Вот я и спрашиваю, какой конкретно код имеет символ «отступ в питоне». Если для { имеется конкретный код и он известен.

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

Проблемы с автоформатированием почему-то только у питона. Да и бог с ним, банально попрыгать по блокам без специальной поддержки редактора не получится.

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

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

…89793…

У Кнута константы записаны до 15 дес.цифр после запятой.

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

Мне нравится, что современное поколение программистов выбросило все эти невнятные перлы на помойку

Да уж, они теперь белочек на расте рисуют.

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

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

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

Это же очевидно, с чем тут спорить?

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

а не в большом продакшне.

А что в большом продакшене положено? Язык, с невнятным хрупким синтаксисом, где визуально не видно границ блоков? Зашибись.

Нет. Из-за читаемости синтаксиса и действительной простоты, который на тот момент выгодно отличался от PHP, Perl и Ruby.

В PHP никогда не было «перловки», а в Ruby, слава богу, всю «перловку» выкинули и сделали язык очень чистым и понятным.

Я на своём опыте не вижу никакой «действительной простоты», и я много на чем писал. Это сложный ЯП со сложным рантаймом и правилами работы под капотом, понимание которых критически важно для написания кода, и местами с явными пробелами в документации. То, что там нет {скобочек} - это и есть та фиктивная простота, которую втюхивают как «язык, понятный первокурсникам».

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

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

Псевдокод можено написать на подобии Питона, Си, JS, Паскаля или любого другого ЯП, или просто записать словами на русском, английском или любом человеческом языке. Всё это псевдокод. Ключевое - нет формальной грамматики.

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

Чтобы не было гирлянды }}}}, следует использовать языки, где разные виды блоков закрываются визуально разными ключевыми словами.

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

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

Даёшь белочек в комптайме! Даешь типобезопасных белочек! =)

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

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

А если 5 циклов for вложено друг в друга, то все равно гирлянда будет.

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

но сам то sdxl работает на питоне.

Отдельно взятый продук написан на питоне, и чё? Вычислительное ядро у него наверняка сишное. Т.е. может использоваться с любым языком, в котором есть сишный FFI. К тому же, pytorch, на котором работают питоновские модели, не единственный ML фреймворк, хотя и самый популярный. Есть нативные фреймворки для разных языков, т.е. альтернатива таки есть.

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

Ну и какой символ интерпретатор питона понимает как отступ?

Наверное это не ко мне вопрос, я же не писал интерпретатор и не могу вам точно сказать как.

У вас нет логики.

Почему Вы все время скатываетесь на личности? Я что где то писал что у вас нет логики?

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

ежель тупить то

https://github.com/python/cpython/blob/3.14/Lib/token.py#L12

в Пита-коне оступы семантику несут а не декорацию - ровно поэтому не все лесенки будут от автоформатированы ruff|али ещё чем

при этом где нет блока и очевидные лишние пробелы можно «автопочинить» эвристиками - однако такие дружелюбные парсеры имеют побочки в виде неожиданных для части проблемных_программистов подмен семантики

ваще претенция к отступам в питоне это вульгарно

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

Я имею в виду, практическая альтернатива, здесь и сейчас. А не эта философская вода. Я же не спорю, что нейронку можно хоть на асмемблере реализовать. Но кто это будет делать. В этой сфере все плотнейше сидит на питоне, поэтому придётся использовать питон. Без вариантов.

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

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

Мда, и после того что здесь написали мне тычут что у меня нет логики … мда.

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

Язык, с невнятным хрупким синтаксисом, где визуально не видно границ блоков?

Тебе уже говорили в этом треде, повторю еще раз: не существует идеальных языков. У питона множество других недостатков, помимо отступов. Да, я тоже считаю, что скобки были бы лучше, но эти недостатки питона компенсируются другими его достоинствами. Потому в большом продакшне и живет.

В PHP никогда не было «перловки»

Языки, в которых для доступа к значению используется $, дефективны. Аксиома.

сделали язык очень чистым и понятным

Поезд ушел.

Я на своём опыте не вижу никакой «действительной простоты», и я много на чем писал.

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

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

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

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

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

Наверное это не ко мне вопрос, я же не писал интерпретатор и не могу вам точно сказать как.

Это наводящий вопрос. Размышляя над ним, можно что-то понять. Или не понять.

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

У тебя два предложения логически не связаны.

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

В этой сфере все плотнейше сидит на питоне, поэтому придётся использовать питон. Без вариантов.

Это черезчур сильное преувеличение. Ещё раз повторяю: весь этот питон, на котором все плотнейше сидят, на самом деле написан на C/C++ под капотом. Вот это без вариантов.

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

Я что где то писал что у вас нет логики?

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

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

Как конкретно?

в Пита-коне оступы семантику несут а не декорацию

После того как сделают автоматическую расстановку {,} в си.

Что будет по кругу ходить?

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

Для любого языка необходима поддержка со стороны редактора.

Кому необходима?

Я чаще всего пишу в редакторе, который только базовые синтаксические элементы языка (ключевые слова, комменты) подсвечивает. И на этом всё.

Зумеры без костылей не могут текст читать и писать?

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

Выше писали, что блоки без разделителей труднее понять новичкам. И где же простота? Я уже совсем отупел конечно, но не вижу никакой простоты даже на уровне синтаксиса и элементарных конструкций. Вот for он простой что ли? Там такое накручено под капотом, что все перлы нервно курят в коридоре.

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

Ещё раз повторяю: весь этот питон, на котором все плотнейше сидят, на самом деле написан на C/C++ под капотом.

Хорошо, и что дальше из этого следует? Что все математики пишут на си и плюсах?

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

Это не ответ.

Был вопрос - как конкретно, в питоне, реализовать авторасстановку отступов. Опишите алгоритм. Вы программист?

Или вы уже согласны, что это невозможно реализовать?

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