Une introduction au développement du langage de programmation Python

高洛峰
Libérer: 2017-03-23 15:58:53
original
1440 Les gens l'ont consulté

Python est mon langage préféré. Il est simple, beau et facile à utiliser. Il y a deux jours, j'étais très excité Faites la promotion des avantages de Python auprès de vos amis

« D'accord, j'avoue que Python c'est bien, mais pourquoi s'appelle-t-il Python ? "
"Eh bien, cela semble être le nom d'une série télévisée. "
"Alors le Guido dont vous parlez est-il américain ? "
"Il est passé de Google à Dropbox, mais son nom ressemble à un nom néerlandais. "
"Êtes-vous sûr de connaître Python ? ”

Alors, afin de venger ma honte, j'ai pris le temps d'enquêter sur l'histoire de Python, j'ai vu l'origine de nombreuses fonctions de Python et la philosophie de conception de Python, et j'ai vu un langage de programmation L'histoire évolutive de Python et le merveilleux lien entre Python et le mouvement open source. De l'histoire de Python, nous pouvons avoir un aperçu des concepts et des réalisations du développement open source

. Cela peut également être utilisé comme préface au tutoriel rapide Python que j'ai écrit.

Origine

L'auteur de Python, Guido von Rossum, est en effet néerlandais. En 1982, Guido a obtenu une maîtrise. Il est diplômé en mathématiques et en informatique de l'Université d'Amsterdam, mais il aime davantage le plaisir des ordinateurs. Selon lui, malgré sa double qualification en mathématiques et en informatique, il a toujours tendance à faire des travaux liés à l'informatique et est enthousiaste à l'idée de le faire. tout ce qui touche à la programmation.

À cette époque, Guido était exposé et utilisait des langages tels que Pascal, C et Fortran. Les

principes de conception de ces langages étaient de créer des machines. fonctionner plus rapidement. Apple a déclenché une vague d'ordinateurs personnels, mais la configuration de ces ordinateurs personnels est très faible. Par exemple, les premiers Macintosh n'ont qu'une fréquence de processeur de 8 MHz et 128 Ko de RAM. Optimiser pour que le programme puisse s'exécuter. Afin d'améliorer l'efficacité, le langage oblige également les programmeurs à penser comme un ordinateur afin qu'ils puissent écrire des programmes plus conformes aux goûts de la machine. À cette époque, les programmeurs avaient hâte de le presser à la main. La puissance de chaque centimètre carré de l'ordinateur. Certaines personnes pensent même que les pointeurs du langage C sont un gaspillage de mémoire. gestion, orienté objet... N'y pensez pas, cela vous fera

Cette façon de programmer des problèmes Guido sait écrire une fonction en langage C, mais. l'ensemble du processus d'écriture prend beaucoup de temps, même s'il sait déjà exactement comment l'implémenter. Son autre choix est le shell Bourne, utilisé depuis longtemps comme interpréteur pour les systèmes UNIX. écrire quelques scripts simples, comme des sauvegardes régulières, etc. >Système de fichiers

Gestion, etc. Le shell peut être comme de la colle pour connecter de nombreuses fonctions sous UNIX De nombreux programmes avec des centaines de lignes en langage C peuvent être complétés en seulement. quelques lignes. Cependant, l'essence du shell est d'appeler des commandes. Par exemple, le shell n'a pas de types de données numériques , et les opérations d'addition sont très compliquées. ordinateur.>Guido espère avoir un langage capable d'appeler entièrement l'interface fonctionnelle de l'ordinateur comme le langage C, et qui puisse être facilement programmé comme un shell. La langue ABC a donné de l'espoir à Guido. ABC a été développé par l'Institut de mathématiques et d'informatique des Pays-Bas. Guido a travaillé à l'institut et a participé au développement du langage ABC. La langue ABC est destinée à l’enseignement. Contrairement à la plupart des langues de l'époque, l'objectif du langage ABC était de « faire en sorte que les utilisateurs se sentent mieux ». ABC Language espère rendre le langage facile à lire, facile à utiliser, facile à mémoriser et facile à apprendre, et stimuler l'intérêt des gens pour l'apprentissage de la programmation. Par exemple, ce qui suit est un programme ABC de Wikipédia. Ce programme est utilisé pour compter le nombre total de mots apparaissant dans un texte :

