Найти в Дзене

Диалекты языка программирования Python.

В настоящее время имеется пять, наиболее востребованные, реализации Python: CPython Для обучения и прокачки скила можно использовать реализацию "CPython" как наиболее зрелую и получившую широкую поддержку. Она существует дольше других, в то время как Jython, IronPython и РуРу являются более новыми реализациями и в меньшей степени проявили себя. CPython классическая реализация и часто называемая просто Python, ее можно считать "эталонной реализацией" языка. CPython включает компилятор, интерпретатор и набор встроенных модулей и дополнительных расширений, которые написаны на языке С. CPython можно использовать на любой платформе, обеспечивающей работу компилятора языка С, т.е. на любой из современных популярных платформ. Anaconda Anaconda - дистрибутив ЯП Python и R, включает в себя набор популярных свободных библиотек, объединённых проблематикой науки о данных и машинного обучения. Основная цель - поставка единым согласованным комплектом наиболее востребованных соответствующим кругом
Оглавление

В настоящее время имеется пять, наиболее востребованные, реализации Python:

CPython

Для обучения и прокачки скила можно использовать реализацию "CPython" как наиболее зрелую и получившую широкую поддержку. Она существует дольше других, в то время как Jython, IronPython и РуРу являются более новыми реализациями и в меньшей степени проявили себя.

CPython классическая реализация и часто называемая просто Python, ее можно считать "эталонной реализацией" языка. CPython включает компилятор, интерпретатор и набор встроенных модулей и дополнительных расширений, которые написаны на языке С.

CPython можно использовать на любой платформе, обеспечивающей работу компилятора языка С, т.е. на любой из современных популярных платформ.

Anaconda

Anaconda - дистрибутив ЯП Python и R, включает в себя набор популярных свободных библиотек, объединённых проблематикой науки о данных и машинного обучения. Основная цель - поставка единым согласованным комплектом наиболее востребованных соответствующим кругом пользователей тематических модулей с разрешением возникающих зависимостей и конфликтов, которые неизбежны при неудачной установке . По состоянию на 2020 год содержит более 1,6 тыс. модулей.

Предназначена в основном для:

  • Разработки и обучения моделей машинного обучения и глубокого обучения с помощью scikit-learn , TensorFlow и Theano.
  • Анализа больших данных с большой производительностью и последующим масштабированием с помощью пакетов Dask , NumPy , pandas и Numba.
  • Визуализации результатов с помощью Matplotlib , Bokeh , Datashader и Holoviews.

Основная особенность дистрибутива - оригинальный менеджер разрешения зависимостей conda с графическим интерфейсом Anaconda Navigator, что позволяет отказаться от стандартных менеджеров пакетов (таких, как pip для Python). Дистрибутив скачивается единожды, и вся последующая конфигурация, в том числе установка дополнительных модулей, может проводится в офлайне. Кроме того, обеспечивается возможность ведения нескольких изолированных сред с раздельным разрешением версионных зависимостей в каждой.

Поддерживаются платформы Linux (x86-64), Windows (i686, x86-64), macOS

Jython

Jython это реализация Python на виртуальной машине Java (JVM). Аналогично IronPython, код, выполняемый в Jython, может взаимодействовать с классами и библиотеками Java, но не может использовать многие библиотеки, предназначенные для CPython.

Jython поддерживает пока только версию v2. Работая на Jython, вы сможете использовать все библиотеки и фреймворки Java. Оптимальное использование Jython требует знакомства с основными классами Java. Вам не придется писать код на Java, но документация и примеры для библиотек реализованы в терминах Java, по этому, Jаvа-классы не должны быть для вас чем-то новым. Чтобы освоить Jython, вам следует почитать книгу The Definitive Guide to Jython.

lronPython

IronPython это реализация .NET для Python (доступна 32- и 64-разрядная версия), обеспечивающая взаимодействие с C, F# и Visual Basic, доступ к API-интерфейсам .NET, стандартную отладку Python (но не отладку в смешанном режиме C++) и отладку в смешанном режиме IronPython и C#. Однако IronPython не поддерживает виртуальные среды.

С IronPython можно использовать все библиотеки и фреймворки CLR. Существует кросс-платформенная реализация CLR, известная под названием Mono (www.mono-project.com) которая работает под управлением других операционных систем. Оптимальное использование IronPython требует знакомства с основными библиотеками CLR. Вам не придется писать код на С, но документация и примеры для библиотек реализованы в терминах С, по этому, язык С# не должен быть для вас чем-то новым. Чтобы использовать IronPython, вам следует обратиться к оригинальной онлайн-документа­цией IronPython.

РуРу

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