Maison  >  Article  >  développement back-end  >  Introduction à l'histoire du développement de Python

Introduction à l'histoire du développement de Python

零下一度
零下一度original
2017-07-19 16:09:276109parcourir

1. Historique du développement de Python

Le langage Python est apprécié par de nombreuses personnes dans l'industrie informatique en raison de son style concis et clair, ainsi que de son grand nombre de bibliothèques de classes largement applicables et de frameworks open source Python qui peut être utilisé. Quelle est l’origine et l’historique du développement de Python ?

Remontant aux origines du langage Python, il s'agissait d'un nouvel interpréteur de script développé par Guido van Rossum à Amsterdam au début des années 1990. Je me demande si Guido a déjà pensé que Python deviendrait un jour l’un des langages de programmation les plus populaires ?

Certaines personnes aiment utiliser le langage Glue pour décrire Python car il peut facilement combiner des modules écrits dans de nombreux autres langages. Quant au processus, je n'entrerai pas dans les détails ici. Si vous êtes intéressé, vous pouvez regarder. ça n'importe où. Ce que vous devez savoir, c'est que de nombreuses universités nationales et étrangères suivent également le langage Python comme cours obligatoire, et le nombre d'unités nationales qui utilisent le langage Python pour travailler augmente également. Les programmeurs connaissant Python sont très demandés.

Demandez à vos amis qui ont appris le langage Python quelles sont ses fonctionnalités attrayantes ? La plupart des gens penseraient que c’est un langage facile à utiliser, facile à lire et à entretenir, c’est pourquoi de nombreux utilisateurs aiment l’utiliser et l’apprendre. C’est vraiment un langage avec un large éventail d’utilisations.

La syntaxe la plus basique du langage Python est la suivante : l'indentation, les instructions de contrôle, les expressions, les fonctions, les méthodes objet, les types et les opérations mathématiques. Ce n'est qu'après avoir appris la syntaxe de base de Python que vous pourrez commencer à apprendre des applications formelles, telles que : des applications pratiques de traitement graphique, de traitement mathématique, de traitement de texte, de bases de données, de programmation WEB, de robots d'exploration, etc.

Python 3.3 est la dernière version, mais de nombreuses personnes aiment toujours commencer à apprendre à partir de Python 2. Parce qu'il a déjà été dit que le support tiers de Python 3 n'est pas encore terminé, vous rencontrerez des problèmes inexplicables au cours du processus d'apprentissage. Il vaut mieux commencer l’apprentissage à partir de python 2, qui est déjà très complet. La transition vers python 3 sera ensuite facile.

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’a finalement pas réussi à devenir 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. Les E/S ne peuvent pas être effectuées 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 ou é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 à utiliser le signe égal pour attribuer des variables. Bien que la langue ABC soit très particulière, elle est également très difficile à apprendre. Difficulté à se propager. Le compilateur ABC était volumineux et devait être sauvegardé sur bande. Lors de sa visite à cette époque, Guido devait disposer d'une grande cassette pour installer le compilateur ABC pour d'autres. De cette manière, il est difficile pour le langage ABC de se propager rapidement. En 1989, pour 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, il ne s’agissait que d’un pur acte de piratage.

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 dès le début accordé une attention particulière à l’évolutivité. 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. Définissez d'abord la grande charpente. 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.

Les temps font les héros

Nous devons suspendre notre temps Python et jeter un œil à l'industrie informatique en constante évolution. 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.

Windows 3.0

À mesure que les performances de l'ordinateur 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 de certaines 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 nous souvenons encore qu'une des raisons importantes 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 celui d’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 courrier électronique et les groupes de discussion. Internet a considérablement réduit le coût de l'échange d'informations. Un nouveau paradigme 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. Par la suite, ces utilisateurs envoient les modifications à Guido, et Guido 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 est appelé « Batterie incluse », 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 les 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. À ce jour, le framework 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. La communauté joue un rôle important dans le développement de Python. 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é. Le talent de la communauté est extrêmement riche. Même les choses qui sont légèrement é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, qu'il s'agisse d'ABC qui est entré dans l'histoire, ou de 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.

Points clés du bon sens

