Heim  >  Artikel  >  Backend-Entwicklung  >  Das Leben ist kurz, ich benutze Python

Das Leben ist kurz, ich benutze Python

伊谢尔伦
伊谢尔伦Original
2016-11-25 09:56:571134Durchsuche

Python ist meine Lieblingssprache, es ist einfach, schön und leicht zu verwenden. Vor zwei Tagen habe ich meinen Freunden mit Begeisterung die Vorteile von Python vorgestellt.

 „Okay, ich gebe zu, dass Python gut ist, aber warum heißt es Python?“

 „Nun, es scheint der Name einer Fernsehserie zu sein.“

 „Was sagen Sie dann? „

“ Er ist von Google zu Dropbox gewechselt, aber sein Name sieht aus wie ein niederländischer Name. „

„Sind Sie sicher, dass Sie ihn kennen? mit Python?

Um meine Schande zu rächen, habe ich mir die Zeit genommen, die Geschichte von Python zu untersuchen. Ich sah den Ursprung vieler Funktionen in Python und die Designphilosophie von Python, die Evolutionsgeschichte einer Programmiersprache und die wunderbare Verbindung zwischen Python und der Open-Source-Bewegung. Aus der Geschichte von Python können wir einen Einblick in die Ideen und Errungenschaften der Open-Source-Entwicklung gewinnen.

Dies kann auch als Auftakt für das kurze Python-Tutorial verwendet werden, das ich geschrieben habe.

Herkunft

Der Autor von Python, Guido von Rossum, ist tatsächlich Niederländer. 1982 erhielt Guido einen Master-Abschluss in Mathematik und Informatik von der Universität Amsterdam. Doch obwohl er 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.

Zu dieser Zeit kam Guido mit Sprachen wie Pascal, C und Fortran in Kontakt und verwendete diese. Das grundlegende Designprinzip dieser Sprachen besteht darin, Maschinen schneller laufen zu lassen. Obwohl IBM und Apple in den 1980er Jahren eine Welle von Personalcomputern gestartet hatten, war die Konfiguration dieser Personalcomputer 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 Art der Programmierung macht Guido verzweifelt. Guido weiß, wie man eine Funktion in der Sprache C schreibt, aber der gesamte Schreibprozess nimmt viel Zeit in Anspruch, auch wenn er bereits genau weiß, wie man sie implementiert. Seine andere Option ist die Muschel. Die Bourne Shell existiert als Interpreter für UNIX-Systeme schon seit langem. UNIX-Administratoren verwenden häufig Shells, um einige einfache Skripts zu schreiben, um einige Systemwartungsarbeiten durchzuführen, wie 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.

Guido hofft, eine Sprache zu haben, die die funktionale Schnittstelle des Computers wie die C-Sprache vollständig aufrufen kann und wie eine Shell einfach programmiert werden kann. Die ABC-Sprache gab 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 im Text vorkommenden Wörter zu zählen:

HOW TO RETURN words document:
 
   PUT {} IN collection
 
   FOR line IN document:
 
      FOR word IN split line:
 
         IF word not.in collection:
 
            INSERT word IN collection
 
   RETURN collection

HOW TO wird zum Definieren einer Funktion verwendet. 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. 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.

E/A 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, das Gleichheitszeichen zum Zuweisen von Variablen zu verwenden. Obwohl die ABC-Sprache etwas ganz Besonderes ist, ist sie auch sehr schwer zu erlernen.

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.

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 nichts weiter als ein reiner Hacker-Akt.

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 ein Haus aus Stahl zu bauen. 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. 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.

Das Leben ist kurz, ich benutze Python

Zeiten machen Helden

Wir müssen unsere Python-Zeit unterbrechen und einen Blick auf die sich ständig verändernde Computerindustrie 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 zu achten, beispielsweise auf grafische Oberflächen.

Das Leben ist kurz, ich benutze Python

Windows 3.0

Aufgrund der Verbesserung der Computerleistung hat auch die Welt der Software begonnen, sich 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 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 im Stillen geschieht, ist das Internet. Die 1990er Jahre waren noch die Ära der Personal Computer und Intel dominierte die Welt bei PCs und erfreute sich 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 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 leicht zu 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 Maillisten-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.

Seit heute ist 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. Seitdem 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.

Revelation

Python steht für Eleganz, 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, auf denen es basiert. 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 haben viele Sprachschlachten erlebt. 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.


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
Vorheriger Artikel:Python面向对象Nächster Artikel:python基础-循环