Написать пост

Ветеран Python-разработки рассказал, что он хочет видеть в Python 4

Аватарка пользователя Булат Яббаров

Он предлагает внедрить в язык такое понятие, как «диалекты». В качестве примера их использования он приводит язык Racket.

Канадский программист Андрэ Роберге опубликовал в своём блоге любопытную запись. В ней ветеран разработки на Python, использующий язык последние 17 лет, описал, чего он ждёт от следующей номерной версии языка — Python 4.

По словам Роберге, он очень надеется на плавный переход от третьей версии к четвёртой. Речь идёт о поддержке кода, написанного на предыдущей итерации языка. Так, код, написанный, скажем, на Python 3.14 должен нативно запускаться на Python 4.

Ветеран Python-разработки рассказал, что он хочет видеть в Python 4 1
Также остаётся открытым вопрос: а как скоро состоится релиз Python 4?

Но самым главным нововведением, которое разработчик ждёт от масштабного обновления, является появление «диалектов» (dialects).

Что такое «диалекты»?

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

Какие «диалекты» предлагаются для Python?

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

Experimental (Экспериментальный). Этот «диалект» предлагается использовать для демонстрации и обкатки новых фич. В нём будет отсутствовать гарантия на обратную совместимость, но при этом пользователи смогут экспериментировать с новым синтаксисом.

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

Static (Статичный). Этот «диалект» будет нацелен на скорость выполнения кода. Для этих целей, например, будут недоступны некоторые динамические возможности языка.

Источник: Блог Андрэ Роберге

Следите за новыми постами
Следите за новыми постами по любимым темам
6К открытий6К показов