Differences bewteen CPython, Jython, IronPyton, PyPy and Cython.

This article is for Python beginners who wish to know the differences between CPython, Jython, IronPython, CLPython, PyPy and Cython.

1. CPython

CPython Logo

CPython is the reference implementation of the Python programming language, written in C.

CPython is the default and most widely-used implementation of the Python programming language, the one you probably use daily and that you can download officially from python.org.

Official website: https://www.python.org/

2. Jython

Jython Logo

Jython (formerly known as JPython) is an alternative implementation of the Python programming language, written in Java, designed to run on Java platform.

Jython compiles to Java bytecode and run in JVM (Java Virtual Machine).

With Jython, it is able to call Java functions from Python and Python functions from Java.

Official website: https://www.jython.org/

3. IronPython

IronPython Logo

IronPython is an alternative implementation of the Python programming language, written in C#, designed to run on .NET Framework platform.

With IronPython, it is able to use .NET Framework libraries in Python and Python code in .NET languages.

Official website: https://ironpython.net/

4. CLPython

CLPython is an alternative implementation of the Python programming language, written in Common Lisp.

With CLPython, it is able to call Lisp functions from Python and Python functions from Lisp.

CLPython was started in 2006, but at 2013 it was not actively developed, and mailing list was closed.

Official website: http://common-lisp.net/project/clpython/

5. PyPy

PyPy Logo

PyPy is an alternative implementation of the Python programming language, written in RPython (Restricted Python).

With PyPy, your Python program can run faster than with CPython, because PyPy is a JIT (just-in-time) compiler, while CPython is an interpreter.

Official website: https://pypy.org/

6. Cython

Cython Logo

Cython is NOT an alternative implementation of the Python programming language, it is a superset of the Python programming language which additionally supports calling C/C++ functions.

Cython is a compiled language that is typically used to generate C extensions (*.pyd on Windows, or *.so on Uinux-like) for Python.

Official website: https://cython.org/

Summary

This article introduced the differences between CPython, Jython, IronPython, CLPython, PyPy and Cython:

  • CPython is the default implementation of the Python programming language, the one you probably use daily.
  • Jython, IronPython, CLPython and PyPy are alternative implementations of the Python programming language:
    • Jython is mainly for integrating with the Java language.
    • IronPython is mainly for integrating with the .NET Framework.
    • CLPython is mainly for integrating with the Lisp language.
    • PyPy is mainly for improving the running speed.
  • Cython is a superset of the Python programming language which additionally supports calling C/C++ functions.
Back to homepage or read more recommendations: