The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Выпуск языка программирования Python 3.13

07.10.2024 23:09

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

Среди добавленных в Python 3.13 новшеств:

  • Добавлена экспериментальная реализация JIT-компилятора, позволяющего добиться существенного повышения производительности. Для включения JIT в CPython добавлена сборочная опция "--enable-experimental-jit", использование которой требует установки LLVM в качестве дополнительной зависимости. Процесс трансляции машинного кода в JIT построен c использованием архитектуры "Copy-and-Patch", при которой при помощи LLVM собирается объектный файл в формате ELF, содержащий данные об инструкциях байткода и информацию о необходимой замене данных. JIT заменяет сгенерированные в ходе интерпретации программы инструкции байткода на их представления в машинном коде, попутно подставляя необходимые для вычислений данные (JIT копирует готовые шаблоны уже скомпилированных функций и подставляет в них необходимые значения, такие как аргументы и константы).
  • Добавлен экспериментальный режим сборки CPython без глобальной блокировки интерпретатора (GIL, Global Interpreter Lock), который включается при помощи опции "--without-gil" и позволяет избавиться от проблемы с распараллеливанием операций на многоядерных системах, вызванной тем, что глобальная блокировка не допускает параллельное обращение к разделяемым объектам из разных потоков. Отключение GIL приводит к дополнительным накладным расходам, вызванным изменениями в сборщике мусора, системе управления памятью и примитивах для организации блокировок. Например, из-за использования подсчёта ссылок для изоляции потоков наблюдается снижение производительности однопоточных сценариев примерно на 10%. При этом подобные накладные расходы могут компенсироваться распараллеливанием операций.
  • Предложен новый улучшенный интерактивный интерпретатор, основанный на наработках проекта PyPy и поддерживающий такие возможности, как многострочное редактирование, сохранение и просмотр истории, цветное оформление запросов и трассировок, использование REPL-подобных команд (help, exit, quit и т.п.) без привлечения функций, интерактивная справка, режим вставки больших блоков кода.
  • Семантика встроенной функции locals(), возвращающей все локальные переменные и их значения в текущей области видимости, изменена для оптимизированных областей видимости, таких как функции, генераторы и сопрограммы, для которых теперь возвращаются независимые снапшоты выставленных в данный момент локальных переменных и не локальных переменных, отражённых в замыканиях.
  • В состав по умолчанию включена изменённая версия библиотеки mimalloc с системой распределения памяти, открытой компанией Microsoft и демонстрирующей очень высокую производительность. Библиотека задействована при сборке без GIL.
  • Компилятором теперь удаляются отступы из встроенной документации (docstring). Это позволяет сократить потребляемую память и уменьшить размер байткод-кэшей (файлов .pyc) примерно на 5%.
  • В модуле dbm реализован бэкенд dbm.sqlite3, который использует SQLite и применяется по умолчанию при создании новых файлов.
  • Реализована поддержка указания значений по умолчанию в параметрах типов (typing.TypeVar, typing.ParamSpec и typing.TypeVarTuple). Например: 'T = TypeVar("T", default=int)'.
  • Добавлена новая аннотация typing.TypeIs для уточнения типов, более интуитивно понятная, чем typing.TypeGuard.
  • Добавлена возможность использования аннотации typing.ReadOnly для пометки элементов TypeDicts, доступных только для чтения.
  • Добавлена новая аннотация warnings.deprecated() для пометки устаревших элементов в системе типов.
  • Из стандартной библиотеки удалены модули aifc, audioop, chunk, cgi, cgitb, crypt, imghdr, mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau, telnetlib, uu, xdrlib и lib2to3, ранее объявленные устаревшими.
  • В модуль copy добавлена функция copy.replace().
  • В модуль os добавлены функции для работы с таймером через файловые дескрипторы timerfd.
  • Для модуля random реализован интерфейс командной строки.
  • Прекращена поддержка версий macOS c 10.9 по 10.12.
  • Обеспечена поддержка мобильных платформ iOS и Android, которая отнесена к третьему уровню (Tier 3), на котором гарантируется надёжная сборка и сопровождение платформы обеспечивает как минимум один ключевой разработчик, но связанные с платформой сбои не блокируют релиз и не охватываются SLA-поддержкой.
  • Поддержка платформы wasm32-wasi (WebAssembly System Interface) переведена на второй уровень, на котором сбои блокируют релиз, а вызывающие их изменения исправляются или отменяются в течение 24 часов. Прекращена официальная поддержка платформы wasm32-emscripten.

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

  1. Главная ссылка к новости (https://pythoninsider.blogspot...)
  2. OpenNews: В Python добавлен JIT-компилятор
  3. OpenNews: Выпуск языка программирования Python 3.12
  4. OpenNews: Опубликован план избавления CPython от глобальной блокировки интерпретатора
  5. OpenNews: Гвидо ван Россум намерен достигнуть двукратного увеличения производительности в CPython 3.11
  6. OpenNews: Для Python предложен JIT-компилятор, использующий технику copy-and-patch
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/62009-python
Ключевые слова: python
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (111) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Ivan_83 (ok), 23:36, 07/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    > Из стандартной библиотеки удалены модули aifc, audioop, chunk, cgi, cgitb, crypt, imghdr, mailcap, msilib, nis, nntplib, ossaudiodev, pipes, sndhdr, spwd, sunau, telnetlib, uu, xdrlib и lib2to3, ранее объявленные устаревшими.

    Ага, и заодно по больше фигни типа py-cryptography чтобы зависило от раста, и глядишь питон быстрее загнётся, ибо вместо написания нового функционала все силы будут уходить на поддержку того что было написано в рабочем состоянии.

     
     
  • 2.9, Аноним (9), 23:57, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Нужна сильна рука пожизненного диктатора, но он уронил знамя.
     
     
  • 3.147, Вы забыли заполнить поле Name (?), 20:41, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Он передал его кому нужно: посмотри как быстро приняли пул реквестор с джитом, а ещё и без pep (его потом добавили, после возмущений).
     
  • 2.85, Ароним (?), 06:22, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >вместо написания нового функционала

    Надо больше функционала.

     
  • 2.109, corvuscor (ok), 10:46, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Мне особенно понравилось удаление cgi, что используется в куче учебников по серверной разработке как базовый уровень. И действительно, зачем вам cgi.FieldStorage(), когда его можно заменить всего 2-3 библиотеками и нехитрой последовательностью действий по извлечению запроса?

    Особенно веселит это все тем, что в PEP какие-то путанные пояснения в стиле "очевидно, можно заменить вот этим", а на вопросы в discuss.python разработчики отправляют курить маны вместо прямого ответа. Просто праздник какой-то.

     
     
  • 3.121, xenator (?), 12:43, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В релизе буквально написали, что лучше cgi... все что угодно.

    Все верно, до сих пор есть учебники, которые морально устарели на 20 лет и учат читателей плохому. Пусть их переписывают или пусть они устаревают.

     
     
  • 4.167, Аноним (167), 07:17, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    интересно что имено лучше cgi. никакой другой протокол не предоставляет таких же функций
     
  • 3.198, jh (?), 05:50, 10/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Хотел предложить go, но и там пишут, что использование cgi порождает новый процесс для обработки каждого запроса и лучше использовать долгоживущий сервер.
     
  • 2.118, Соль земли (?), 11:27, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если у тебя используется где-то такое старьё, то и питон там стоит старый. А вообще работает - не трогай.
     
  • 2.207, Sem (??), 18:53, 11/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    rust же не интерпретатор, зачем от него зависимость? а на чем там бинарная либа - да пофик.
     

  • 1.2, qweo (?), 23:41, 07/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Pythons aren't meant to have gills, anyway. Nor batteries, it seems.
     
     
  • 2.7, Аноним (9), 23:56, 07/10/2024 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Но ничего лучше питона у нас для вас нет.
     
     
  • 3.86, Аноним (86), 06:25, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >  Но ничего лучше питона у нас для вас нет.

    Тогда, кажется, это именно тот случай когда говорят "suxx to be you".

     
  • 3.98, Аноним (98), 08:43, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Где же вы живёте, что вас заставляют писать на питоне в то время как прогрессивный мир способен использовать современные ЯП? И для чего, самое гланое?....
     
     
  • 4.99, Василий Пупов (?), 09:07, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +7 +/
    В современном мире питон будет а топе популярных языков. А вот ты видимо в каком-то своем мире находишься
     
     
  • 5.103, Аноним (103), 09:31, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ну когда-то бейсик был так же популярен
     
     
  • 6.105, Аноним (105), 09:42, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Никогда бейсик не был популярен для разработки коммерческих/корпоративных вещей. Этот ЯП изначально проектировался для обучения программированию, что недвусмысленно отражено в его названии.
     
     
  • 7.115, llolik (ok), 11:12, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ответвление VBA и сейчас достаточно популярен именно в коммерческой/корпоративной разработке. До того популярен, что таже Либра пытается тянуть собственный рантайм (получается вяло, но они пытаются).
     
     
  • 8.136, ананим.orig (?), 16:19, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Vba такой же бэйсик, как javascript 8212 жаба... текст свёрнут, показать
     
  • 8.137, Аноним (137), 16:30, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    да Пик популярности пришёлся на 2020 - 2023 ... текст свёрнут, показать
     
  • 7.127, BorichL (ok), 15:12, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это в твоём сферическом идеальном мире! А в реальном мире на Visual Basic творили всё, так-как не все умели другие ЯП.
     
     
  • 8.128, anonymous (??), 15:38, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В те времена было мало альтернатив для RAD VB позволял быстро нарисовать формоч... текст свёрнут, показать
     
     
  • 9.129, BorichL (ok), 15:42, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Delphi вполне себе позволяла реализовать многое, но я знаю людей, которые какую-... текст свёрнут, показать
     
     
  • 10.161, Аноним (161), 01:35, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Помнится, Сбербанк году в 1997 что-то по филиалам сниспускал на VB Уж не помню,... текст свёрнут, показать
     
  • 8.158, Аноним (161), 01:15, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это вы ещё 8-битный мир не застали Там всё творили на просто Basic, так как дру... текст свёрнут, показать
     
     
  • 9.173, Аноним (173), 10:55, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Всё там было, но в основном ассемблер Но если что-то по-быстрому, для себя, наб... текст свёрнут, показать
     
     
  • 10.178, Аноним (161), 12:46, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Мы про языки высокого уровня Ассемблер таковым не является, поэтому не в счёт ... текст свёрнут, показать
     
  • 9.182, BorichL (ok), 16:33, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Застал Кстати я бы не стал так категорично заявлять, в 8-битном мире я развл... текст свёрнут, показать
     
  • 7.141, _ (??), 17:41, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Никогда бейсик не был популярен для разработки коммерческих/корпоративных вещей.

    Дитё ну сходи хоть в педевикию да того как сюда лулзы закидывать.
    Хотя не, не надо! Ты хотя-бы доставляешь :) (С) а нынче даже и с этим проблемы... :-\

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

    Ага. А жабаскрипт делали чтоб анимацию на хомепагах крутить. "А оно вона 8-о" (С)

     
  • 3.191, Илья (??), 20:44, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Но ничего лучше питона у нас для вас нет.

    Чел, да всё, что угодно лучше питона.

     
  • 2.78, Аноним (137), 04:28, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Старые удаляют, новые добавляют. Всë нормально.
     
     
  • 3.88, Аноним (86), 06:28, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Старые удаляют, новые добавляют. Всë нормально.

    ...так что опять питонисты пойдут сотни кода переписывать. Хотя половину, конечно, просто утилизируют - ибо бухать сотни ресурсов в майнтенанс 1-разовых макетов сами понимаете, такое себе.

    > Pythons aren't meant to have gills, anyway.

    Not meant to have GILs? :)) Зато вот на тебе pythonic jit :)

     
     
  • 4.94, Anonimous (?), 07:07, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не думаю. Удалили старые и не нужные в наше время пакеты.
     
     
  • 5.170, Аноним (-), 10:05, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Не думаю. Удалили старые и не нужные в наше время пакеты.

    А вы точно всех разрабочитков опросили? Или как обычно - сперва задропаем и сломаем, а потом по вою определим сильно ли зашибло?

    Вон HG какое-нибудь такой политикой - таки доканало по сути насмерть, впрочем вот уж чего не жалко.

     
     
  • 6.172, Аноним (137), 10:28, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Всех никто никогда опрашивать не будет, есть статистика и выводы на основе выборок. Как вы себе вообще представляете опросить всех?
     
  • 4.214, Sin2x (ok), 21:46, 24/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Зато вот на тебе pythonic jit, idjit
     

     ....большая нить свёрнута, показать (25)

  • 1.5, Аноним (5), 23:50, 07/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Для модуля random реализован интерфейс командной строки.

    Если и реализовывать, то не для random, а для secrets.

     
  • 1.10, Аноним (161), 00:00, 08/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    По п.1. Неужели нельзя было использовать наработки проектов Nuitka и PyPy для JIT-компилятора, вместо того, чтобы и в Python тащить этот LLVM?
     
     
  • 2.12, 8482 (?), 00:12, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Сам собери делов то ? Или тут мы уже потихоньку приходим к тому что это не благодатный бесплатный труд?
     
     
  • 3.13, 12yoexpert (ok), 00:22, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    для того и приудумали вещи вроде llvm, чтобы выкинуть свободных разработчиков из индустрии как класс. усложнить проекты до невозможности, чтобы никто в одиночку не смог разобраться
     
     
  • 4.23, 8482 (?), 00:55, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Чё то на сочинял , звучит как: теперь я не смогу поднять стекло с помощью лебедки , ведь мне дали автоматические кнопки и теперь если я смотрю на такой вариатор то мне лень крутить ручку и я лучше нажму кнопку.
     
  • 4.120, Аноним (-), 11:55, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    > усложнить проекты до невозможности, чтобы никто в одиночку не смог разобраться

    Так с Nuitka и PyPy тоже никто не смог сделать. Или не захотел.
    А ведь сколько есть швобных какиров, который могли бы сделать что угодно, лишь бы не llvm!
    Сколько... а ни сколько))

     
  • 2.89, Аноним (86), 06:29, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > По п.1. Неужели нельзя было использовать наработки проектов Nuitka и PyPy
    > для JIT-компилятора, вместо того, чтобы и в Python тащить этот LLVM?

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

     
     
  • 3.152, Аноним (161), 00:58, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    От Жабы точно что-то есть. Некоторая JVM-лайкнусть есть.
     
     
  • 4.211, Аноним (211), 18:44, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В конце концов Python должен стать Java-подобным языком. Уже есть виртуальная машина для него - GraalVM, будущее за чем-то таким.
     
  • 2.119, Соль земли (?), 11:30, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    С каких пор распространение Open Source стало плохо?
     
     
  • 3.154, Аноним (161), 01:05, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    CPython пока ещё никто распространять не запрещает.
     
  • 2.145, Аноним (145), 19:24, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Что плохого в использовании индустрийного стандарта? И в чём принципиальная сложность портирования на него принципиально важных решений из того же PyPy?
     
     
  • 3.151, Аноним (161), 00:54, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Какого, нах, стандарта? Ссылочку на RFC, ISO/IEC, IEEE в студию.
     
     
  • 4.183, 123 (??), 17:36, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    стандарт по факту использования.
     
  • 2.165, User (??), 05:49, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ээээ... А чем по вашему собирается результат прогона нютки? Да и вообще - не про то она. Вот совсем. Тогда бы уж про pyston вспомнили - но он всьо уже вроде.
     
     
  • 3.179, Аноним (161), 12:52, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    С++ результат далее собирается. Nuitka - транспилятор.
     
     
  • 4.190, User (??), 20:14, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > С++ результат далее собирается. Nuitka - транспилятор.

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

     
  • 2.184, 123 (??), 17:39, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    LLVM - это очень круто,
    добавляешь LLVM - и система компилится на кучу процессоров, в том числе на встроенные и на контролеры,
    кучу возможностей оптимизации кода,
    и даже на некоторые видеокарты,
    и это все делаешь не ты а кто то другой,
    делает, исправляет ошибки, и поддерживает.

    сейчас вопрос с компиляции не LLVM - это странное и непонятное решение.

     

  • 1.14, Аноним (14), 00:37, 08/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Я так понимаю следующая версия будет последней?)
     
     
  • 2.48, Аноним (48), 02:35, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не, после 3.14 будет 3.141 и далее по списку
     
     
  • 3.100, 1 (??), 09:07, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это не TeX.
     
  • 2.153, Аноним (161), 01:03, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если и не следующая, но тендеция уже наметилась.
    И да, похоже, что некоторым масштабным проектам, всё же, лучше придерживаться модели руководства с великодушными диктаторами.
     

  • 1.15, Вы забыли заполнить поле Name (?), 00:38, 08/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > Добавлена экспериментальная реализация JIT-компилятора, позволяющего добиться существенного повышения производительности

    Существенной - это какой? Судя по PEP 744 https://peps.python.org/pep-0744/ там не более 5%.

     
  • 1.75, Аноним (75), 03:39, 08/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Обеспечена очистка компилятором лидирующих пробелов из каждой документирующей строки (docstring), что позволило сократить потребляемую память и уменьшить размер кэша с байткодом (файлов .pyc).

    Почему бы их вообще не загружать как-то по требованию? В продакшене они вообще не нужны.

     
     
  • 2.97, Аноним (97), 08:36, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Имеено для этого и существуют pyo-файлы (без docstring-ов).
     
     
  • 3.106, Аноним (106), 10:30, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    pyo, как и pyc, содержит их (кстати, где pyo найти)
     

  • 1.76, Аноним (75), 03:41, 08/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Семантика встроенной функции locals(), возвращающей все локальные переменные и их значения в текущей области видимости, изменена

    В минорах начали ломать обратную совместимость?

     
     
  • 2.95, Ggg (?), 07:07, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это не минор, это раз в год и всегда так у питона.
     
  • 2.101, 1 (??), 09:08, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Как всегда в питоне - вышло обновление, переписывай скрипты.
     
     
  • 3.104, Аноним (103), 09:32, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    не,у меня они на bash
     
     
  • 4.142, пух (??), 17:51, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Кто? Ппитон-скрипты?
     
     
  • 5.177, Аноним (161), 12:40, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    На Bash интерпретатор Python :)
     
  • 4.195, Аноним (195), 00:53, 10/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    То есть, не переносимые, ясно
     
  • 3.107, Аноним (173), 10:33, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну да, ведь под дулом автомата гонят обновляться.
     
  • 2.139, Аноним (137), 16:36, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вы это 'locals()' вообще используете? И это изменение у вас действительно что-то поломает?
     
     
  • 3.148, Вы забыли заполнить поле Name (?), 20:46, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > действительно что-то поломает?

    Когда дело заходит об обратной совместимости, то она либо есть, либо ее нет. Никаких «действительно», «а может», «а вдруг».

     
     
  • 4.163, Аноним (137), 02:58, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В общем просто воду льëте.
     
  • 4.164, Аноним (137), 03:08, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так это крупное обновление, изменили версию. Никто не обещал, что не будет проблем между версиями.
     
  • 3.169, 1 (??), 09:20, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Если его никто не использует, зачем держать его в языке ?

    "Если звёзды зажигают, значит это кому-нибудь нужно !" (с)

     

  • 1.96, Аноним (96), 07:39, 08/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Добавлен экспериментальный режим сборки CPython без глобальной блокировки интерпретатора (GIL, Global Interpreter Lock), который включается при помощи опции "--without-gil"

    А метастазы асинхронщины где можно и где нельзя уже не убрать.

     
     
  • 2.144, Аноним (144), 18:55, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем? Асинхронщина - даже в многопоточных приложениях нужна. Особенно в io_uring + ebpfных.
     
     
  • 3.176, Аноним (96), 11:05, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А затем, что потом эти асинхронисты оставляют за собой всё те же гонки к данным и те же дедлоки. Напрограммируют себе на резюме и сваливают. А разгребать будет тот, кто хотел спокойно писать код, а не улучшать резюме.
     

  • 1.113, Golangdev (?), 11:07, 08/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Отключение GIL приводит к дополнительным накладным расходам, вызванным изменениями в сборщике мусора, системе управления памятью и примитивах для организации блокировок. Например, из-за использования подсчёта ссылок для изоляции потоков наблюдается снижение производительности однопоточных сценариев примерно на 10%. При этом подобные накладные расходы могут компенсироваться распараллеливанием операций.

    один шаг вперёд, два шага назад ))

     
  • 1.122, Аноним (122), 13:42, 08/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Судя по тому что ломают совместимость на второй цифре - это не python версии 3.13, а python3 версии 13.
     
     
  • 2.125, Аноним (106), 14:33, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Почти каждая версия ломает совместимость.
     
     
  • 3.143, Аноним (137), 18:06, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Для этого версии и меняют, странно было бы ломать совместимость без изменения версии.
     
     
  • 4.146, Аноним (106), 20:07, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Мажорную версию меняют когда основательно ломают.
     
     
  • 5.162, Аноним (137), 02:55, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Так это мажорная, 4 никогда не будет.
     
     
  • 6.168, Аноним (106), 07:29, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Собирались сломать и выпустить 4 после 3.14, видимо, передумали.
     
  • 2.196, Аноним (195), 00:54, 10/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего себе, догадался!
     

  • 1.149, Аноним (149), 21:27, 08/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В питон добавляют типизацию. А ведь могли изначатльно создать типизированный язык, типа Standard ML или Ocaml.
     
     
  • 2.150, ext (?), 23:17, 08/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну конечно когда никто ничего не делал тут упало в руки и сразу вот так надо было. Про эти нумба , нутка , спитон и прочие та же песня.
     
  • 2.155, Прохожий (??), 01:06, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    В смысле "добавляют типизацию"? Просто немного изменили синтаксис аннотации типов. Типизация при этом всё та же - динамическая. Аннотация типов во время исполнения программы вообще никак не проверяется. Нужна она исключительно для автоматизации тестирования и лучшего понимания кода.
     
     
  • 3.157, Прохожий (??), 01:14, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Следует добавить, что Питон всегда (вроде бы) был языком со строгой типизацией. Просто она, типизация - динамическая.
     
     
  • 4.175, Аноним (96), 11:01, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ещё следует добавить, что это маркетируется именно как статическая типизация и агрессивно навязывается писателями фреймворков.
     
     
  • 5.197, Прохожий (??), 02:07, 10/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Может кем-то где-то что-то и маркетируется, но в самом Питоне - нет.
     
  • 3.159, Лжецы (?), 01:18, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Да это ерунда всё я могу питон ресурсо-изменять хоть тысячу раз с разными комбинациями , а вот не повлечет ли это дополнительных расходов на память или не удраконит ли это всю память не известно , так что обычно эти эксперименты тяжелы и не оплачиваемы.
     
  • 3.180, Аноним (180), 14:01, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Аннотация типов во время исполнения программы вообще никак не проверяется.

    Аннотации доступны в рантайме и используются, например, в pydantic. Но по умолчанию игнорируются, да.

     
  • 3.199, Илья (??), 07:11, 10/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Аннотация типов во время исполнения программы вообще никак не проверяется...
    > Нужна она исключительно для...

    Какая боль, наверное, программировать на пэйфоне. Они же выкидывают код после двух-трёх месяцев разработки и всё с нуля переписывают. И так по кругу

     
  • 2.174, Аноним (96), 10:59, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    def f(x:int) -> int:
        return str(x) + '2'
    Пускай эта типизация тебя не обманывает, её нет.
     
     
  • 3.187, Аноним (106), 18:26, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Вообще-то, именно это людям и нужно. И тут всё максимально однозначно, а не как в жс. Если необходима (кому и зачем?) проверка типов в рантайме, attrs существует намного дольше.
     
     
  • 4.200, Илья (??), 07:12, 10/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще-то, именно это людям и нужно.

    Я думал, людям нужно, чтобы работало без ошибок и не пыталось числа с буквами складывать?

     
     
  • 5.201, Аноним (106), 07:32, 10/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Конвертация одного типа в другой это тоже очень мощная и востребованная фича, в этом нет никаких ошибок. Вот то, что иногда не ясно, копию нам отдают или весь объект в памяти останется -- это минус.
     
     
  • 6.202, Илья (??), 07:58, 10/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Конвертация одного типа в другой это тоже очень мощная и востребованная фича

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

     
     
  • 7.204, Аноним (106), 09:21, 10/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Наоборот же. С посторонними апи столько возни при каждой доработке, что динамическая типизация оказывается крайне уместна.
     
     
  • 8.205, Аноним (149), 15:07, 10/10/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Только если вы перекладываете json из одного места в другое В случае, если этот... текст свёрнут, показать
     
  • 8.212, Илья (??), 07:04, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    это если стороннее апи написано пэйфоне девелоперами, у которых типов нет и конт... текст свёрнут, показать
     
  • 3.193, Аноним (149), 22:24, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    И настал момент, когда пхп-шники смотрели на питноистов с гордостью и осуждением
     
  • 2.209, microcoder (ok), 11:25, 12/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > В питон добавляют типизацию

    В Питоне нет статической типизации, есть только аннотация

     

  • 1.185, Аноним (180), 17:40, 09/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пока что единственный, кто может подвинуть питона — это mojo.
     
     
  • 2.188, Аноним (106), 18:32, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ху? Вроде задвигали телеги, что теперь жулия вытеснит всех из мл, а вот и ныне там.
     
  • 2.203, Илья (??), 07:59, 10/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Пока что единственный, кто может подвинуть питона — это mojo.

    А как же здравый смысл?

     
  • 2.213, Аноним (-), 07:29, 18/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Пока что единственный, кто может подвинуть питона — это nim.
    Поправил.
     

  • 1.186, 123 (??), 17:44, 09/10/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    отлично видеть что язык развивается.
     
     
  • 2.189, Аноним (-), 18:50, 09/10/2024 [^] [^^] [^^^] [ответить]  
  • +/
    ды да, глядишь, так-то, наконец-то, без памяти и останутся))) ну или в плюсе уйдут хД
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру