Illustration Python par Walker Cahall
Audience cible
Cet article suppose que le lecteur possède au moins une connaissance de base des langages de programmation.
Présentation
Tout cours d'introduction à l'informatique serait incomplet sans une mention de Python. Il peut sembler relativement nouveau sur la scène des langages de programmation, mais il est utilisé depuis le début des années 1990. Des dizaines de grandes entreprises, dont Google, Facebook et même la NASA et le Jet Propulsion Laboratory de Pasadena, font partie des organisations qui utilisent Python.
.
L'histoire d'origine de Python
Python a été développé par Guido van Rossum à la fin des années 1980, incorporant ce qu'il considérait comme des améliorations du langage de programmation ABC. Parce qu'il est un grand fan de Monty Python, la troupe de comédie britannique, il a nommé le langage "Python", allant même jusqu'à appeler l'environnement de développement intégré, ou IDE, IDLE en l'honneur d'Eric Idle, l'un des membres du groupe. .
Van Rossum est toujours l'un des principaux auteurs et contributeurs du langage, et a reçu le titre de BDFL (Benevolent Dictator For Life) de la communauté Python.
Les caractéristiques de Python
Python est un langage multiplateforme :un programme Python écrit sur un ordinateur Macintosh fonctionnera sur un système Linux et vice versa. Les programmes Python peuvent s'exécuter sur un ordinateur Windows, tant que l'interpréteur Python est installé sur la machine Windows (la plupart des autres systèmes d'exploitation sont livrés avec Python préinstallé). Une application appelée py2exe
existe qui permet à un utilisateur de créer un binaire Windows à partir d'un programme Python afin qu'un programme Python développé sur un autre système puisse être exécuté sur une machine Windows sur laquelle Python n'est pas installé.
Python diffère de nombreux autres langages par son utilisation des espaces blancs et des indentations. Alors que de nombreux autres langages terminent les instructions de programmation en utilisant des fins de ligne telles que des points-virgules, Python n'a pas une telle fin. Il ne contient pas non plus de blocs de code tels que for
boucles et if
déclarations entre accolades. Python utilise plutôt des indentations pour définir un bloc de code. Chaque indentation successive définit un bloc successif. Par exemple, examinez le code suivant :
if i ==1 :print "i =1" for x in range(10) :print "x =", xelse :print "i n'est pas égal à 1"
Python interprète la quatrième ligne (print "x= ", x
) pour faire partie du for
boucle plutôt qu'une partie de if
déclaration - en raison de son niveau d'indentation. L'indentation délimite également les définitions de fonctions et de classes.
Langage de programmation ou de script ?
Chez les aficionados comme chez les détracteurs, la question revient souvent :Python est-il un langage de script ou un langage de programmation ? Avant de pouvoir essayer de répondre à cette question, examinons ce que nous entendons par différencier les deux.
Langages de programmation
Les langages de programmation sont compilés par un programme spécial appelé compilateur. Les langages courants comme C et C++ doivent être traduits par un compilateur en code machine – inintelligible pour les humains – qu'un ordinateur peut lire et traiter. Lorsque vous écrivez un programme en C et que vous le compilez, le résultat .o
fichier est ce que l'ordinateur lit. Le code compilé donne généralement un code plus rapide et la compilation ne doit avoir lieu qu'une seule fois (sauf si vous modifiez votre code). Certains compilateurs effectuent automatiquement une optimisation de base, et d'autres ont plusieurs indicateurs qui peuvent être utilisés pour optimiser le code pour plusieurs processeurs et même pour un traitement parallèle.
Le code compilé qu'un langage de programmation produit s'exécute le plus souvent au-dessus du matériel sur lequel il est écrit. Un programme écrit et compilé en C++ est exécuté directement par le processeur sur lequel il a été compilé. Bien que cela puisse accélérer l'exécution du code, cela a également l'effet parfois indésirable de rendre un programme compilé dépendant du processeur et de la machine. Le code compilé sur un ordinateur particulier peut même ne pas s'exécuter sur une machine séparée, presque identique, en raison de petites différences de matériel.
.
Langages de script
Les langages de script, en revanche, sont lus et interprétés à chaque fois que vous les exécutez, sans qu'un compilateur crée un fichier en langage machine. Aucune optimisation n'a lieu, donc si vous écrivez du code bâclé, vous obtiendrez des résultats bâclés, ce qui peut entraîner des programmes plus lents.
Les langages de script s'exécutent également "à l'intérieur" d'un autre programme, plutôt que de s'exécuter directement sur leur processeur hôte. PHP s'exécute dans le moteur de script PHP, par exemple, et les scripts bash s'exécutent dans le shell bash. (Une exception à cette règle est Java ; Java est considéré comme un langage de programmation, mais il s'exécute à l'intérieur de la machine virtuelle Java (JVM)).
.
Le verdict
Alors qu'est-ce que Python ? Bien que souvent appelé langage de programmation, Python est, techniquement, un langage de script. Son code n'utilise aucun compilateur et peut s'exécuter sur à peu près n'importe quel appareil exécutant le shell Python. Il partage également quelques autres similitudes avec les langages de script par rapport aux langages de programmation.
Les langages de script sont souvent moins rigides en termes de syntaxe et de format. L'espace blanc est traité avec plus de tolérance (à l'exception de l'indentation, mentionnée précédemment). Par conséquent, les programmeurs n'ont pas besoin de passer des heures à déboguer du code à essayer de trouver un point-virgule mal placé ou une accolade manquante. C'est une question de fierté pour de nombreux programmeurs Python que leur code soit facilement lisible par un humain, ce qui facilite le débogage, si nécessaire.
Les langages de programmation (tels que C++) ont tendance à être plus complexes sur le plan syntaxique et difficiles à apprendre, tandis que les langages de script sont moins intimidants. Considérez un programme "Hello, world" en C++ :
#include; en utilisant l'espace de noms std ; int main(){ cout <<"Bonjour, tout le monde !" < .
Maintenant, le même programme en Python :imprimer "Hello, world !".
Parce que ce n'est pas un langage compilé, certains puristes de la programmation dénigrent Python, disant qu'il peut être lent et moins efficace. Cependant, à mesure que les processeurs s'améliorent en termes de vitesse et d'architecture, la différence de vitesse devient moins appréciable entre un langage compilé et un langage scripté. Ce n'est que lorsque les performances sont un problème sérieux qu'une différence entre les deux peut devenir apparente.
.Le schisme de la version Python
Les nouveaux venus dans l'environnement Python peuvent remarquer et s'interroger sur les différences entre la version 2 et la version 3 du langage. Contrairement à la plupart des versions logicielles, les deux versions existent simultanément et séparément et ne sont pas totalement compatibles l'une avec l'autre.
La version 3.0 a été publiée en décembre 2008 et a été conçue pour corriger certains défauts du langage, principalement en supprimant certaines manières en double d'effectuer certaines tâches. Cependant, il n'est pas entièrement rétrocompatible avec la version 2 et les programmes écrits en 2.7 peuvent se casser lorsqu'ils sont portés vers la version 3. Pendant une courte période, son développement a été parallèle à la version 2, mais ce développement parallèle a cessé avec la version 3.2 en février 2011. Outils existent pour rendre la portabilité et la conversion un peu plus faciles.
Lorsqu'un programmeur commence à travailler en Python, il ou elle doit décider quelle version utiliser. Au moment d'écrire ces lignes, la version la plus couramment utilisée est la 2.7. C'est aussi la version finale 2.x; toutes les futures versions seront pour la version 3.x. Ainsi, même si la version 2.7 est officiellement en fin de vie, elle reste un choix populaire pour sa vaste collection de bibliothèques. Jusqu'à ce que le taux d'adoption et d'utilisation de la version 3.x augmente (et que la communauté développe le support de la bibliothèque de cette version), ce schisme peut continuer à persister.
.Conclusion
Python est un langage extrêmement performant que de nombreux développeurs de logiciels trouvent intéressant d'apprendre. Sa portabilité et sa facilité d'utilisation, ainsi que son accessibilité aux nouveaux programmeurs, en font une solution extrêmement attrayante à de nombreux problèmes et applications de programmation.
Pour des articles et des tutoriels plus intéressants, tels que How to :Python 3 et Creating a Virtual Environment (venv) in CentOS 6.7 , n'oubliez pas de consulter notre blog.
Atlantique.Net
Altantic.Net propose de nombreux hébergements VPS, un hébergement cloud géré, des installations cloud d'applications en un clic et de nombreuses autres solutions d'hébergement.
.
.