Адрес: ул. Б. Очаковская 32 Москва Россия
Наши официальные канал и чат в telegram
Поднимем Devuan на вершину Distrowatch! Просто перейдите по ссылке один раз в день.

CPython может сделать Rust обязательной сборочной зависимостью к версии 3.17

Новости собранные из разных RSS источников
Аватара пользователя
root:#
Site Admin
Сообщения: 963
Зарегистрирован: Вт ноя 08, 2022 3:27 pm
Благодарил (а): 46 раз
Поблагодарили: 24 раза

CPython может сделать Rust обязательной сборочной зависимостью к версии 3.17

Сообщение root:# »

CPython может сделать Rust обязательной сборочной зависимостью к версии 3.17
Эмма Смит (Emma Smith) и Кирилл Подопригора (Kirill Podoprigora), входящие в число ключевых разработчиков Python (core team), опубликовали предварительное предложение (Pre-PEP) о постепенном добавлении возможности использования языка Rust в кодовой базе CPython, эталонной реализации языка программирования Python. Изначально Rust предлагают использовать для необязательных модулей стандартной библиотеки, размещаемых в директории Modules/. В перспективе, к версии Python 3.17, Rust может стать обязательной зависимостью при сборке CPython. Основные причины внедрения Rust — обеспечение безопасной работы с памятью, предотвращение ошибок категории use-after-free и выходов за границы буфера, а также упрощение разработки потокобезопасного кода, что особенно актуально в свете официальной поддержки сборки CPython без глобальной блокировки интерпретатора (GIL, Global Interpreter Lock) для распараллеливания операций на многоядерных системах (проект free-threaded Python). Rust также предоставляет высокоуровневые, но производительные структуры данных и развитую систему метапрограммирования, включая гигиеничные макросы. План внедрения:
  • Python 3.15 (2026 год): предупреждение при отсутствии Rust в окружении сборки. Python 3.16 (2027 год): сборка возможна без Rust только с флагом "--with-rust=no". Python 3.17 (2028 год): Rust может стать обязательным на этапе сборки.
Для взаимодействия с C API CPython предполагается использовать автоматически генерируемые привязки через bindgen, а не сторонние абстракции, такие как PyO3, чтобы избежать задержек при обновлении API. Вопросы управления зависимостями, кросс-компиляции и поддержки редких платформ находятся в стадии обсуждения. В опубликованном предложении подчёркивается, что все платформы из документа PEP 11 поддерживаются Rust как минимум на уровне Tier 2. Некоторые устаревшие или нишевые системы (например, HPPA и RISC OS) не поддерживаются, однако их доля в экосистеме Python считается незначительной.
Источник: https://www.opennet.ru/opennews/art.shtml?num=64275