Jython[править | править код]
Jython — реализация Python, компилирующая код на Python в байт-код Java, который может быть выполнен JVM. Также может использоваться для импорта класса, исходный код которого был написан на Java в качестве модуля для Python[166].
Другие реализации[править | править код]
Существуют также другие реализации.
Numba[en] — Jit-компилятор на основе LLVM с поддержкой NumPy.
PyS60[167] — реализация языка для смартфонов фирмы Nokia на платформе Series 60.
IronPython — Python для .NET Framework и Mono. Компилирует Python программы в MSIL, таким образом предоставляя полную интеграцию с .NET-системой[168].
Stackless — также написанная на Си реализация Python. Это не полноценная реализация, а патчи к CPython. Предоставляет расширенные возможности многопоточного программирования и значительно большую глубину рекурсии.
Python for .NET[169] — ещё одна реализация Python для .NET. В отличие от IronPython эта реализация не компилирует Python код в MSIL, а только предоставляет интерпретатор, написанный на C#. Позволяет использовать .NET-сборки из Python кода.
Jython — реализация Python, использующая JVM в качестве среды исполнения. Позволяет прозрачно использовать Java-библиотеки.
python-safethread[155] — версия CPython без GIL, что позволяет одновременно исполнять Python потоки на всех доступных процессорах. Внесены также некоторые другие изменения.
Unladen Swallow — начатый Google проект по разработке высокоэффективного, максимально совместимого с CPython JIT-компилятора на базе LLVM. Согласно планам по развитию Python[170], планировалось перенести исходный код Unladen Swallow в CPython в версии 3.3. Но PEP-3146 был отменён в связи с отсутствием интереса к Unladen Swallow со стороны Google, основного спонсора разработки[171].
tinypy[172] — минималистическая версия Python. Часть возможностей CPython не реализована.
MicroPython — реализация Python 3 для встроенных систем с малым объёмом оперативной памяти[173].
Brython[174] — реализация языка на клиентском JavaScript, позволяющая писать браузерные скрипты на Python 3.
QPython[175] — реализация Python для Android. Проект всё ещё на стадии тестирования, однако на qpython уже портированы некоторые самые необходимые библиотеки. Позволяет и работать в интерактивном режиме. Существует также Qpython3.
Grumpy[176] — реализация Python на Go (в активной разработке), позволяющая работать коду на Python без виртуальной машины: скомпилировать код Python в код Go, а затем уже получить исполняемый файл.
Специализированные подмножества/расширения Python[править | править код]
На основе Python было создано несколько специализированных подмножеств языка, в основном предназначенных для статической компиляции в машинный код. Некоторые из них перечислены ниже.
RPython[177] — созданная в рамках проекта PyPy сильно ограниченная реализация Python без динамизма времени исполнения и некоторых других возможностей. Код на RPython можно компилировать во множество других языков/платформ — C, JavaScript, Lisp, .NET[178], LLVM. На RPython написан интерпретатор PyPy.
Pyrex[179] — ограниченная реализация Python, но несколько меньше, чем RPython. Pyrex расширен возможностями статической типизации типами из языка C и позволяет свободно смешивать типизированный и не типизированный код. Предназначен для написания модулей расширений, компилируется в код на языке C.
Cython[180] — расширенная версия Pyrex.
Проект Shedskin — предназначен для компиляции неявно статически типизированного кода на Python в оптимизированный код на языке C++.
Инструменты поддержки программирования[править | править код]
Do'stlaringiz bilan baham: |