Компиляторы и трансляторы кода Python

Компиляторы и трансляторы кода Python

Компьютерная программа, переводящая код, написанный на одном языке программирования, в другой, называется транслятором, а из языка в машинный код — компилятором. Python возглавляет фракцию самых быстрорастущих языков программирования. Таким образом, нет недостатка в компиляторах и трансляторах для Python, которые могут удовлетворить различные потребности проекта.

Введение

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

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

Давайте рассмотрим 7 лучших компиляторов для Python.

Brython — реализация Python для браузера

Компиляторы и трансляторы кода Python

Brython, отмеченный как «реализация Python 3 для веб-программирования на стороне клиента», является популярным компилятором, который преобразует код Python в код JavaScript.

Официальный сайт проекта: https://brython.info

Адаптированный к среде HTML5, Brython поставляется с интерфейсом для объектов и событий DOM. Brython — это сокращение от Browser Python. Он может похвастаться широким функционалом, начиная от создания простых элементов документа и перетаскивания до трехмерной навигации. Компилятор Python работает в Firefox намного лучше, чем в Google Chrome. Brython поддерживает не только все современные настольные браузеры, но и так же мобильные веб-браузеры. Компилятор Python поставляется с консолью JavaScript, которую можно использовать для оценки времени выполнения некоторой программы JS по сравнению с ее эквивалентом Python в редакторе. Согласно официальному блогу Пьера Квентеля, создателя и ведущего разработчика Brython, Brython намного быстрее Pypy.js и Skulpt. В некоторых случаях компилятор Python работает даже быстрее, чем эталонная реализация Python, то есть CPython. Brython поддерживает большую часть синтаксиса Python 3, например генераторы и импорт библиотек. Он также обеспечивает поддержку нескольких модулей, принадлежащих дистрибутиву CPython, и поставляется с библиотеками для взаимодействия с элементами и событиями DOM. Поддержка последних спецификаций HTML5 / CSS3 также доступна в Brython, а компилятор Python может использовать популярные CSS-фреймворки, такие, как BootStrap и LESS.

Nuitka — компилятор Python написанный на языке Python

Компиляторы и трансляторы кода Python

Nuitka — это компилятор Python, написанный на языке Python.

Официальный сайт проекта: https://nuitka.net

Nuitka берет код Python и компилирует его в исходный код C / C++ или исполняемые файлы. Его можно использовать для разработки автономных программ, даже если на вашем компьютере не запущен Python.

Написанная полностью на Python, Nuitka позволяет использовать различные библиотеки Python и модули расширения.

Компилятор доступен для платформ FreeBSD, Linux, macOS X, NetBSD и Windows и находится под лицензией Apache License версии 2.0. Nuitka также доступна с Anaconda для тех, кто предпочитает ее для разработки проектов, связанных с наукой о данных и машинным обучением.

Платформа для разработки PyJS

Компиляторы и трансляторы кода Python

Для тех, кто хочет писать код Python и выполнять его в веб-браузерах, PyJS — один из вариантов.

Официальный сайт проекта: http://pyjs.org

Компилятор PyJS переводит код Python в эквивалентный код JavaScript, чтобы он мог выполняться внутри веб-браузера. Важным аспектом PyJS является то, что он поставляется с фреймворком AJAX, который заполняет пробелы, оставшиеся между поддержкой JS и DOM, доступной для различных веб-браузеров. Чтобы сгенерировать эквивалентный код JS, PyJS использует абстрактное синтаксическое дерево Python.

Исходный код веб-приложения Python можно запустить как автономное настольное приложение (которое работает под Python) с помощью модуля PyJS Desktop. Интересно, что в некоторых системах Unix предустановлены версии PyJS и PyJS Desktop. Несмотря на различия между Python и JavaScript, большинство типов данных в двух популярных языках программирования идентичны.

При использовании PyJS некоторые типы данных Python преобразуются в настраиваемые объекты, например списки. PyJS — легкое приложение. Кроме того, он может использоваться непосредственно из веб-браузера и позволяет запускать программы из JS-консоли веб-браузера. Компилятор PyJS также предлагает поддержку во время выполнения.

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

Shed Skin — экспериментальный компилятор для Python

Компиляторы и трансляторы кода Python

Еще один популярный компилятор Python — Shed Skin.

Официальный сайт проекта: http://shedskin.github.io

