Ce qui rend Python si spécial

Le langage (Micro)Python atteint un niveau "synthétique" qui le rend probablement assez proche d'un "langage ultime". "La perfection, c'est lorsqu'il n'y a plus rien à enlever ni à jouter." (Antoine de Saint-Exupéry) Cette maxime s'applique probablement au langage Python qui a été pensé pour être épuré, aller à l'essentiel.

Il y a quelque chose de semblable aux mathématiques ou à l'algèbre avec le langage (Micro)Python : une fois que l'on a intégré les concepts et les outils de base, on dispose d'une puissance de déploiement possible qui facilite la réflexion.

Il y a également un côté ludique, si ce n'est esthétique : face à un problème donné, trouver la forme la plus synthétique, la plus "pythonique" dira-t-on, qui résoud ledit problème. Un peu comme en math, il y a une façon la plus élégante possible de prouver quelque chose.

Par exemple, pour tester si un nombre est un nombre premier, on pourrait faire :

not any([x%i==0 for i in range(2,x)])

Avouez que c'est particulièrement concis ! Que fait on ici : on vérifie qu'aucune division entre le nombre à tester et tous les nombres de 2 au nombre-1 n'a un reste (modulo %) égale à zéro. C'est typiquement le genre de chose possibles en Python.

Vérification :

>>> x=23
>>> not any([x%i==0 for i in range(2,x)])
True
>>> x=22
>>> not any([x%i==0 for i in range(2,x)])
False

Le désir synthétique et de concision s'exprime aussi dans les règles de "bon usage" du langage : des lignes unitaires courtes, avec un nombre de caractères limités. Cela érige finalement la programmation, le codage au rang d'un "art" comme le dit le créateur du langage Python. "Le codage est un art supérieur".

Il en résulte également une facilité d'apprentissage : " je crois qu'il est beaucoup plus facile d'enseigner Python aux étudiants en programmation (...) parce que tous les détails des langages sont beaucoup plus difficiles." Et cette facilité n'est pas au prix d'une moindre performance, bien au contraire.

Ces réflexions sont déjà vraies pour le langage lui-même, mot-clés et fonction built-in, mais également pour les modules standards ou encore les librairies.

Disposer de ce langage sur un microcontrôleur a quelque chose de "magique" pour un codeur, surtout si l'on est habitué à Python.

Au final, on pourrait presque dire que le langage Python contient en lui-même un mode de vie, un style de vie, un peu comme les styles de vie épurés de certains pays asiatiques. L'esprit habitué à coder en Python veut retrouver les valeurs associées dans sa propres vie concrète.