Heim  >  Artikel  >  Backend-Entwicklung  >  Eine Einführung in die Entwicklung der Programmiersprache Python

Eine Einführung in die Entwicklung der Programmiersprache Python

高洛峰
高洛峰Original
2017-03-23 15:58:531493Durchsuche

Python ist meine Lieblingssprache. Sie ist einfach, schön und leicht zu verwenden. Vor zwei Tagen war ich es sehr aufgeregt Werben Sie für die Vorteile von Python bei Freunden

„Okay, ich gebe zu, dass Python gut ist, aber warum heißt es Python?“ "
"Nun, es scheint der Name einer Fernsehserie zu sein. "
"Dann ist der Guido, von dem Sie sprechen, Amerikaner? "
"Er ist von Google zu Dropbox gewechselt, aber sein Name klingt wie ein niederländischer. "
"Sind Sie sicher, dass Sie mit Python vertraut sind? „

Um meine Schande zu rächen, habe ich mir die Zeit genommen, die Geschichte von Python zu untersuchen. Ich habe den Ursprung vieler Funktionen in Python und die Designphilosophie von Python gesehen und einen Programmiersprache Die Evolutionsgeschichte von Python und die wunderbare Verbindung zwischen Python und der Open-Source-Bewegung Aus der Geschichte von Python können wir einen Einblick in die Konzepte und Errungenschaften der Open-Source-Entwicklung gewinnen Dies kann auch als Vorwort zu dem von mir geschriebenen Python-Kurz-Tutorial verwendet werden.

Herkunft

Der Autor von Python, Guido von Rossum, ist tatsächlich Niederländer. 1982 erhielt er einen Master-Abschluss Er hat einen Abschluss in Mathematik und Informatik von der Universität Amsterdam, hat aber mehr Spaß am Computer. Seiner Meinung nach neigt er dazu, computerbezogene Arbeiten zu verrichten, und das macht ihm auch Spaß alles, was mit Programmierung zu tun hat.

Zu dieser Zeit war Guido mit Sprachen wie Pascal, C und Fortran in Kontakt gekommen und verwendete die grundlegenden

Designprinzipien dieser Sprachen

Apple hat eine Welle von Personalcomputern ausgelöst, aber die Konfiguration dieser Personalcomputer ist sehr niedrig. Beispielsweise verfügt der frühe Macintosh nur über eine 8-MHz-CPU-Frequenz und 128 KB RAM. Optimieren Sie, damit das Programm ausgeführt werden kann. Außerdem zwingt die Sprache

Programmierer dazu, wie ein Computer zu denken, damit sie Programme schreiben können, die dem Geschmack der Maschine besser entsprechen In dieser Zeit konnten Programmierer es kaum erwarten, die Leistung jedes Zentimeters des Computers auszunutzen. Manche Leute denken sogar, dass die Zeiger der C-Sprache eine Verschwendung von Speicher sind Management, objektorientiert... Denken Sie nicht darüber nach, das wird Ihnen Diese Art der Programmierung bereitet Guido Probleme, aber Guido weiß, wie man eine Funktion in C-Sprache schreibt Der gesamte Schreibprozess nimmt viel Zeit in Anspruch, auch wenn er bereits genau weiß, wie er die Shell implementiert um einige einfache Skripte zu schreiben, wie zum Beispiel regelmäßige Backups. Die Shell kann wie ein Kleber sein, um viele Funktionen unter UNIX zu verbinden. Viele Programme mit Hunderten von Zeilen in der C-Sprache können in nur einem Schritt abgeschlossen werden Das Wesentliche ist jedoch, dass die Shell keine numerischen Datentypen hat und dass die Shell die Funktionen des Computers nicht vollständig mobilisieren kann >

Guido hofft, eine Sprache zu haben, die die funktionale Schnittstelle des Computers wie die C-Sprache vollständig aufrufen und wie eine Shell einfach programmieren kann. Die ABC-Sprache gibt Guido Hoffnung. ABC wurde vom Institut für Mathematik und Informatik in den Niederlanden entwickelt. Guido arbeitete am Institut und war an der Entwicklung der ABC-Sprache beteiligt. Die ABC-Sprache dient Lehrzwecken. Im Gegensatz zu den meisten Sprachen zu dieser Zeit bestand das Ziel der ABC-Sprache darin, „den Benutzern ein besseres Gefühl zu geben“. ABC Language möchte die Sprache leicht lesbar, benutzerfreundlich, leicht zu merken und leicht zu erlernen machen und das Interesse der Menschen am Erlernen des Programmierens wecken. Das Folgende ist beispielsweise ein ABC-Programm von Wikipedia. Dieses Programm wird verwendet, um die Gesamtzahl der Wörter zu zählen, die in einem Text vorkommen:

