You need not be fluent in Parseltongue to code in python so let me just spice things up to help you get started. In case you are not Harry Potter fan, what I’m trying to say is that this high level programming language that looks ridiculously complicated has a ridiculously simple architecture. All you need is well, some guidance.
Be it the language or its implementation, Python serves a variety of general purpose programming problems. Let’s go through a few Python implementations categorized as “true members” of the Python Family.
# 1 CPython
CPython specializes in open-source Python code that aims to have an extensive audience. It is THE original Python implementation as the name suggests, it is written in C providing maximum compatibility between Python packages and C extension modules. The code is executed by a virtual machine- C interpreter by first compiling into intermediate bytecode which is why CPython easily utilizes C extensions.
# 2 Jython
Similarly ,Jython makes life happy go lucky for Java savvy programmers. The same old story- code is being executed by the Java Virtual Machine, a.k.a. JVM. after it is compile to Java bytecode. And bonus hits you when you can simply import Java classes with utmost ease. So Jython becomes a smart choice especially when you need to interface with the former Java codebase.
# 3 IronPython ( supports Python 2.7)
IronPython is to Python as Iron man is to Avengers. Enough said already. Right ? The popular implementation that targets the .NET framework libraries entirely coded in C#. Empowers the existing .NET developers utilize IronPython as a rapid scripting language for reviewing or writing from the scratch. It works on the .NET Virtual Machine (similar to the JVM) and becomes an perfect option given its capability to translate the Python code to multiple languages.
Special disclaimer for Windows developers: you must appreciate the integration of IronPython into the Visual Studio development for Visual Studio.
# 4 PyPy (supports Python 2.7, targets Python 3 in BETA)
People prefer to beat around the bush when it comes to PyPy , probably because of all the confusion that has been built around it. Basically, it adds the “Just-in-time compiler” (JIT) to Python.
Let’s look at it this way. It has two functions.
Firstly, as a Python interpreter in RPython that’s a subset of Python having static typing. Secondly, it also compiles RPython code for diverse purposes and adds to JIT. Its accustomed platform is C and targets JVM etc… This two-in-one implementation, PyPy can dynamically add JIT to an interpreter, min turn leading to the formation of its own compiler.
As of now, it is 5 times faster than CPython and. If you are looking for speed, you are looking for your Pypy.
# 5 PythonNet (supports from Python 2.6 up to Python 3.5 and 3.6.)
This comprises of a package providing almost ideal integration with the .NET CLR a.k.a. Common Language Runtime. It permits usage of .NET services and modules written in any language (Managed C++, C#, VB, JScript) to produce complete applications in Python or script .NET.
It not only permits use of CLR services but helps continue using the old C- based extensions and Python code simultaneously maintaining original rate of execution.
Special Disclaimer: Good enough for integration of one, maybe two modules from .NET into a standard application but it’s incapable of producing managed (IL) from Python code. NO trouble in running it in addition to IronPython.
# 6 Cython
Not to make this your favourite one but Cython is like Jessica Pearson of Programming world. You just know it’s perfect! It accepts any code, even Python 3 subject to some conditions of course as it an ongoing project. It is not just limited to Python, converts all codes to C executable files. It offers double the speed and mixing of C and Python code forming a commendable bridge between the two.
While learning this one, make sure you notice how interesting it is to discover how Cython epands the Python syntax.
# 7 Grumpy (near drop-in replacement for CPython 2.7)
Go RUNning Python
The major point-to-be-noted would be compilation of Python Code to Go source code which is in turn converted to native code (not bytecode). Interesting right? Or maybe sounds complicated. NO VIRTUAL MEMORYGrumpy is being used by YouTube to enhance its front-end performance (primarily written in Python).
The compiled Go source code is a series of run time calls to Grumpy, a Go library for a similar purpose as the Python C interface.
# 8 MicroPython ( Python 3 implementation)
MicroPython is a complete Python compiler (C99 language). It runs on microcontrollers and incorporates parts of the standard library. It’s an interactive trigger, Read-eval-print loop that executes commands immediately. It works on which is a compact electronic circuit board (a bare metal by the MicroPython pyboard). It provides you with a convenient Python operating system controlling electronic projects and running/ importing scripts from the in-built filesystem.
Complete MicroPython core is easily accessible for use under the MIT license.
Such variety makes life easier and much more flexible. Explore all domains but genuinely stick to one for a great learning experience and amazing journey ahead in this world of programming. You’ll find your purpose more familiarized with some or the other domains so don’t limit your learning. Hope you had fun with the Python Family.