About

Swaroop C H is 27 years of age. He graduated in B.E. (Computer Science) from PESIT, Bangalore, India. He has previously worked at Yahoo! and Adobe.

More about

Page
Personal tools
COLLECTION
Collection

Python fr:Introduction

From Notes

Jump to: navigation, search

Contents

[edit] Introduction

Python est un des rares langages à être à la fois simple et puissant. Vous serez agréablement surpris de voir comme il est facile de se concentrer sur la solution d'un problème plutôt que sur la syntaxe et la structure du langage utilisé .

L'introduction officielle à Python est :

Python est un langage de programmation puissant et facile à apprendre. Il possède des structures de données de haut niveau et une approche simple mais efficace à la programmation orientée objet. La syntaxe élégante de Python et le typage dynamique des données, avec la nature interprétée du langage, en font un langage idéal pour le scriptage et le développement rapide d'applications dans de nombreux domaines sur la plupart des plate-formes.

Je parlerai plus en détail de ces fonctionnalités dans le paragraphe suivant.

Note
Guido van Rossum, le créateur du langage, l'a appelé en référence au show de la BBC "Monty Python's Flying Circus". Il n'aime pas particulièrement les serpents qui tuent des animaux pour manger en les étouffant et les écrasant.

[edit] Fonctionnalités de Python

Simple
Python est un langage simple et minimal. Lire un bon progamme écrit en Python ressemble à lire de l'anglais, mais de l'anglais très strict ! La nature de pseudo-code de Python est une de ses plus grandes forces. Cela vous permet de vous concentrer sur la solution du problème plutôt que sur le langage lui-même.
Facile à apprendre
Comme vous le constaterez, il est très facile de démarrer avec Python. Python a une syntaxe extraordinairement simple, comme indiqué précédemment.
Libre et Open Source
Python est un exemple de FLOSS (Free/Libre et Open Source Software). En d'autres termes, vous pouvez librement distributer des copies de ce logiciel, lire son code source, le modifier, et en uiliser des morceaux dans un nouveau programme. FLOSS est basé sur le concept de communauté qui partage le savoir. C'est l'une des raisons pour lesquelles Python est tellement bien, il a été créé et est constamment amélioré par une communauté qui veut juste voir un meilleur Python.
Langage de haut niveau
Quand vous écrivez des programmes en Python, vous n'avez pas besoin de vous préocupper de détails commme gérer la mémoire utilisée par votre programme, etc...
Portable
En raison de son caractère open-source, Python a été porté sur de nombreuses plate-formes. Tout programme Python peut fonctionner sur n'importe laquelle de ces plate-formes sans avoir besoin du moindre changement si vous évitez des fonctionnalités dépendant d'un système.
Vous pouvez utiliser Python sous Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE et même PocketPC !
Interprété
Cela appelle quelques explications.
Un programme écrit dans un langage compilé comme C ou C++ est converti à partir du langage source (C ou C++) dans un langage parlé par l'ordinateur (code binaire avec des 0 et des 1) en utilisant un compilateur avec différents flags et options. Quand vous lancez le programme, l'éditeur de liens/le chargeur copie le programme du disque dur vers la mémoire et commence à l'exécuter.
Python, par contre, n'a pas besoin de compilation vers du code binaire. Vous lancez' juste le programme directement à partir du code source. En interne, Python convertit le code souce dans une forme intermédiaire appelée bytecode et ensuite le convertit dans le langage natif de l'ordinateur et le lance. Tout cela, en fait, rend l'utilisation de Python plus facile, vu que vous n'avez pas besoin de vous inquiéter de la compilation du programme, que les bonnes librairies sont liées et chargées, etc...Cela rend aussi les programmes Python plus portables, vu qu'il suffit de copier un programme Python d'un ordinateur sur un autre, et cela marche !
Orienté Objet
Python supporte la programmation orientée procédure et la programmation orientée objet. Dans les langages orienté-procedure, le programme est construit autour de procédures ou fonctions qui sont des portions re-utilisables de programmes. Dans les langages orienté-objet, le programme est construit autour d'objets qui comprennent données et fonctionnalités. Python a une manière à la fois très puissante et très simple de faire de la Programmation Orientée Objet, en particulier comparé à des langages comme C++ ou Java.
Extensible
Si vous avez besoin qu'un morceau de code critique tourne très vite, ou qu'un algorithme reste caché, vous pouvez écrire cette partie de votre programme en C ou C++ et ensuite l'utiliser dans votre programme Python.
Embarqué
Vous pouvez embarquer Python dans vos progammes C/C++ pour donner des possibilités de 'scripting' aux utilisateurs de vos programmes.
De Nombreuses Bibliothèques
La Python Standard Library est immense. Cela peut vous aider à faire de nombreuses choses comme les expressions régulières, la création de documentation, les tests unitaires, les threads, les bases de données, les navigateurs web, CGI, FTP, email, XML, XML-RPC, HTML, fichiers WAV, cryptographie, GUI (graphical user interfaces), Tk, et autres choses dépendant du système. Rappelez-vous, tout ceci est toujours disponible, quand Python est installé. Cela est appelé l'approche 'Batteries Included' de Python.
En plus de la bibliothèque standard, il y a d'autres bibliothèques de grande qualité comme wxPython , Twisted, Python Imaging Library et beaucoup d'autres.