WIE MAN RETURN Wörter

Dokument

:

PUT {} IN Sammlung
FÜR Zeile IN Dokument:

FÜR Wort IN geteilter Zeile:WENN Wort nicht in Sammlung:INSERT Wort IN-Sammlung
RETURN-Sammlung


HOW TO wird verwendet, um eine Funktion zu definieren . Ein Python-Programmierer sollte dieses Programm leicht verstehen. Die ABC-Sprache verwendet Doppelpunkte und Einrückungen, um Programmblöcke darzustellen. Am Ende der Zeile steht kein Semikolon. Es gibt auch keine Klammern () in den for- und if-Strukturen. Bei der Zuweisung wird PUT anstelle des gebräuchlicheren Gleichheitszeichens verwendet. Durch diese Änderungen liest sich das ABC-Programm wie ein Text.

Trotz ihrer guten Lesbarkeit und Benutzerfreundlichkeit wurde die ABC-Sprache letztendlich nicht populär. Zu dieser Zeit war für die Ausführung des ABC-Sprachcompilers ein relativ hochwertiger Computer erforderlich. Die Benutzer dieser Computer verfügen in der Regel über Computerkenntnisse und legen mehr Wert auf die Effizienz des Programms als auf die Schwierigkeit, es zu erlernen. Neben Hardwareschwierigkeiten weist das Design der ABC-Sprache auch einige schwerwiegende Probleme auf:

Schlechte Skalierbarkeit. ABC-Sprache ist keine modulare Sprache. Wenn Sie der ABC-Sprache Funktionen hinzufügen möchten, beispielsweise grafische Unterstützung, müssen Sie viele Stellen ändern.

IO kann nicht direkt ausgeführt werden. Die ABC-Sprache kann das Dateisystem nicht direkt bedienen. Obwohl Sie Daten über Methoden wie Textstreams importieren können, kann ABC Dateien nicht direkt lesen und schreiben. Die Schwierigkeit der Eingabe und Ausgabe ist für Computersprachen fatal. Können Sie sich einen Sportwagen vorstellen, dessen Türen sich nicht öffnen lassen?

Überinnovation. ABC verwendet natürliche Sprache, um die Bedeutung des Programms auszudrücken, wie zum Beispiel HOW TO im obigen Programm. Programmierer sind jedoch eher daran gewöhnt, Funktionen oder Definitionen zum Definieren einer Funktion zu verwenden. Ebenso sind Programmierer eher daran gewöhnt, Variablen mit dem Gleichheitszeichen zuzuweisen. Obwohl die ABC-Sprache etwas ganz Besonderes ist, ist sie auch sehr schwer zu erlernen.

Schwierigkeiten bei der Ausbreitung. Der ABC-Compiler ist groß und muss auf Band gespeichert werden. Als Guido damals zu Besuch kam, musste er ein großes Band haben, um den ABC-Compiler für andere zu installieren. Auf diese Weise ist es für die ABC-Sprache schwierig, sich schnell zu verbreiten.

Um die Weihnachtsferien zu überbrücken, begann Guido 1989, einen Compiler für die Python-Sprache zu schreiben. Der Name Python stammt von Guidos beliebter Fernsehserie Monty Python’s Flying Circus. Er hofft, dass diese neue Sprache namens Python sein Ideal erfüllen kann: eine Sprache zwischen C und Shell zu schaffen, die umfassend, leicht zu erlernen, einfach zu verwenden und skalierbar ist. Als Sprachdesign-Enthusiast hat Guido bereits versucht, Sprachen zu entwerfen. Diesmal war es nur ein reiner Hackerakt.

Die Geburt einer Sprache

1991 wurde der erste Python-Compiler geboren. Es ist in der Sprache C implementiert und kann Bibliotheksdateien der Sprache C aufrufen. Seit seiner Geburt verfügt Python über: Klassen, Funktionen, Ausnahmebehandlung, Kerndatentypen einschließlich Tabellen und Wörterbücher sowie ein modulbasiertes Erweiterungssystem.

Ein Großteil der Python-Syntax stammt aus C, ist aber auch stark von der ABC-Sprache beeinflusst. Einige Regeln aus der ABC-Sprache sind bis heute umstritten, etwa die erzwungene Einrückung. Aber diese Syntaxregeln machen Python leicht lesbar. Andererseits befolgt Python klugerweise einige Konventionen, insbesondere die der C-Sprache, wie z. B. die Regression der Gleichheitszeichenzuweisung. Guido glaubt, dass es keinen Grund gibt, sich zu sehr darauf einzulassen, wenn etwas auf der Grundlage des „gesunden Menschenverstands“ etabliert wird.