COMMENT

RETOUR

mots
. document

 : PUT {} IN collectionFOR line IN document :FOR word IN split line :
IF
word not.in collection :
INSERT word IN collection
RETURN collection
HOW TO est utilisé pour
définir une fonction

. Un programmeur Python devrait facilement comprendre ce programme. Le langage ABC utilise des deux-points et des indentations pour représenter des blocs de programmes. Il n'y a pas de point-virgule à la fin de la ligne. Il n'y a pas non plus de parenthèses () dans les structures for et if. L'affectation utilise PUT au lieu du signe égal le plus courant. Ces changements font que le programme ABC se lit comme un texte.

Malgré sa bonne lisibilité et sa facilité d'utilisation, le langage ABC n'est finalement pas devenu populaire. À cette époque, le compilateur du langage ABC nécessitait un ordinateur relativement haut de gamme pour fonctionner. Les utilisateurs de ces ordinateurs maîtrisent généralement l'informatique et considèrent l'efficacité du programme plus que la difficulté de son apprentissage. En plus des difficultés matérielles, la conception du langage ABC présente également quelques problèmes fatals :

Une mauvaise évolutivité. Le langage ABC n'est pas un langage modulaire. Si vous souhaitez ajouter des fonctions au langage ABC, comme un support graphique, vous devez changer de nombreux endroits.

Impossible d'effectuer des IO directement. Le langage ABC ne peut pas faire fonctionner directement le système de fichiers. Bien que vous puissiez importer des données via des méthodes telles que les flux de texte, ABC ne peut pas lire et écrire directement des fichiers. La difficulté d’entrée et de sortie est fatale aux langages informatiques. Pouvez-vous imaginer une voiture de sport avec des portes qui ne peuvent pas être ouvertes ?

Sur-innovation. ABC utilise le langage naturel pour exprimer la signification du programme, comme COMMENT FAIRE dans le programme ci-dessus. Cependant, pour les programmeurs, ils sont plus habitués à utiliser function ou à définir pour définir une fonction. De même, les programmeurs sont plus habitués à attribuer des variables en utilisant le signe égal. Bien que la langue ABC soit très particulière, elle est également très difficile à apprendre.

Difficulté à se propager. Le compilateur ABC est volumineux et doit être enregistré sur bande. Lors de sa visite à ce moment-là, Guido devait disposer d'une grande cassette pour installer le compilateur ABC pour les autres. De cette manière, il est difficile pour le langage ABC de se propager rapidement.

En 1989, afin de passer les vacances de Noël, Guido commence à écrire un compilateur pour le langage Python. Le nom Python vient de la série télévisée bien-aimée de Guido, Monty Python's Flying Circus. Il espère que ce nouveau langage appelé Python pourra répondre à son idéal : créer un langage entre C et Shell qui soit complet, facile à apprendre, facile à utiliser et évolutif. En tant que passionné de conception de langages, Guido a déjà essayé de concevoir des langages. Cette fois, ce n'était qu'un acte de pur hacking.

La naissance d'un langage

En 1991, le premier compilateur Python voit le jour. Il est implémenté en langage C et peut appeler des fichiers de bibliothèque en langage C. Depuis sa naissance, Python a eu : des classes, des fonctions, une gestion des exceptions, des types de données de base comprenant des tables et des dictionnaires, et un système d'expansion basé sur des modules.

Une grande partie de la syntaxe Python vient du C, mais elle est aussi fortement influencée par le langage ABC. Certaines règles du langage ABC sont encore controversées à ce jour, comme l'indentation forcée. Mais ces règles de syntaxe rendent Python facile à lire. D’un autre côté, Python choisit intelligemment d’obéir à certaines conventions, notamment celles du langage C, comme la régression de l’affectation du signe égal. Guido estime que si quelque chose est établi sur la base du « bon sens », il n'est pas nécessaire de s'y attarder trop.

