Vous vous apprêtez à lire un tutoriel rédigé par un membre de ce site. Malgré tout le soin que ce membre a pu apporter au tutoriel, nous ne pouvons pas garantir que les informations contenues sur cette page sont exactes à 100%. Merci de garder cela en tête lorsque vous lirez cette page ;o)
Hé bien en fait, la programmation c'est tout simplement donner des ordres à une machine, en attendant qu'elle les suive. Ça, c'est le concept de base.
Mais pour donner des ordres à une machine, il y a plusieurs moyens. Il faut de toute façon à la base possèder un outil permettant de le faire (Python en est un

).
Ensuite, il faut savoir un minimum comment cette machine fonctionne (ce qu'on appelle de la programmation de "bas niveau", car on descend au niveau de la machine pour réfléchir), ou alors comment notre outil fonctionne (ce qu'on appelle alors de la programmation de "haut niveau" : on n'a plus à se préoccuper du fonctionnement de la machine, mais d'un ensemble de règles généralement plus simples).
Enfin, et surtout, programmer consiste aussi à dire quelque chose de correct - c'est à dire que votre programme doit être le fruit d'une longue réflexion, et suivre un déroulement précis (nommé algorithme), qui part d'un certain stade pour arriver à un certain autre (le résultat), en utilisant tous les outils disponibles nécessaires.
Tout ceci est bien beau, mais vous ne savez pas pourquoi nous avons choisi de présenter Python et pas un autre langage. Après tout, on trouve d'excellents cours pour débutants en C, alors pourquoi certaines personnes ont-elles pris la peine de lancer un projet énorme sur la programmation avec Python ?
Et globalement, pourquoi existe-t'il plusieurs langages ?
La réponse la plus courte et la plus exacte est : parce qu'ils sont différents. En effet, vous l'avez lu dans la partie précédente, il y a plusieurs moyens de programmer un ordinateur

.
Et si certains moyens sont meilleurs que d'autres dans certaines situations, ils seront rapidement jugés inutiles dans d'autres.
Par exemple, Python ne vous servira malheureusement pas à programmer un nouveau système révolutionnaire : il n'est pas adapté pour ça, parce qu'il n'a pas été pensé pour ça. Le C, lui, est tout à fait à sa place dans ce contexte.
Avantages de Python
Pourquoi choisir le Python malgré tout ? Parce qu'il est (très) bon pour pleins d'autres choses.
Voici les principales :
- La création de programmes : on juge que le développement en Python demande 5 à 10 fois moins de code que le développement C++. C'est un chiffre assez arbitraire, mais pas tout à fait infondé ; le développement en Python est réellement plus court qu'en pas mal d'autres langages, car il laisse à disposition du programmeur des outils réellement pratiques. De plus, Python gère pour vous certaines choses, et vous laisse ainsi libre de vous consacrer à l'essentiel (votre algorithme). Cela n'est pas sans coût : c'est parce que pour programmer en Python il faut des outils déjà écrits qu'on ne peut pas faire de système d'exploitation avec (sans système, les fameux outils ne sont pas là)
- La création de sites webs : même si on ne verra cette option que beaucoup plus tard, Python est de plus en plus employé par les webmasters. C'est lié à sa puissance ainsi qu'à sa simplicité, encore une fois.
- L'écriture de scripts pour d'autres applications : Les utilisateurs de Blender (par exemple) ont sûrement déjà entendu parler de Python. Nous ne comptons pas en parler, mais on peut effectivement enrichir Blender à l'aide de Python. Ce cours vous sera utile car il présente Python - vous saurez aisément adapter ce que vous avez appris pour obtenir ce que vous souhaitez. De même, des clients IRC comme XChat permettent d'écrire des modules (bots ou autres) en Python. Pourquoi ne pas en profiter ?
- L'apprentissage de la programmation : vous allez trouver que je me répète, mais Python est réellement simple ! Il a également été créé d'une façon qui permet d'utiliser des concepts modernes comme la programmation orientée objet - mais vous n'êtes même pas obligé de savoir ce que c'est pour utiliser le langage. Cela permet de découvrir peu à peu des concepts qui changent à chaque fois votre façon de voir les choses, et vous permettent de faire des programmes de plus en plus élaborés de plus en plus facilement
.
Que demander de plus ?
Tout n'est pas rose
Mais Python a aussi des inconvénients. Son principal est d'être ce qu'on appelle un langage interprété. Vous vous demandez sûrement ce que c'est ? Cela signifie que nos programmes écrits en Python devront à chaque fois passer par un autre programme (dont la version la plus connue est écrite en C) afin de fonctionner : c'est ce programme là (qui s'appelle python lui même, sans majuscule) qui va nous permettre ce dont je vous ai parlé, c'est à dire une programmation décontractée et claire. Petite explication :
Une machine fonctionne selon des principes électroniques et physiques compliqués. Pour nous limiter à l'essentiel : elle ne comprendra pas le texte des programmes que nous allons écrire. Aussi les programmeurs utilisent des sortes de "traducteurs", pour transformer leur "code source" (un programme sous forme de texte compréhensible par un humain) en "exécutable" (un programme prêt à être exécuté, car la machine le comprend)
Il y a deux types de traducteur : les compilateurs et les interpréteurs. Les premiers transforment le code source en exécutable et puis basta, l'exécutable est fait, il est disponible. Les deuxièmes transforment le code source à chaque exécution, afin de pouvoir contrôler le programme pendant son déroulement. En gros, un compilateur est une machine dans lequel vous mettez une recette, et pouf, vous avez votre gâteau prêt à être mangé n'importe où. Un interpréteur est un cuisinier qui refera le gâteau à chaque fois que vous lui demanderez - l'avantage c'est qu'il vous dira si jamais votre recette ne tient pas debout, et l'inconvénient, c'est qu'il sera plus lent à chaque fois.
Oui, Python est un langage plutôt lent. Ca ne veut pas dire qu'il va ramer, ça veut dire qu'il sera adapté pour faire des logiciels ou des petits jeux (on peut l'utiliser pour la 3D, ça n'est pas grave), mais pas pour coder un jeu comme Half-life.
Cela ne fait pas de lui un déchet inutile : Python a de nombreuses applications, pour lesquelles il est un atout tant qu'elles ne demandent pas une rapidité importante. Inutile, donc, de craindre perdre votre temps en lisant ce qui suit
Un autre inconvénient de l'interprétation est qu'il faut
le cuisinier l'interpréteur pour exécuter un programme. Comme Java, par exemple, Python doit être installé sur la machine cible pour que tout fonctionne. Vous trouverez cependant en annexe un guide qui explique comment tout empaqueter (interpréteur + programme + éventuelles extensions) dans un futur proche.