Python hat von Anfang an besonderes Augenmerk auf die Skalierbarkeit gelegt. Python kann auf mehreren Ebenen erweitert werden. Auf hoher Ebene können Sie .py-Dateien direkt importieren. Unter der Haube können Sie auf C-Bibliotheken verweisen. Python-Programmierer können mit Python schnell .py-Dateien als Erweiterungsmodule schreiben. Wenn jedoch die Leistung ein wichtiger zu berücksichtigender Faktor ist, können Python-Programmierer tief in die unterste Ebene vordringen, C-Programme schreiben, sie in .so-Dateien kompilieren und sie zur Verwendung in Python einführen. Python ist wie der Bau eines Hauses aus Stahl. Zunächst wird ein großes Rahmenwerk definiert. Programmierer können innerhalb dieses Frameworks völlig frei erweitern oder ändern.

Das ursprüngliche Python wurde vollständig von Guido selbst entwickelt. Python ist bei Guidos Kollegen beliebt. Sie geben schnelles Feedback und beteiligen sich an Python-Verbesserungen. Guido und einige Kollegen bilden das Kernteam von Python. Sie verbringen den größten Teil ihrer Freizeit damit, Python zu hacken. Anschließend expandierte Python über das Institut hinaus. Python verbirgt viele Details auf Maschinenebene und überlässt deren Verarbeitung dem Compiler, und hebt das Programmierdenken auf logischer Ebene hervor. Python-Programmierer können mehr Zeit damit verbringen, über die Logik des Programms nachzudenken, anstatt über spezifische Implementierungsdetails. Diese Funktion zieht eine große Anzahl von Programmierern an. Python wurde populär.

Eine Einführung in die Entwicklung der Programmiersprache Python

Das Leben ist kurz, ich benutze Python

Die Zeiten machen Helden

Wir müssen unsere Python-Zeit anhalten und einen Blick auf einen Blick werfen in der sich schnell verändernden Computerbranche. In den frühen 1990er Jahren hielten Personalcomputer Einzug in normale Haushalte. Intel veröffentlichte den 486-Prozessor und Windows veröffentlichte eine Reihe von Windows-Systemen, beginnend mit Windows 3.0. Die Computerleistung wird erheblich verbessert. Programmierer begannen, auf die Benutzerfreundlichkeit von Computern zu achten, beispielsweise auf grafische Oberflächen.

Eine Einführung in die Entwicklung der Programmiersprache Python

Windows 3.0

Mit zunehmender Computerleistung beginnt sich die Welt der Software zu verändern. Die Hardware reicht für viele Personalcomputer aus. Hardware-Hersteller sind sogar begierig auf das Aufkommen stark nachgefragter Software, um die Aufrüstung der Hardware voranzutreiben. C++ und Java wurden nacheinander populär. C++ und Java bieten objektorientierte Programmierparadigmen und umfangreiche Objektbibliotheken. Auf Kosten einer bestimmten Leistung haben C++ und Java die Programmausgabe erheblich verbessert. Die Benutzerfreundlichkeit der Sprache wurde auf ein neues Niveau gehoben. Wir erinnern uns auch daran, dass ein wichtiger Grund für das Scheitern von ABC die Leistungseinschränkungen der Hardware waren. In dieser Hinsicht hat Python viel mehr Glück als ABC.

Eine weitere Veränderung, die still und leise geschieht, ist das Internet. Die 1990er Jahre waren noch die Ära der Personal Computer und Intel dominierte die Welt bei PCs und erfreute sich eine Zeit lang großer Beliebtheit. Obwohl die internetbasierte Informationsrevolution noch nicht angekommen ist, nutzen viele Programmierer und erfahrene Computerbenutzer bereits häufig das Internet zur Kommunikation, beispielsweise über E-Mail und Newsgroups. Das Internet hat die Kosten für den Informationsaustausch erheblich gesenkt. Ein neues Paradigma der Softwareentwicklung gewinnt zunehmend an Popularität: Open Source. Programmierer nutzen ihre Freizeit, um Software und Open-Source-Code zu entwickeln. Im Jahr 1991 veröffentlichte Linus den Linux-Kernel-Quellcode in der Newsgruppe comp.os.minix und lockte damit eine große Anzahl von Hackern an. Linux und GNU arbeiten zusammen, um eine lebendige Open-Source-Plattform zu bilden.

Die Hardwareleistung stellt keinen Engpass dar und Python ist einfach zu verwenden, sodass viele Menschen sich Python zuwenden. Guido unterhält eine Mailliste und Python-Benutzer kommunizieren per E-Mail. Python-Benutzer kommen aus vielen Bereichen, haben unterschiedliche Hintergründe und haben unterschiedliche Anforderungen an Python. Python ist recht offen und lässt sich leicht erweitern. Wenn Benutzer mit den vorhandenen Funktionen nicht zufrieden sind, ist es einfach, Python zu erweitern oder zu transformieren. Diese Benutzer senden ihre Änderungen dann an Guido, der entscheidet, ob die neuen Funktionen zu Python oder der Standardbibliothek hinzugefügt werden. Es wäre eine große Ehre, wenn der Code in Python selbst oder die Standardbibliothek integriert werden könnte. Aufgrund seiner überragenden Entscheidungsbefugnis ist Guido als „lebenslanger, wohlwollender Diktator“ bekannt.