Python a accordé une attention particulière à l'évolutivité depuis le début. Python peut être étendu à plusieurs niveaux. À un niveau élevé, vous pouvez importer directement des fichiers .py. Sous le capot, vous pouvez référencer les bibliothèques C. Les programmeurs Python peuvent rapidement utiliser Python pour écrire des fichiers .py en tant que modules d'extension. Mais lorsque les performances sont un facteur important à prendre en compte, les programmeurs Python peuvent aller plus loin dans la couche inférieure, écrire des programmes C, les compiler dans des fichiers .so et les introduire dans Python pour les utiliser. Python, c'est comme construire une maison en acier. Tout d'abord, un grand cadre est défini. Les programmeurs peuvent développer ou modifier assez librement dans ce cadre.

Le Python original a été entièrement développé par Guido lui-même. Python est populaire parmi les collègues de Guido. Ils fournissent des commentaires rapides et participent aux améliorations de Python. Guido et quelques collègues forment l'équipe principale de Python. Ils passent la plupart de leur temps libre à pirater Python. Par la suite, Python s’est étendu au-delà de l’institut. Python cache de nombreux détails au niveau de la machine et les laisse au compilateur pour les gérer, et met en évidence la réflexion en matière de programmation au niveau logique. Les programmeurs Python peuvent passer plus de temps à réfléchir à la logique du programme plutôt qu'aux détails spécifiques de l'implémentation. Cette fonctionnalité attire un grand nombre de programmeurs. Python est devenu populaire.

Une introduction au développement du langage de programmation Python

La vie est courte, j'utilise python

Le temps fait des héros

Nous devons mettre notre temps Python en pause et regarder Regardez l'industrie informatique en évolution rapide. Au début des années 1990, les ordinateurs personnels ont commencé à faire leur apparition dans les foyers ordinaires. Intel a lancé le processeur 486 et Windows a publié une série de systèmes de fenêtres commençant par Windows 3.0. Les performances de l'ordinateur sont grandement améliorées. Les programmeurs ont commencé à s'intéresser à la facilité d'utilisation des ordinateurs, notamment aux interfaces graphiques.

Une introduction au développement du langage de programmation Python

Windows 3.0

À mesure que les performances des ordinateurs s'améliorent, le monde des logiciels commence à changer. Le matériel est suffisant pour de nombreux ordinateurs personnels. Les fabricants de matériel sont même impatients de voir émerger des logiciels très demandés pour piloter la mise à niveau du matériel. C++ et Java sont devenus populaires l’un après l’autre. C++ et Java fournissent des paradigmes de programmation orientés objet et de riches bibliothèques d'objets. Au détriment d'un certain niveau de performances, C++ et Java ont considérablement amélioré le rendement des programmes. La facilité d'utilisation de la langue a été portée à un nouveau niveau. Nous rappelons également qu'une raison importante de l'échec d'ABC était les limitations de performances du matériel. À cet égard, Python est bien plus chanceux qu’ABC.

Un autre changement qui se produit discrètement est Internet. Les années 1990 étaient encore l’ère des ordinateurs personnels et Windows et Intel dominaient le monde avec les PC et devenaient très populaires pendant un certain temps. Bien que la révolution de l'information basée sur Internet ne soit pas encore arrivée, de nombreux programmeurs et utilisateurs d'ordinateurs expérimentés utilisent déjà fréquemment Internet pour communiquer, par exemple en utilisant le e-mail et les groupes de discussion. Internet a considérablement réduit le coût de l'échange d'informations. Un nouveau modèle de développement logiciel commence à gagner en popularité : l'open source. Les programmeurs utilisent leur temps libre pour développer des logiciels et du code open source. En 1991, Linus a publié le code source du noyau Linux sur le groupe de discussion comp.os.minix, attirant ainsi un grand nombre de pirates informatiques. Linux et GNU travaillent ensemble pour former une plateforme open source dynamique.

