Heim  >  Artikel  >  Datenbank  >  Python-Kurzanleitung (Ergänzung 04): Eine kurze Geschichte von Python

Python-Kurzanleitung (Ergänzung 04): Eine kurze Geschichte von Python

黄舟
黄舟Original
2016-12-21 17:22:091054Durchsuche

Der Ursprung von Python

Der Autor von Python, Guido von Rossum, ist tatsächlich ein Niederländer. 1982 erhielt Guido einen Master-Abschluss in Mathematik und Informatik von der Universität Amsterdam. Obwohl er eine Art Mathematiker war, gefielen ihm Computer noch mehr. Seinen Worten nach neigt er trotz seiner Doppelqualifikationen in Mathematik und Informatik immer dazu, computerbezogene Arbeiten zu erledigen, und ist an allem interessiert, was mit Programmierung zu tun hat.

Python-Kurzanleitung (Ergänzung 04): Eine kurze Geschichte von Python

Guido von Rossum

Zu dieser Zeit war er Sprachen wie Pascal, C, Fortran ausgesetzt und benutzte sie und so weiter. Das grundlegende Designprinzip dieser Sprachen besteht darin, Maschinen schneller laufen zu lassen. Obwohl IBM und Apple in den 1980er Jahren eine Welle von Personalcomputern ausgelöst hatten, war die Konfiguration dieser Personalcomputer (nach heutigen Maßstäben) sehr niedrig. Beispielsweise verfügte der frühe Macintosh nur über eine CPU-Frequenz von 8 MHz und 128 KB RAM. Ein großes Array könnte den Speicher füllen. Der Kern aller Compiler besteht darin, zu optimieren, damit das Programm ausgeführt werden kann. Um die Effizienz zu steigern, zwingt die Sprache Programmierer auch dazu, wie ein Computer zu denken, damit sie Programme schreiben können, die eher dem Geschmack der Maschine entsprechen. Damals waren Programmierer bestrebt, jeden Zentimeter der Computerleistung mit ihren Händen herauszuholen. Manche Leute denken sogar, dass C-Sprachzeiger eine Verschwendung von Speicher sind. Was dynamisches Tippen, automatische Speicherverwaltung, objektorientiertes Tippen betrifft ... denken Sie nicht darüber nach, es wird Ihren Computer lahmlegen.

Diese Denkweise bereitet Guido jedoch Sorgen. Guido weiß, wie man eine Funktion in C schreibt, aber der gesamte Schreibprozess nimmt viel Zeit in Anspruch (obwohl er bereits genau weiß, wie man sie implementiert). Seine andere Option ist die Muschel. Bourne Shell existiert seit langem als Interpreter (interPReter) von UNIX-Systemen. UNIX-Administratoren verwenden die Shell häufig, um einige einfache Skripts zu schreiben, um einige Systemwartungsarbeiten durchzuführen, z. B. regelmäßige Sicherungen, Dateisystemverwaltung usw. Die Shell kann wie ein Klebstoff sein, der viele Funktionen unter UNIX miteinander verbindet. Viele Programme mit Hunderten von Zeilen in der C-Sprache können in nur wenigen Zeilen in der Shell abgeschlossen werden. Der Kern der Shell besteht jedoch darin, Befehle aufzurufen. Es ist nicht wirklich eine Sprache. Beispielsweise verfügt die Shell nicht über numerische Datentypen und Additionsoperationen sind sehr kompliziert. Kurz gesagt, die Shell kann die Funktionen des Computers nicht vollständig mobilisieren.

(Für Shell können Sie sich auf die Linux-Architektur und die Linux-Befehlszeile und -Befehle beziehen)

Guido hofft, eine Sprache zu haben, die es wie die C-Sprache vollständig kann ruft die funktionale Schnittstelle des Computers auf und kann wie eine Shell einfach programmiert werden. Die ABC-Sprache gab Guido Hoffnung. ABC wurde vom CWI (Centrum Wiskunde & Informatica, Institut für Mathematik und Computerforschung) in den Niederlanden entwickelt. Guido arbeitet am CWI und ist 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 im Text vorkommenden Wörter (Wörter) zu zählen:

WIE MAN Wörter zurückgibt:

PUT {} IN Sammlung

FÜR Zeile IN Dokument:

FÜR Wort IN geteilter Zeile:

WENN Wort nicht in Sammlung:

Wort IN Sammlung einfügen

RETURN-Sammlung

HOW TO wird zum Definieren einer Funktion verwendet. Ein Python-Programmierer sollte dieses Programm leicht verstehen. Die ABC-Sprache verwendet Doppelpunkte (:) und Einrückungen zur Darstellung von Programmblöcken (die C-Sprache verwendet {} zur Darstellung von Programmblöcken). Am Ende der Zeile steht kein Semikolon. Es gibt auch keine Klammern () in den for- und if-Strukturen. Wenn Sie das HOW TO in „def“, die PUT-Zeile in „collection = []“ und die INSERT-Zeile in „collection.append(word)“ ändern, handelt es sich fast um eine Standard-Python-Funktion. Die obige Funktion liest sich wie ein natürlicher 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. Die 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?

Übermäßige Innovation. ABC verwendet natürliche Sprache, um die Bedeutung des Programms auszudrücken, z. B. HOW TO im obigen Programm. Programmierer sind jedoch eher daran gewöhnt, Funktionen oder Definitionen zum Definieren einer Funktion zu verwenden. Ebenso sind Programmierer es gewohnt, bei der Zuweisung von Variablen das Gleichheitszeichen (=) zu verwenden. Obwohl dies die ABC-Sprache besonders aussehen lässt, ist es für Programmierer tatsächlich schwieriger zu lernen (die meisten Programmierer beherrschen mehr als eine Sprache).

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

Python-Kurzanleitung (Ergänzung 04): Eine kurze Geschichte von Python

IBM-Bandlaufwerk: Lesen und Schreiben von Bändern

Im Jahr 1989, um Weihnachten zu überstehen Urlaub, Guido Beginnen Sie mit dem Schreiben eines Compilers/Interpreters für die Python-Sprache. Python stammt aus Guidos beliebter TV-Serie „Monty Python’s Flying Circus“ (einer Indoor-Sitcom, die in den 1960er und 1970er Jahren von der BBC ausgestrahlt wurde und auf dem damaligen britischen Leben basiert). Er hofft, dass diese neue Sprache namens Python sein Konzept verwirklichen kann (eine umfassende, leicht zu erlernende, benutzerfreundliche und skalierbare Sprache zwischen C und Shell). Als begeisterter Sprachdesigner hat Guido bereits (nicht sehr erfolgreiche) Versuche unternommen, Sprachen zu entwerfen. Diesmal war es nichts weiter als ein reiner Hacker-Akt.

Die Geburt von Python

1991 wurde der erste Python-Compiler (auch ein Interpreter) geboren. Es ist in der Sprache C implementiert und kann C-Bibliotheken (.so-Dateien) aufrufen. Seit seiner Geburt verfügt Python über: Klassen, Funktionen, Ausnahmebehandlung, Kerndatentypen einschließlich Listen und Wörterbücher sowie modulbasierte Erweiterungen des Systems.

Python-Kurzanleitung (Ergänzung 04): Eine kurze Geschichte von Python

Originales Python-Logo: Entworfen von Guidos Bruder Just von Rossum

Ein Großteil der Python-Syntax stammt aus C, ist es aber auch beeinflusst durch ABC Starker Einfluss der Sprache. Einige Regeln aus der ABC-Sprache sind bis heute umstritten, etwa die erzwungene Einrückung. Aber diese Syntaxregeln machen Python leicht lesbar. Python hingegen befolgt geschickt einige Konventionen (insbesondere die der C-Sprache). Verwenden Sie beispielsweise das Gleichheitszeichen, um Werte zuzuweisen, und def, um Funktionen zu definieren. Guido glaubt, dass es keinen Grund gibt, sich zu sehr darauf einzulassen, wenn etwas auf der Grundlage des „gesunden Menschenverstandes“ etabliert wird.

