Python supports multiple programming paradigms, like procedural, OOP, and functional programming.
All releases of Python itself are open source and managed by PSF (Python Software Foundation), a non-profit organization. It governs resources for both Python and CPython development.
Because of its rich and comprehensive ‘standard library’ (a collection of modules for making sets of tasks, which are all part of the standard Python pack while installing), Python is described as the Batteries Included language.
Moreover, it is immediately available, without making the user download separate packages.
Python is dynamically typed and a GC (garbage-collected), general-purpose programming language.
Some of Pythons implementations and compilers are named as:
- Cython (an optimizing static compiler for Python as well as the extended Cython)
- HotPy (a virtual machine supporting bytecode optimization and translation. As a recursive acronym it stands for HotPy, Optimizing, Tracing, Python)
- IronPython (runs on CLR/.NET in C#)
- Jython (runs on Java Virtual Machine)
- MicroPython (runs on microcontrollers)
- Pyjs (formerly Pyjamas)
- PyPy (a fast implementation via a just-in-time (JIT) compiler)
- Stackless Python (CPython with the benefits of thread-based programming )
- tinypy (64k of code with minimalist python implementation)
Comparing Cython and PyPy: Primary Differences between the Two
Cython is considered a superset and makes writing C language extensions for Python as easy as Python itself. Written in Python & C, both CPython and Cython are used to write Python libraries.
It is widely used in optimizing static compiler for both; Python and the extended Cython which is a derivative of Pyrex (a language to write Python extension modules).
It runs on Windows, macOS, and Linux. Its stable release was 0.29.7 on 14 April 2019. Pyrex is what Cython is based on, but supports more functions and optimizations.
A widely used optimizing Python-to- C compiler and additionally assists in calling the C functions and declaring the C types on variables & class attributes.
That furthermore makes it possible for the compiler to develop efficient C code from Cython code. Hence, it is particularly useful with codes that are heavy and complicated.
Cython makes it easier to interact with large data sets and is quick enough in building your applications within the massive CPython ecosystem.
Cython is a source code translator that is available as an open-source under Apache License from the PyPI repository. PyPi (Python Package Index) is a Python software repository, and should not be confused with PyPy.
PyPy is an implementation of Python (2.7.13 and 3.5.3) language and an alternative to CPython.
It’s written in RPython (Restricted Python); a language co-developed with PyPy itself and a restricted subset of Python.
Because of its JIT compiler, the PyPy is faster than CPython. Its last stable release was 7.1 on 24 March 2019.
PyPy and Cython, both are chosen when speed is critical or a requirement in the matter. PyPy, an implementation in Python itself makes its programs run faster with the just-in-time compiler.
PyPy’s speed, compatibility, lesser space usage and ability to micro-thread for huge concurrency makes it very sought after.
Written in C and Python, CPython is the most widely-used implementation of the Python programming language.
CPython is currently the standard for all other Python implementations and corresponding customizations and so denotes the same in general terms. So basically, CPython is the de-facto Python for implementation reference.
You May Also Like to Read:
5 Applications of Smart Dust
Python vs. Julia: What’s the Difference between the Two?