] > Qu’est ce que Python? (PyCONFR)

Python est un langage de programmation haut niveau, interprété, au typage dynamique et à la gestion automatique de la mémoire. Il supporte plusieurs paradigmes ... Oops! Je m’emballe!

Reprennons... Guido van Rossum (le Benevolent Dictator For Life de Python) créé la première release du langage en Février 1991. Il nomme alors son projet Python en référence aux émissions des Monthy Python qui lui offrent un peu de distraction dans ces longues soirées de coding. Une grande partie des développements est effectuée entre 1991 et 2000 au CNRI à Reston. Depuis 2000, l'équipe de développeurs maintiennent le langage au travers de l'organisme Python Lab . Python est entièrement Open Source et sa propriété intellectuelle est surveillée par une association à but non lucratif nommée Python Software Fundation .



La licence officielle de Python!


Python est suffisamment simple pour être utilisé par des programmeurs débutants, cependant il est également assez complet pour répondre à toutes les contraintes du milieu professionnel. En quelques mots voici les principaux points de la philosophie de Python : syntaxe simple, interactif, qualité, productivité, intégration. Ces points font de lui un langage très attractif. Dans Programming Python Mark Lutz nous met en garde: “ You should be warned, thoughonce you start using Python, you may never want to go back. ”

Les évolutions et les grandes lignes du langage se font au travers des PEPs (Python Enhancement Proposal). Afin d’illustrer un plus précisément cette philosophie, nous recommandont les 2 PEPs suivantes, fondatrices et connues de tout bon développeur Python :

PEP 8 - Style Guide for Python Code : Cela évite les questions existentielles!
PEP 20 - The Zen of Python : Parfaite pour les Tee Shirts ;)

On dit de Python qu’il est livré “batteries incluses”, soulignant ainsi qu’il permet, sans modules supplémentaires, de créer des interfaces graphiques, parser ou sérializer différents types de contenus, créer un server web ou envoyer une requête, etc. Il comprend aussi des librairies pour son apprentissage, exemple avec le module turtle:

~$ python
>>> import turtle
>>> for i in range(4):
... turtle.forward(100)
... turtle.left(90)
...
>>>

Une belle tortue ;)



... ou encore ce texte à méditer, lui aussi built-in et dont les sources sont impénétrables ;)

~$ python
>>> import this
The Zen of Python, by Tim Peters

Beautiful is better than ugly.
Explicit is better than implicit.
Simple is better than complex.
Complex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
>>>



Aujourd’hui Python est souvent utilisé comme langage de script pour le développement web car il en facilite le design et la maintenance. Simple à intégrer, il est inclus dans des applications comme Maya, Blender, GIMP, Inkscape, Paint Shop Pro , ArcGIS. Il est installé de base dans Mac OS et la plupart des distributions Linux. Fedora l'utilise dans son programme d'installation Anaconda. L'application emerge pour la gestion des packages Gentoo est écrite en pure Python. Mais encore, une partie importante des logiciels pour le projet One Laptop Per Child sont écrites en Python. Principalement écris en AINSI C , il offre des performances intéressantes et une grande portabilité. Le site Python.org propose une liste complète des différents domaines d’applications couverts et une liste de retours d’expériences aux pages suivantes:

Application Domains
Python Sucess Stories , pourquoi pas vous ?;)

Notons que les entreprises suivantes l'utilise abondamment: YouTube , Google , Yahoo! , CERN , NASA ... voir Quotes about Python .


Three, two, one...Ignition!


Pour ma part je dirais que quelques best-pratices ont eu raison de moi:

● l’utilisation de PyPI (Python Package Index) pour partager et récupérer une librairie
● l’utilisation de virtualenv pour travailler sur plusieurs projets sans risque de conflits ou d’oublis de dépendances
● l’interpréteur IPython pour essayer rapidement une méthode ou un type
● enfin setup.py commun à toutes les librairies Python et qui assure l’installation, la gestion des dépendances, le déploiement, les tests unitaires sans aucun outil supplémentaire (*sauf setuptools) ....

Intéressant non? Ce n’est qu’un début, venez à PYCONFR 2010 , c’est l’occasion de découvrir, d’approfondir et de partager nos connaissances autour d’un langage qui a encore beaucoup à nous offrir et qui ne cesse jamais de nous étonner ;)