Он преобразует статически типизированную программу Python в эквивалентную программу на чистом C++. Статически типизированный означает, что используемые переменные должны относиться только к одному типу данных. Shed Skin не поддерживает некоторые общие функции, такие как использование вложенных функций и определение функций, которые принимают различное количество аргументов. Только некоторые стандартные функции библиотеки Python доступны для использования с Shed Skin. В качестве экспериментальной программы компилятора Shed Skin предлагает перевести статически типизированные программы Python в оптимизированный код C++ с несколькими ограничениями. Кроме того, Shed Skin не может масштабироваться более, чем на несколько тысяч строк кода. Если в вашем коде есть неподдерживаемый модуль Shed Skin, вы должны удалить его и добавить простой код для воспроизведения желаемой функциональности.

Несмотря на свой экспериментальный статус, Shed Skin может создавать автономные программы или модули расширения, которые можно импортировать и использовать в больших программах Python. Самым большим преимуществом использования Shed Skin является то, что он позволяет значительно повысить производительность. Это главным образом связано с тем, что компилятор Python переопределил встроенные типы данных Python в свой собственный набор классов, реализованный в эффективном коде C++.

Skulpt — полностью браузерная реализация Python

Компиляторы и трансляторы кода Python

Написанный на JavaScript и доступный по лицензии MIT, Skulpt предлагает настоящую среду, в которой скомпилированный код выполняется в форме JS.

Официальный сайт проекта: https://skulpt.org

Поскольку Skulpt — это реализация Python в браузере, нет необходимости в дополнительной обработке, плагинах или поддержке на стороне сервера, необходимых для запуска Python в веб-браузере. Любой код Python, написанный в Skulpt, выполняется непосредственно в веб-браузере. Skulpt — хороший вариант для разработчиков, которые хотят создать веб-приложение, позволяющие пользователям запускать программы Python внутри веб-браузера, обеспечивая безопасность фоновых сервисов. Популярный компилятор Python также можно легко встроить в существующий блог или веб-страницу. Для индивидуальной интеграции в HTML можно добавить код Skulpt. Вы также можете научить Skulpt импортировать свои собственные модули для большего контроля. Хотя Skulpt переводит код Python в код JS, он не облегчает выполнение последнего.

Transcrypt — быстрый транслятор кода Python в JavaScript

Компиляторы и трансляторы кода Python

Еще один популярный компилятор Python — Transcrypt. Он позволяет скомпилировать довольно обширное подмножество Python в компактный, читаемый и простой для отладки код JavaScript.

Официальный сайт проекта: https://www.transcrypt.org

Компилятор Python следует упрощенному и мощному синтаксису, не требуя дополнительных расширений. Transcrypt прекомпилирует в быстрый, читаемый JS-код, который можно отлаживать из исходного кода Python с помощью исходных карт. Облегченный компилятор обеспечивает поддержку нарезки с помощью матрицы [i: j: k] и векторных операций с операторами +, -, * и /. Линтер, минификатор и валидатор статического типа встроены в Transcrypt. Таким образом, компилятор Python улучшает взаимодействие команды, работающей над полномасштабными проектами. Помимо беспрепятственного доступа к любой JS-библиотеке, Transcrypt также может работать поверх Node.js.

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

WinPython — версия Python адаптированная для Windows

Компиляторы и трансляторы кода Python

WinPython — это дистрибутив Python, специально созданный для операционной системы Windows.

Официальный сайт проекта: https://winpython.github.io

Более ранние версии CPython не были оптимизированы под Windows и, как таковые, содержали много ошибок. WinPython был инкубирован как решение проблемы. Хотя нынешние версии CPython очень стабильны в операционной системе Windows, WinPython имеет несколько эксклюзивных функций. Поскольку WinPython является автономным дистрибутивом для Python, вам нужно только загрузить и распаковать его, чтобы начать работу. WinPython также поставляется с некоторыми из самых популярных библиотек Python для науки о данных и машинного обучения, таких как NumPy, Pandas и SciPy. Следовательно, вы можете сразу же работать с этими библиотеками Python.

WinPython поставляется с множеством встроенных функций, которые в большинстве случаев не требуются, например, компилятор C и C ++. Это может быть серьезным ограничением, поскольку нет возможности выбрать и загрузить только те функции, которые необходимы. Тем не менее, WinPython доступен в варианте нулевого пакета, который поставляется только с компилятором Python и не более того.

Заключение

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

Егор Егоров

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

Ссылка на мой github есть в шапке. Залетай.

Оцените автора
Егоров Егор
Добавить комментарий

  1. Yoga

    Еще бы уточнил информацию по файлам которые предоставляют разработчики данных решений

    Ответить
    1. Егор Егоров автор

      а что конкретно нужно уточнить?

      Ответить
  2. Анна

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

    Ответить
    1. Егор Егоров автор

      спасибо)

      Ответить