Qu'est-ce que Python?

(Wikimédia : Python) Lien Python est un langage de programmation interprété, multi-paradigme, ce qui signifie qu'il autorise la programmation impérative structurée, orientée objet, et fonctionnelle. Il est doté d'un typage dynamique (ce qui ne l'empêche pas de disposer d'un typage fort), d'une gestion automatique de la mémoire par ramasse-miettes et d'un système de gestion d'exceptions.

Je débute dans la programmation, Python convient-il?

OUI, sa syntaxe est tellement simple et intuitive que les développeurs, même débutants, arrivent rapidement à programmer sans se référer à la documentation. De plus, le code produit contient habituellement beaucoup moins d'erreurs de syntaxe en comparaison des autres langages. Pour finir, le programme peut être lancé immédiatement, sans passer par une phase de compilation. Avec Python, programmer de tête, sans erreur de syntaxe, et sans avoir à compiler est à la portée du plus grand nombre. Il faut encore ajouter que, à fonctionnalités égales, le code source est bien souvent 2 à 3 fois plus court qu'en Java ou C++, en plus d'être extrêment lisible. La maintenance des programmes s'en trouve largement facilitée. Sans oublier bien sûr le fait que Python est disponible gratuitement (OpenSource) sur de multiples plateformes (UNIX, Linux, Windows, DOS, OS/2, etc...), ce qui permet d'éluder le problème de portage des applications. (http://www.makina-corpus.org/zope/pourquoi_python)

Je sais déjà programmer, pourquoi apprendre Python?

Parceque Python est un langage surpuissant :-) (http://www.haypocalc.com/wiki/Python_ou_rien)

Python c'est compliqué.

FAUX. Il est vrai qu'il faut acquérir certaines bases en programmation. Mais une fois ces bases acquises, leur mise en pratique avec Python se révèle très simple. De plus, étant interprété, il n'y a pas besoin de compiler et un simple éditeur de texte peut suffire.

Python c'est plus lent que le C.

VRAI. En comparaison des langages compilés (comme le C ou le Pascal) les langages interprétés sont plus lent. Un programme tiers (l'interpréteur) doit lire le fichier source et executer les instructions qu'il contient. Par contre, un peu comme Java, les fichiers sources Python (.py) sont compilés dans un pseudo-code (!!! CORRECT? !!!) (fichiers .pyc) voir dans un pseudo-code optimisé (.pyo). Le code se voit alors plus rapidement traiter. De plus, des librairies comme Psyco permettent dans certains cas d'augmenter de manière significative la vitesse d'éxècution. Si la vitesse d'execution est primordiale dans un projet, il est toujours possible de créer un module en C qui executera les fonctions critiques.

Bientôt se sera FAUX. Avec PyPy (prononcez PiPi en Français) on pourra, avec optimisation, générer du code C qui sera plus rapide qu'un code C classique (http://codespeak.net/pypy/). PyPy est projet financé par L'EU qui promet beaucoup ;-) Il permettra même de générer du code dans d'autres langages et donc un interpréteur Python en Java, cad un Jython mais sur la base de la même branche que l'interpréteur CPython ;-)

Python c'est pas fait pour les jeux.

FAUX. De nombreux jeux ont été crées avec Python. Voici quelques exemples:

La librairie Soya3D pour créer des jeux en 3D (OpenGL) (http://home.gna.org/oomadness/fr/soya/index.html)

Python c'est uniquement en mode texte.

FAUX. Par défaut Python permet de créer des interfaces graphiques avec TKinter. Il existe aussi des bindings pour les librairies QT, GTK ou wxWindows. Le développeur peut alors décider de la librairie qu'il souhaite utiliser. Certains outils permettent de creer des interfaces graphiques à la souris.

Python c'est pas utilisé par les professionnels.

FAUX. Chaque langage à ses qualités et ses défauts. Certains projets nécessitant des temps d'éxecution très rapides choisirons le C, le C++ ou tout autre langage compilé. Certaines sociétés habituées à développer sous JAVA ne voient pas d'intérêt à tout redevelopper en Python (ça se comprend...). Toutefois, on retrouve Python dans des nombreuses sociétés. Certaines, utilisant des produits développés sous Python (comme Zope par exemple). D'autres intègrent Python dans leurs produits. On retrouve d'ailleurs Python dans des jeux comme BattleField 2 ou Civilisation IV.

C'est décidé je m'y met. Par où commencer?

Rendez-vous sur "Se mettre à Python" : http://www.afpy.org/groups/gr_adherents/wikis/SeMettre_c3_a0Python

Découvrir Python (last edited 2008-06-02 09:16:02 by stc92-1-82-225-161-243)