Les performances matérielles ne sont pas un goulot d'étranglement et Python est facile à utiliser, c'est pourquoi de nombreuses personnes se tournent vers Python. Guido gère une liste de diffusion et les utilisateurs de Python communiquent par e-mail. Les utilisateurs de Python viennent de nombreux domaines, ont des parcours différents et ont des besoins différents en Python. Python est assez ouvert et facile à développer, donc lorsque les utilisateurs ne sont pas satisfaits des fonctions existantes, il est facile d'étendre ou de transformer Python. Ces utilisateurs envoient ensuite leurs modifications à Guido, qui décide d'ajouter les nouvelles fonctionnalités à Python ou à la bibliothèque standard. Ce serait un grand honneur si le code pouvait être incorporé dans Python lui-même ou dans la bibliothèque standard. En raison du pouvoir de décision suprême de Guido, il est connu comme le « dictateur bienveillant à vie ».

Python s'appelle "Battery Included", ce qui signifie que lui et sa bibliothèque standard sont puissants. Ce sont des contributions de toute la communauté. Les développeurs Python viennent de différents domaines et apportent à Python les avantages de différents domaines. Par exemple, les expressions régulières de la bibliothèque standard Python font référence à Perl, tandis que des fonctions telles que lambda, map, filter et réduire font référence à Lisp. Certaines fonctionnalités de Python lui-même et la plupart de la bibliothèque standard proviennent de la communauté. La communauté Python continue de se développer et possède son propre groupe de discussion, son site Web et son fonds. À partir de Python 2.0, Python est également passé d'une méthode de développement de listes de diffusion à une méthode de développement entièrement open source. Une atmosphère communautaire s'est formée, le travail est partagé par l'ensemble de la communauté et Python a également atteint un développement plus rapide.

Aujourd'hui, le framework de Python a été établi. Le langage Python organise le code avec les objets comme noyau, prend en charge plusieurs paradigmes de programmation, utilise des types dynamiques et recycle automatiquement la mémoire. Python prend en charge l'exécution interprétée et peut appeler des bibliothèques C pour l'expansion. Python dispose d'une puissante bibliothèque standard. Depuis que le système de bibliothèques standard s'est stabilisé, l'écosystème Python a commencé à s'étendre aux packages tiers. Ces packages, tels que Django, web.py, wxpython, numpy, matplotlib et PIL, font évoluer Python vers une forêt tropicale humide riche en espèces.

Révélations

Python prône la beauté, la clarté et la simplicité, et est un langage excellent et largement utilisé. Python se classe huitième dans le classement TIOBE. Il s'agit du troisième langage de développement de Google, du langage de base de Dropbox et du langage serveur de Douban. L'historique du développement de Python peut être utilisé comme représentatif et m'apporte beaucoup d'inspiration.

Dans le processus de développement de Python, la communauté joue un rôle important. Guido pense qu'il n'est pas un programmeur polyvalent, il est donc uniquement responsable de la formulation du framework. Si le problème est trop compliqué, il choisira de le contourner, c'est-à-dire de prendre des raccourcis. Ces problèmes sont finalement résolus par d’autres membres de la communauté. Les talents de la communauté sont extrêmement riches. Même les choses qui sont un peu éloignées du développement, comme la création de sites Web et la collecte de fonds, il y a des gens qui sont prêts à s'en occuper. Le développement de projets d'aujourd'hui devient de plus en plus complexe et plus vaste. La coopération et l'ouverture d'esprit sont devenues les clés du succès ultime du projet.

Python a beaucoup appris des autres langages, que ce soit ABC qui est entré dans l'histoire, ou C et Perl qui sont encore utilisés, et bien d'autres langages​​non répertoriés. On peut dire que le succès de Python représente le succès de tous les langages dont il s'inspire. De même, Ruby emprunte à Python, et son succès représente également le succès de Python à certains égards. Chaque langue est un hybride, avec ses forces et ses faiblesses. Dans le même temps, le jugement du « bon ou du mauvais » d’un langage est souvent soumis à des facteurs externes tels que la plate-forme, le matériel, l’époque, etc. Les programmeurs sont confrontés à de nombreuses batailles linguistiques. En fait, si vous acceptez différents langages avec un esprit ouvert, peut-être qu'un jour les programmeurs pourront mélanger leurs propres langages comme Guido.

Quel que soit le sort futur de Python, l'histoire de Python est déjà un roman très intéressant

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!