Implémentations Python
Python prend en charge plusieurs paradigmes de programmation, tels que la programmation procédurale, la programmation orientée objet et la programmation fonctionnelle.
Toutes les versions de Python sont open source et gérées par la PSF (Python Software Foundation), une organisation à but non lucratif. Celle-ci gère les ressources pour le développement de Python et de CPython.
Prêt à l'emploi
Grâce à sa bibliothèque standard riche et complète (un ensemble de modules permettant d'effectuer des tâches, inclus dans le package Python standard lors de l'installation), Python est qualifié de langage « prêt à l'emploi ».
De plus, il est immédiatement disponible, sans que l'utilisateur ait à télécharger de paquets supplémentaires.
Python est un langage de programmation généraliste à typage dynamique et à ramasse-miettes (GC).
Certaines implémentations et certains compilateurs Python sont nommés comme suit :
- Brython (via la traduction en JavaScript, pour Python dans le navigateur)
- Cython (un compilateur statique optimisant pour Python, ainsi que son extension Cython)
- HotPy (une machine virtuelle prenant en charge l'optimisation et la traduction du bytecode. Acronyme récursif : HotPy, Optimizing, Tracing, Python)
- IronPython (s'exécute sur CLR/.NET en C#)
- Jython (s'exécute sur la machine virtuelle Java)
- MicroPython (s'exécute sur microcontrôleurs)
- Pyjs (anciennement Pyjamas)
- PyPy (une implémentation rapide grâce à un compilateur JIT)
- Stackless Python (CPython bénéficiant des avantages de la programmation multithread)
- tinypy (64 ko de code avec une implémentation Python minimaliste)
- Transcrypt (précompile un sous-ensemble étendu de JavaScript compact et lisible pour Python)
Comparaison entre Cython et PyPy : principales différences entre les deux
Cython est considéré comme un sur-ensemble et simplifie l'écriture d'extensions C pour Python, tout comme l'écriture de Python lui-même. Écrits en Python et en C, CPython et Cython servent tous deux à développer des bibliothèques Python.
Il est largement utilisé comme compilateur statique optimisé pour Python et pour Cython, une extension dérivée de Pyrex (un langage permettant d'écrire des modules d'extension Python).
Il fonctionne sous Windows, macOS et Linux. Sa version stable, la 0.29.7, a été publiée le 14 avril 2019. Cython est basé sur Pyrex, mais offre davantage de fonctions et d'optimisations.
Ce compilateur Python vers C optimisé est largement utilisé et facilite l'appel des fonctions C ainsi que la déclaration des types C pour les variables et les attributs de classe.
Il permet ainsi au compilateur de générer du code C efficace à partir de code Cython. Par conséquent, il est particulièrement utile pour les codes volumineux et complexes.
Cython facilite l'interaction avec de grands ensembles de données et permet de développer rapidement des applications au sein du vaste écosystème CPython.
Cython est un traducteur de code source open source disponible sous licence Apache sur le dépôt PyPI. PyPI (Python Package Index) est un dépôt de logiciels Python ; il ne faut pas le confondre avec PyPy.
PyPy est une implémentation du langage Python (versions 2.7.13 et 3.5.3) et une alternative à CPython.
Il est écrit en RPython (Restricted Python), un langage co-développé avec PyPy et un sous-ensemble restreint de Python.
Grâce à son compilateur JIT, PyPy est plus rapide que CPython. Sa dernière version stable, la 7.1, date du 24 mars 2019.
PyPy et Cython sont tous deux privilégiés lorsque la vitesse est un critère essentiel. PyPy, une implémentation en Python, permet d'exécuter des programmes plus rapidement grâce à son compilateur JIT (Just-In-Time).
La rapidité, la compatibilité, la faible consommation d'espace et la capacité de micro-threading de PyPy pour une forte concurrence en font un outil très recherché.
Sa chaîne d'outils RPython est également utilisée dans d'autres langages, tels que Prolog, Smalltalk, JavaScript, Game Boy, etc. Elle prend en charge la plupart des modules de la bibliothèque standard Python couramment utilisés.
CPython
Écrit en C et en Python, CPython est l'implémentation la plus répandue du langage de programmation Python.
CPython est actuellement la norme pour toutes les autres implémentations de Python et leurs personnalisations, et désigne donc la même chose de manière générale. En résumé, CPython est la référence en matière d'implémentation de Python.




