Other Implementations of Python:
- Python is actually a specification for a language that can be implemented in many different ways.
CPython:
- CPython is the reference implementation of Python, written in C. It compiles Python code to intermediate byte-code which is then interpreted by a virtual machine.
- CPython provides the highest level of compatibility with Python packages and C extension modules.
- If you are writing open-source Python code and want to reach the widest possible audience, targeting CPython is best.
- To use packages which rely on C extensions to function, CPython is your only implementation option.
- All versions of the Python language are implemented in C because CPython is the reference implementation.
PyPy:
- PyPy is a Python interpreter implemented in a restricted statically-typed subset of the Python language called RPython.
- The interpreter features a just-in-time compiler and supports multiple back-ends (C, CLI, JVM).
- PyPy aims for maximum compatibility with the reference CPython implementation while improving performance.
- If you are looking to increase performance of your Python code, it’s worth giving PyPy a try. On a suite of benchmarks,
- it’s currently over 5 times faster than CPython.
- PyPy supports Python 2.7.
- PyPy3 released in beta, targets Python 3.
Jython:
- Jython is a Python implementation that compiles Python code to Java byte code which is then executed by the JVM (Java Virtual Machine).
- Additionally, it is able to import and use any Java class like a Python module.
- If you need to interface with an existing Java code base or have other reasons to need to write Python code for the JVM.
- Jython is the best choice.
- Jython currently supports up to Python 2.7
IronPython:
- IronPython is an implementation of Python for the .NET framework.
- It can use both Python and .NET framework libraries, and can also expose Python code to other languages in the .NET framework.
- Python Tools for Visual Studio integrates IronPython directly into the Visual Studio development environment, making it an ideal choice for Windows developers.
- IronPython supports Python 2.7
PythonNet:
- Python for .NET is a package which provides near seamless integration of a natively installed Python installation with the .NET Common Language Run time (CLR).
- This is the inverse approach to that taken by IronPython,to which it is more complementary than competing with.
- In conjunction with Mono, PythonNet enables native Python installations on non-Windows operating systems, such as OS X and Linux, to operate within the .NET framework.
- It can be run in addition to IronPython without conflict.
- PythonNet supports from Python 2.6 up to Python 3.5
No comments:
Post a Comment