Python est vraiment un langage puissant et formidable. Il possède la bonne combinaison de performance et fonctionnalités, ce qui rend l'écriture de programmes Python à la fois amusante et aisée.

[edit] Pourquoi pas Perl ?

Si vous ne le savez pas déjà, Perl est un autre langage de programmation interprété open-source très populaire.

Si vous avez déjà essayé d'écrire un programme de bonne taille en Perl, vous avez répondu vous-même ! En d'autres termes, les programmes Perl sont faciles quand ils sont petits, et Perl excelle à faire des petits hacks et scripts pour 'faire le boulot'. Cependant ils deviennent vite lourds en devenant plus importants, et je parle d'expérience, j'ai écrit des gros programmes Perl à Yahoo !

Comparés à Perl, les programmes Python sont nettement plus simples, clairs, faciles à écrire et en conséquence plus faciles à comprendre et à maintenir. J'admire réellement Perl et je l'utilise quotidiennement pour différentes choses, mais quand j'écris un programme, je commence toujours à penser en Python, parce que cela est devenu naturel pour moi. Perl s'est soumis à tellement de hacks et de changements, que cela ressemble à un énorme hack. Hélas, la prochaine version Perl 6 ne semble pas apporter d'améliorations sur ce point.

Le seul avantage significatif que je reconnais à Perl est sa gigantesque librairie CPAN - le Comprehensive Perl Archive Network. Comme le nom le suggère, c'est une énorme collection de modules Perl et c'est stupéfiant en raison de la taille et la profondeur - vous pouvez pratiquement tout faire avec un ordinateur utilisant ces modules. L'une des raisons est que Perl a plus de librairies que Python parce qu'il est là depuis plus longtemps. Cependant cela est en train de changer avec Python Package Index qui devient plus important.

[edit] Pourquoi pas Ruby?

Si vous ne le savez pas déjà, Ruby est un autre langage open source interprété populaire.

Si vous utilisez et aimez déjà Ruby, je vous recommande de continuer à l'utiliser.

Pour les personnes que ne l'ont pas utilisé, et qui hésitent entre apprendre Python ou Ruby, je recommande Python, uniquement du point de vue de la facilité d'apprentissage. J'ai personnellement eu du mal à appréhender ce langage, mais ceux qui comprennent le langage Ruby louent la beauté de ce langage. Hélas je ne suis pas aussi chanceux.

[edit] Ce que disent les programmeurs

Vous trouverez intéressant de lire ce que des grands hackers comme ESR disent à propos de Python:

  • Eric S. Raymond est l'auteur de La Cathédrale et le Bazar et aussi la personne qui a créé le terme Open Source. Il dit que Python est devenu son langage de programmation préféré. Cet article a été la vraie inspiration pour mon premier contact avec Python.
  • Bruce Eckel est l'auteur des livres célèbres Thinking in Java et Thinking in C++. Il dit qu'aucun langage ne l'a rendu plus productif que Python. Il dit que Python est peut-être le seul langage qui se concentre sur le fait simplifier le travail du programmeur. Lisez l'interview complète pour plus de détails.
  • Peter Norvig est un auteur Lisp et directeur de Search Quality chez Google (merci à Guido van Rossum pour l'avoir signalé). Il dit que Python a toujours fait partie de Google. Vous pouvez vérifier cela en recherchant sur la page Google Jobs qui indique Python comme un pré-requis pour les ingénieurs logiciels.

[edit] A propos de Python 3.0

Python 3.0 est la nouvelle version du langage. Il est aussi appelé Python 3000 ou Py3K.

La principale raison de cette nouvelle version majeure de Python est de se débarrasser de tous les petits problèmes accumulés au fil des ans et de rendre le langage encore plus propre.

Si vous avez beaucoup de code Python 2.x, il existe un utilitaire pour vous aider à convertir le code source 2.x en 3.x .

Vous trouverez plus de détails à :



Please add your comments by clicking on the 'Discussion' link in the left sidebar.