La prononciation et l'orthographe de Python
Python signifie python, qui vient d'une série télévisée que l'auteur aime (où est le C ?)
L'auteur de Python est Guido van Rossum (Oncle Turtle)
Python est un langage de programmation écrit en C par Oncle Turtle pendant la période de Noël 1989 pour tuer l'ennui de Noël
Python est officiellement né en 1991.
Combien d'interprètes Python. existe-t-il maintenant ? Implémentation du langage, nous utilisons couramment CPython (la version officielle de l'implémentation du langage C), d'autres incluent Jython (peut s'exécuter sur la plate-forme Java), IronPython (peut s'exécuter sur les plates-formes .NET et Mono), PyPy (implémenté dans Python, prend en charge la compilation JIT Just-in-time)
Python a actuellement deux versions, Python2 et Python3. Les dernières versions sont respectivement 2.7.12 et 3.5.2. À ce stade, la plupart des entreprises utilisent Python2

2. Avantages et inconvénients de Python

Avantages

  • Simplicité——Python est un langage qui représente la simplicité. Lire un bon programme Python, c'est comme lire l'anglais, même si les exigences en anglais sont très strictes ! Cette nature pseudo-code de Python est l’une de ses plus grandes forces. Cela vous permet de vous concentrer sur la résolution de problèmes plutôt que sur la compréhension du langage lui-même.

  • Facile à apprendre——Comme vous êtes sur le point de le voir, Python est extrêmement facile à démarrer. Comme mentionné précédemment, Python a une syntaxe extrêmement simple.

  • Gratuit et open source——Python est l'un des FLOSS (Logiciel Libre/Open Source). En termes simples, vous êtes libre de distribuer des copies de ce logiciel, de lire son code source, d'y apporter des modifications et d'en utiliser des parties dans de nouveaux logiciels libres. FLOSS est basé sur le concept d'un groupe partageant des connaissances. C'est l'une des raisons pour lesquelles Python est si génial : il a été créé et constamment amélioré par un groupe de personnes qui souhaitent voir un meilleur Python.

  • Langage de haut niveau - Lorsque vous écrivez un programme en Python, vous n'avez pas besoin de penser aux détails de bas niveau tels que la façon de gérer la mémoire utilisée par votre programme.

  • Portabilité - En raison de sa nature open source, Python a été porté sur de nombreuses plateformes (avec des modifications pour lui permettre de fonctionner sur différentes plateformes). Si vous veillez à éviter d'utiliser des fonctionnalités dépendantes du système, tous vos programmes Python s'exécuteront sans modification sur aucune des plates-formes répertoriées ci-dessous. Ces plates-formes incluent Linux, Windows, FreeBSD, Macintosh, Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX, VMS, Psion, Acom RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE et même PocketPC, Symbian et la plateforme Android de Google basée sur Linux !

  • Explicatif - Celui-ci nécessite quelques explications. Un programme écrit dans un langage compilé tel que C ou C++ peut être converti d'un fichier source (c'est-à-dire un langage C ou C++) vers un langage utilisé par votre ordinateur (code binaire, c'est-à-dire des 0 et des 1). Ce processus est effectué via le compilateur et différents indicateurs et options. Lorsque vous exécutez votre programme, le logiciel de liaison/rechargement copie votre programme du disque dur vers la mémoire et l'exécute. Les programmes écrits en Python n'ont pas besoin d'être compilés en code binaire. Vous pouvez exécuter des programmes directement à partir du code source. À l’intérieur de l’ordinateur, l’interpréteur Python convertit le code source en une forme intermédiaire appelée bytecode, qui est ensuite traduite dans le langage machine utilisé par l’ordinateur et exécutée. En fait, tout cela simplifie l'utilisation de Python puisque vous n'avez plus à vous soucier de la façon de compiler le programme, de savoir comment s'assurer que les bonnes bibliothèques sont liées et reproduites, etc. Étant donné qu'il vous suffit de copier votre programme Python sur un autre ordinateur et que cela fonctionnera, cela rend également votre programme Python plus portable.

  • Orienté objet - Python prend en charge à la fois la programmation orientée processus et la programmation orientée objet. Dans les langages « orientés procédure », les programmes sont construits à partir de procédures, ou simplement de fonctions qui sont du code réutilisable. Dans les langages « orientés objet », les programmes sont construits à partir d’objets qui combinent données et fonctionnalités. Comparé à d'autres langages majeurs tels que C++ et Java, Python implémente la programmation orientée objet de manière très puissante et simple.

  • Évolutivité————Si vous avez besoin d'un morceau de code critique pour s'exécuter plus rapidement ou si vous souhaitez que certains algorithmes ne soient pas rendus publics, vous pouvez écrire une partie de votre programme en C ou C++ Write puis utilisez-les dans vos programmes Python.

  • Bibliothèque riche——La bibliothèque standard Python est en effet énorme. Il peut vous aider dans diverses tâches, notamment les expressions régulières, la génération de documents, les tests unitaires, les threads, les bases de données, les navigateurs Web, CGI, FTP, la messagerie électronique, XML, XML-RPC, HTML, les fichiers WAV, les systèmes de mots de passe, l'interface utilisateur graphique (interface utilisateur graphique). ), Tk et autres opérations liées au système. N'oubliez pas que toutes ces fonctionnalités sont disponibles tant que Python est installé. C'est ce qu'on appelle la philosophie « complète » de Python. En plus de la bibliothèque standard, il existe de nombreuses autres bibliothèques de haute qualité, telles que wxPython, Twisted et la bibliothèque d'imagerie Python, entre autres.

  • Code standard——Python utilise l'indentation forcée pour rendre le code extrêmement lisible.

Inconvénients

Vitesse d'exécution, si vous avez des exigences de vitesse, réécrivez les parties clés en C++.
Le marché intérieur est petit (il n'existe que quelques entreprises Web2.0 qui utilisent principalement Python pour le développement national). Mais au fil du temps, de nombreuses sociétés nationales de logiciels, en particulier des sociétés de jeux, ont commencé à l'utiliser à grande échelle.
Il y a un manque d'informations chinoises (il n'y a qu'une poignée de bonnes informations chinoises sur Python). Grâce à la communauté, plusieurs excellents manuels ont été traduits, mais il existe de nombreux manuels d'entrée de gamme et le contenu avancé ne peut être consulté qu'en anglais.
Il y a trop de choix d'architecture (il n'y a pas d'architecture .net officielle comme C#, et il n'y a pas de développement d'architecture relativement centralisé comme Ruby en raison de sa courte histoire. L'architecture Ruby on Rails est inégalée dans le développement de petites et moyennes entreprises. programmes Web de petite taille). Cependant, cela montre également d'un autre côté que Python est relativement excellent, attirant plus de talents et de nombreux projets.

3. Scénarios d'application Python

Développement d'applications Web
Python est souvent utilisé pour le développement Web. Par exemple, grâce au module mod_wsgi, Apache peut exécuter des programmes Web écrits en Python. Python définit l'interface d'application standard WSGI pour coordonner la communication entre les serveurs HTTP et les programmes Web basés sur Python. Certains frameworks Web, tels que Django, TurboGears, web2py, Zope, etc., permettent aux programmeurs de développer et de gérer facilement des programmes Web complexes.

Scripts automatisés pour la gestion du système d'exploitation et l'exploitation et la maintenance des serveurs
Dans de nombreux systèmes d'exploitation, Python est un composant système standard. La plupart des distributions Linux, ainsi que NetBSD, OpenBSD et Mac OS X, ont intégré Python et peuvent exécuter Python directement sous le terminal. Il existe certains programmes d'installation de distribution Linux écrits en Python, tels que le programme d'installation Ubiquity d'Ubuntu, Red Hat Linux et le programme d'installation Anaconda de Fedora. Gentoo Linux utilise Python pour écrire son système de gestion de packages Portage. La bibliothèque standard Python contient plusieurs bibliothèques qui appellent des fonctions du système d'exploitation. Grâce au progiciel tiers pywin32, Python peut accéder aux services Windows COM et à d'autres API Windows. Grâce à IronPython, les programmes Python peuvent appeler directement le .Net Framework. De manière générale, les scripts de gestion système écrits en Python sont meilleurs que les scripts shell ordinaires en termes de lisibilité, de performances, de réutilisation du code et d'évolutivité.

Informatique scientifique
NumPy, SciPy et Matplotlib permettent aux programmeurs Python d'écrire des programmes de calcul scientifique.

Logiciels de bureau
PyQt, PySide, wxPython et PyGTK sont des outils puissants pour développer rapidement des applications de bureau en Python.

Logiciel serveur (logiciel réseau)
Python prend parfaitement en charge divers protocoles réseau, il est donc souvent utilisé pour écrire des logiciels serveur et des robots d'exploration Web. La bibliothèque tierce Twisted prend en charge la programmation réseau asynchrone et la plupart des protocoles réseau standard (y compris les clients et les serveurs) et fournit une variété d'outils largement utilisés pour écrire des logiciels serveur hautes performances.

Jeux
De nombreux jeux utilisent C++ pour écrire des modules hautes performances tels que l'affichage graphique, et utilisent Python ou Lua pour écrire la logique du jeu et les serveurs. Comparé à Python, Lua a des fonctions plus simples et une taille plus petite tandis que Python prend en charge plus de fonctionnalités et de types de données.

Mise en œuvre de la conception, premiers prototypes et itérations de produits
YouTube, Google, Yahoo! et la NASA utilisent tous largement Python en interne.

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!

Déclaration:
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