- Trending Categories
- Data Structure
- Operating System
- MS Excel
- C Programming
- Social Studies
- Fashion Studies
- Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Difference between various Implementations of Python?
Most developers know about python, irrespective of what python is implemented in their system. Therefore, what do I mean by “python”, is it a python the abstract interface? Do we mean CPython, the common Python implementation (not the Cython)?. Or we mean something else entirely? Or we mean Jython or IronPython or PyPy.
While the technologies mentioned above are commonly-named and commonly-referenced, however some of them serve completely different purposes.
We can think of python as a specification for a language that can be implemented in many different ways.
In this tutorial we’ll go through the following implementation of python −
CPython is the implementation of the language called “Python” in C. Python is an interpreted programming language. Hence, Python programmers need interpreters to convert Python code into machine code. Whereas Cython is a compiled programming language. The Cython programs can be executed directly by the CPU of the underlying computer without using any interpreter.
IronPython is an open-source implementation of the Python programming language which is tightly integrated with .NET. IronPython can use .NET and Python libraries, and other .NET languages can use Python code just as easily.
The IronPython implementation uses .Net Virtual Machine i.e Common Language Runtime. It is written in c#. IronPython uses the .NET framework and through this .NET languages can easily and efficiently use the Python code.
The existing .NET developers can also use IronPython as a fast and expressive scripting language for embedding, testing, or writing a new application from scratch.
Jython, as the name suggests is an implementation of Python that can run on the Java platform. The Jython project provides implementations of Python in Java, providing to Python the benefits of running on the JVM and access to classes written in Java. Jython is slow as compared to Cpython. Jython implementations are freely available for both commercial and non-commercial use.
Jython provides an interactive interpreter that can be used to interact with Java packages or with running Java applications.
PyPy is an implementation of the Python programming language written in Python. The Interpreter is written in RPython. The RPython is itself a subset of Python). On average, PyPy is 4.5 times faster than CPython.
PyPy is highly compatible with existing python code. It supports cffi, cppyy, and can run popular python libraries like twisted, and django. It can also run NumPy, Scikit-learn and more via a cextension compatibility layer.
Kickstart Your Career
Get certified by completing the courseGet Started