Geschichte
Was hat die Geschichte von Python mit dem Alphabet zu tun? Beide beginnen mit ABC. Im Falle von Python die Programmiersprache ABC.
Die Sprache wurde Anfang der 1990er Jahre von Guido van Rossum am Zentrum für Mathematik (Centrum voor Wiskunde en Informatica) in Amsterdam entwickelt. Ursprünglich war sie als Nachfolger für die Lehrsprache ABC entwickelt worden und sollte auf dem verteilten Betriebssystem Amoeba laufen. Guido van Rossum hatte auch an der Entwicklung der Sprache ABC mitgewirkt, so dass seine Erfahrungen mit ABC auch in Python einflossen.
Auch wenn wir auf dieser Webseite nicht mit Python-Schlangen geizen, hat der Name der Programmiersprache Python nichts mit den Schlangen zu tun. Für Guido van Rossum stand vielmehr die britische Komikertruppe Monty Python mit ihrem legendären Flying Circus Pate für den Namen.
Guido van Rossum schrieb 1996 über die Entstehung des Namens seiner Programmiersprache: "Vor über sechs Jahren, im Dezember 1989, suchte ich nach einem 'Hobby'-Programmier-Projekt, dass mich über die Woche um Weihnachten beschäftigen konnte. Mein Büro ... war zwar geschlossen, aber ich hatte einen PC und sonst nichts vor. Ich entschloss mich einen Interpreter für die neue Skripting-Sprache zu schreiben, über die ich in der letzten Zeit nachgedacht hatte: ein Abkömmling von ABC, der UNIX/C-Hackern gefallen würde. Python hatte ich als Arbeitstitel für das Projekt gewählt, weil ich in einer leicht respektlosen Stimmung war (und ein großer Fan von Monty Python's Flying Circus)."
Dennoch sind Assoziationen mit Schlangen möglich und sinnvoll: Man denke nur an das Python-Toolkit "Boa" oder die Programmiersprache Cobra. Außerdem ist eine Schlange im Python-Logo.
Guido van Rossum sagte in einem Interview: "Anfang der 80er Jahre habe ich an der CWI mit einem Team an der Sprache ABC gearbeitet. Ich hatte keine Ahnung wie ABC Python beeinflussen würde. Ich dachte an meine Erfahrungen und an den Frust mit ABC, und ich entschied mich eine einfache Skriptsprache zu entwerfen. Sie sollte die Vorteile von ABC haben, nicht aber die Probleme/Nachteile. Es entstand eine einfache virtuelle Maschine, ein einfacher Parser, eine einfache Laufzeitumgebung und eine Syntax, die Einrückungen für die Gruppierung von Ausdrücken verwendet, und ein paar Datentypen: Dictionaries, Listen, Strings und Numbers/Integer."
Das Zen von Python
Schön ist besser als hässlich.
Explizit ist besser als implizit.
Einfach ist besser als komplex.
Komplex ist besser als kompliziert.
Flach ist besser als verschachtelt.
Spärlich ist besser als dicht.
Lesbarkeit zählt.
Sonderfälle sind nicht speziell genug, um gegen die Regeln zu verstoßen.
Obwohl Praktikabilität die Reinheit übertrifft,
Fehler sollten niemals stillschweigend vergehen.
Sofern nicht ausdrücklich zum Schweigen gebracht.
Verweigern Sie angesichts von Zweideutigkeiten die Versuchung zu raten.
Es sollte einen - und vorzugsweise nur einen - offensichtlichen Weg geben, dies zu tun.
Obwohl dieser Weg zunächst vielleicht nicht offensichtlich ist, es sei denn, Sie sind Niederländer.
Jetzt ist besser als nie.
Obwohl nie oft besser ist als * gerade * jetzt.
Wenn die Implementierung schwer zu erklären ist, ist es eine schlechte Idee.
Wenn die Implementierung leicht zu erklären ist, kann dies eine gute Idee sein.
Namespaces sind eine großartige Idee - lasst uns mehr davon machen!
Wie sich Python entwickelt hat
Guido van Rossum hat die erste Version von Python (v. 0.9.0) im Februar 1991 veröffentlicht. Darin waren bereits Ausnahmenbehandlung, Funktionen und die Kern-Datentypen enthalten. Python v. 0.9.0 war bereits objektorientiert und modular.
Python v. 1.0, veröffentlicht im Januar 1994, kam mit Werkzeugen für funktionale Programmierung wie lambda, map, filter und reduce.
Python v. 2.0 lieferte die Listen-Abstraktion (list comprehension), einen vollständigen Garbage Collector und unterstütze Unicode. Python v. 2.0 wurde im Oktober 2000 vorgestellt.
Python musste weitere 8 Jahre gedeihen, bevor die Version 3.0 veröffentlicht wurde. Python V. 3.0 ist auch bekannt unter den Namen "Python 3000" und "Py3K". Ein Schwerpunkt in 3.0 lag auf der Beseitigung von redundanten Programmteilen um das 13te Gesetz der Zen of Python zu erfüllen: "Es sollte einen - und bevorzugt genau einen - offensichtlichen Weg geben, es zu tun." Auf die wesentlichen Unterschiede können wir an dieser Stelle aber noch nicht eingehen.
Einige Änderungen in Python 3.0:
- Drucken ist jetzt eine Funktion
- Ansichten und Iteratoren anstelle von Listen
- Die Regeln für die Bestellung von Vergleichen wurden vereinfacht. Z.B. Eine heterogene Liste kann nicht sortiert werden, da alle Elemente einer Liste miteinander vergleichbar sein müssen.
- Es gibt nur noch einen ganzzahligen Typ, d. H. Int. lang ist auch int.
- Die Division von zwei ganzen Zahlen gibt einen Float anstelle einer ganzen Zahl zurück. "//" kann verwendet werden, um das "alte" Verhalten zu haben.
- Text Vs. Daten anstelle von Unicode Vs. 8 Bit