Python hat von Anfang an besonderes Augenmerk auf die Erweiterbarkeit gelegt. Python kann auf mehreren Ebenen erweitert werden. Auf einer hohen Ebene können Sie .py-Dateien 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. Definieren Sie zunächst den großen Rahmen. 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 (einschließlich der Arbeitszeit, da sie Python beruflich verwenden). Anschließend wurde Python über CWI hinaus erweitert. 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 als über die spezifischen Implementierungsdetails (Guido hat ein T-Shirt mit der Aufschrift: Das Leben ist kurz, ich verwende Python). Diese Funktion zieht eine große Anzahl von Programmierern an. Python wurde populär.

Wir müssen zu diesem Zeitpunkt unsere Python-Zeit pausieren und einen Blick auf die Computerübersicht werfen. 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 (z. B. grafische Oberflächen) zu achten.

Python-Kurzanleitung (Ergänzung 04): Eine kurze Geschichte von Python

Windows 3.0

Mit der Verbesserung der Computerleistung begann 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 sind nach und nach populär geworden. C++ und Java bieten objektorientierte Programmierparadigmen und umfangreiche Objektbibliotheken. Auf Kosten einer gewissen 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 (einschließlich E-Mail und Newsgroups). Das Internet hat die Kosten für den Informationsaustausch erheblich gesenkt. Ein neues Softwareentwicklungsmodell wird immer beliebter: 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 Newsgroup 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. Python selbst ist dafür besser geeignet.

(Guido musste viele Entscheidungen treffen, weshalb er „Benevolent Dictator For Life“ genannt wird)

Python wird „Battery Included“ genannt und bezieht sich auf Python und seine leistungsstarke Standardbibliothek. 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 verweisen reguläre Ausdrücke in der Python-Standardbibliothek auf Perl, während Lambda-, Map-, Filter- und Reduce-Funktionen 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 (python.org) und Stiftung (Python Software Foundation). 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.

(Da Guido absolute Schlichtungsrechte genießt, machten sich viele Enthusiasten in den frühen Tagen der Maillist-Entwicklung von Python große Sorgen um Guidos Leben. Sie machten sogar Annahmen: Was würde mit Python passieren, wenn Guido sterben würde? Sehen Sie, ob Guido getroffen wurde mit dem Bus)

Bis heute ist das Framework von Python etabliert. Die Python-Sprache organisiert Code mit Objekten als Kern (Alles ist Objekt), unterstützt mehrere Programmierparadigmen (Multi-Paradigma), verwendet dynamische Typisierung und führt automatisch Speicherrecycling durch (Garbage Collection). Python unterstützt das Interpretieren und kann C-Bibliotheken zur Erweiterung aufrufen. Python verfügt über eine leistungsstarke Standardbibliothek (Batterie im Lieferumfang enthalten). 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.

Heute ist Python in die 3.0-Ära eingetreten. Da Python 3.0 nicht abwärtskompatibel ist, ist der Übergang von 2.0 auf 3.0 nicht einfach. Andererseits ist die Leistung von Python immer noch verbesserungswürdig und die Rechenleistung von Python ist geringer als die von C++ und Java (siehe Googles Diskussion). Python ist immer noch eine Sprache in der Entwicklung. Ich freue mich darauf zu sehen, was die Zukunft für Python bereithält.

Python Revelation

Python steht für Eleganz, Klarheit und Einfachheit. Es ist eine ausgezeichnete und weit verbreitete Sprache (TIOBE steht an achter Stelle unter den Sprachen und ist der drittgrößte Entwickler). von Google Language, der Grundsprache von Dropbox, der Serversprache von Douban). Es gibt keinen Mangel an hervorragenden Sprachen auf der Welt, aber die Entwicklungsgeschichte von Python als Vertreter hat mir viel Inspiration gegeben.

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. Ich dachte, warum nicht mit einer offenen Einstellung und einer objektiven Analyse die spezifischen Vor- und Nachteile jeder Sprache unterscheiden und zwischen internen und externen Faktoren unterscheiden? Vielleicht werde ich eines Tages feststellen, dass eine Sprache, die ich nicht mag, genau das enthält, was ich brauche.

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


Das Obige ist der Inhalt des Python-Schnelltutorials (Ergänzung 04): Eine kurze Geschichte von Python. Weitere verwandte Inhalte finden Sie hier die chinesische PHP-Website (www.php.cn)!



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