Python wird 30 Jahre alt

Am 20. Februar 1991 veröffentlichte Guido van Rossum in der alt.sources-Gruppe die erste Veröffentlichung der Programmiersprache Python, an der er seit Dezember 1989 im Rahmen eines Projekts zur Erstellung einer Skriptsprache zur Lösung von Systemverwaltungsproblemen gearbeitet hatte das Amoeba-Betriebssystem, das auf einem höheren Niveau als C wäre, aber im Gegensatz zur Bourne-Shell einen bequemeren Zugriff auf Betriebssystemaufrufe bieten würde.

Der Name des Projekts wurde zu Ehren der Comedy-Gruppe Monty Python gewählt. Die erste Version führte Unterstützung für Klassen mit Vererbung, Ausnahmebehandlung, einem Modulsystem und den Grundtypen list, dict und str ein. Die Implementierung von Modulen und Ausnahmen wurde der Modula-3-Sprache entlehnt und der einrückungsbasierte Codierungsstil der ABC-Sprache, zu der Guido zuvor beigetragen hatte.

Bei der Erstellung von Python ließ sich Guido von den folgenden Prinzipien leiten:

  • Prinzipien, die bei der Entwicklung Zeit sparten:
    • Nützliche Ideen aus anderen Projekten übernehmen.
    • Das Streben nach Einfachheit, aber ohne übermäßige Vereinfachung (Einsheins Prinzip „Alles sollte so einfach wie möglich ausgedrückt werden, aber nicht einfacher“).
    • Folgt der UNUX-Philosophie, wonach Programme eine Funktionalität implementieren, diese aber gut ausführen.
    • Machen Sie sich keine allzu großen Sorgen um die Leistung, bei Bedarf können Optimierungen hinzugefügt werden.
    • Versuchen Sie nicht, gegen die vorherrschenden Dinge anzukämpfen, sondern lassen Sie sich treiben.
    • Vermeiden Sie Perfektionismus; normalerweise reicht das Niveau „gut genug“ aus.
    • Manchmal können Abstriche gemacht werden, vor allem, wenn später noch etwas getan werden kann.
  • Weitere Grundsätze:
    • Die Implementierung muss nicht plattformspezifisch sein. Einige Funktionen sind möglicherweise nicht immer verfügbar, die Grundfunktionen sollten jedoch überall funktionieren.
    • Belasten Sie Benutzer nicht mit Teilen, die von einer Maschine gehandhabt werden können.
    • Unterstützung und Förderung von plattformunabhängigem Benutzercode, jedoch ohne Einschränkung des Zugriffs auf die Fähigkeiten und Features der Plattformen.
    • Große komplexe Systeme müssen mehrere Erweiterungsebenen bieten.
    • Fehler sollten nicht schwerwiegend und unentdeckt sein – Benutzercode sollte in der Lage sein, Fehler abzufangen und zu behandeln.
    • Fehler im Benutzercode sollten die Funktionalität der virtuellen Maschine nicht beeinträchtigen und nicht zu undefiniertem Interpreterverhalten und Prozessabstürzen führen.

    Source: opennet.ru

Kommentar hinzufügen