Python heißt „Battery Included“, was bedeutet, dass es und seine Standardbibliothek leistungsstark sind. Dabei handelt es sich um Beiträge der gesamten Community. Python-Entwickler kommen aus verschiedenen Bereichen und bringen die Vorteile verschiedener Bereiche in Python ein. Beispielsweise beziehen sich die regulären Ausdrücke in der Python-Standardbibliothek auf Perl, während Funktionen wie Lambda, map, Filter und Reduce auf Lisp verweisen. Einige Funktionen von Python selbst und der Großteil der Standardbibliothek stammen aus der Community. Die Python-Community wächst weiter und verfügt über eine eigene Newsgroup, Website und einen eigenen Fonds. Ab Python 2.0 hat sich Python auch von einer Maillist-Entwicklungsmethode zu einer vollständig Open-Source-Entwicklungsmethode gewandelt. Es hat sich eine Community-Atmosphäre gebildet, die Arbeit wird von der gesamten Community geteilt und Python hat auch eine schnellere Entwicklung erreicht.

Heute wurde das Framework von Python etabliert. Die Python-Sprache organisiert Code mit Objekten als Kern, unterstützt mehrere Programmierparadigmen, verwendet dynamische Typen und recycelt Speicher automatisch. Python unterstützt die interpretierte Ausführung und kann C-Bibliotheken zur Erweiterung aufrufen. Python verfügt über eine leistungsstarke Standardbibliothek. Seit sich das Standardbibliothekssystem stabilisiert hat, hat das Python-Ökosystem begonnen, sich auf Pakete von Drittanbietern auszudehnen. Diese Pakete wie Django, web.py, wxpython, numpy, matplotlib und PIL verwandeln Python in einen artenreichen tropischen Regenwald.

Offenbarungen

Python steht für Schönheit, Klarheit und Einfachheit und ist eine ausgezeichnete und weit verbreitete Sprache. Python belegt im TIOBE-Ranking den achten Platz. Es ist die drittgrößte Entwicklungssprache von Google, die Basissprache von Dropbox und die Serversprache von Douban. Die Entwicklungsgeschichte von Python kann stellvertretend genutzt werden und bringt mir viel Inspiration.

Im Entwicklungsprozess von Python spielt die Community eine wichtige Rolle. Guido glaubt, dass er kein Allround-Programmierer ist und daher nur für die Formulierung des Frameworks verantwortlich ist. Wenn das Problem zu kompliziert ist, wird er sich dafür entscheiden, es zu umgehen, das heißt, es zu umgehen. Diese Probleme werden letztendlich von anderen in der Gemeinschaft gelöst. Die Talente in der Community sind äußerst reichhaltig. Selbst Dinge, die etwas weit von der Entwicklung entfernt sind, wie die Erstellung von Websites und die Beschaffung von Geldern, gibt es Menschen, die bereit sind, sich darum zu kümmern. Die heutige Projektentwicklung wird immer komplexer und umfassender. Zusammenarbeit und Offenheit sind zum Schlüssel zum letztendlichen Erfolg des Projekts geworden.

Python hat viel von anderen Sprachen gelernt, sei es ABC, das in die Geschichte eingegangen ist, oder C und Perl, die immer noch verwendet werden, und viele andere Sprachen, die nicht aufgeführt sind. Man kann sagen, dass der Erfolg von Python den Erfolg aller Sprachen widerspiegelt, aus denen es schöpft. In ähnlicher Weise lehnt sich Ruby an Python an, und sein Erfolg spiegelt in mancher Hinsicht auch den Erfolg von Python wider. Jede Sprache ist ein Hybrid mit ihren Stärken und Schwächen. Gleichzeitig hängt die Beurteilung von „gut oder schlecht“ einer Sprache häufig von externen Faktoren wie Plattform, Hardware, Ära usw. ab. Programmierer erleben viele Sprachschlachten. Wenn Sie verschiedene Sprachen aufgeschlossen akzeptieren, können Programmierer eines Tages vielleicht wie Guido ihre eigenen Sprachen mischen.

Egal wie das zukünftige Schicksal von Python aussieht, die Geschichte von Python ist bereits ein sehr interessanter Roman

Das obige ist der detaillierte Inhalt vonEine Einführung in die Entwicklung der Programmiersprache Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn