Alboh Blog

AB

Hintergrundwissen zu Python

In wenigen Wochen werde ich von PHP auf Python umschwenken. Die Grundlagen der Sprache habe ich mir bereits angesehen, eventuelle Unterschiede und Besonderheiten herausgearbeitet und einige kleine Testprogramme geschrieben.

Um die gewonnenen Erkenntnisse zu vertiefen und mit anderen Menschen zu teilen, habe ich beschlossen eine Python-Reihe zu schreiben. Darüber sollen Stück für Stück alle Bereiche der Sprache abgedeckt werden.

Vor euch seht ihr nun den ersten Teil, der die abstrakten Konzepte von Python kurz anreißen soll.

Don’t bother users with details that the machine can handle

Qualität. Im Vergleich zu PHP oder C++ wurde Python mit bedacht auf Lesbarkeit designt1. Das zeigt sich unter anderem im Syntax, welcher einfacher als andere Sprachen zu lesen ist und zum Teil aus der Verwendung von Einrückungen als Strukturierungselementen herrührt. Dieser übersichtlichere Syntax hat zur Folge, dass Anwendungen leichter erfassbar sind und sich die Wartbarkeit so wie die Wiederverwendung erhöht.

Indenting Codelink
1
2
3
4
5
6
7
def fib(n):
    print 'n =', n
    if n > 1:
        return n * fib(n - 1)
    else:
        print 'end of the line'
        return 1

Produktivität. Mit Python kann man, im Unterschied zu anderen Sprachen, mit weniger Code mehr erreichen. Der direkte Vergleich zu Java zeigt, dass Python-Code drei bis fünf Mal kleiner ist. Bei C++ ist es noch drastischer, da liegt der Größenunterschied bei fünf bis zehn Mal2. Der Vorteil ist weniger Code zum debuggen und warten.

Paradigma. Ähnlich wie PHP ist Python eine objektorientierte Skriptsprache. Das Klassenmodel ermöglicht die Verwendung von Polymorphismus, Überladung von Klassen und mehrfache Vererbung.

Allerdings diktiert Python kein OOP, sondern erlaubt die Verwendung von anderen Programmierparadigmen wie funktionale und aspektorientierte Programmierung.

Komponenten. Es gibt verschiedene Mechanismen um Programme, die in anderen Sprachen verfasst wurden, als Module einzubinden und aufzurufen. Dies ermöglicht den Einsatz der Sprache zum Anpassen und Erweitern von bestehenden Anwendungen und kann als eine Art Brückentechnik verstanden werden.

Open source. Die Erweiterung und Fehlerbeseitigung in Python wird von einer großen Community vorangetrieben. Der Quelltext liegt in einem VCS4 und es gibt einen öffentlichen Bugtracker4. Hinter Python steht die Python Software Foundation. Eine Non-Profit-Organisation, die als Präsidenten den Autor der Programmiersprache, Guido von Rossum5, hat.

Funktionen. Durch die automatische Speicherbereinigung können Anwendungen mit Blick auf Langlebigkeit entwickelt werden. Unterstützend steht Python dem Entwickler bei den Datentypen zur Seite. Da es keine statische Typenprüfung für Variablen gibt, findet man in Anwendungen keine Deklaration von Typen oder Variablen.

Sonstiges. Weiter erhebliche Vorzüge von Python sind die Portabilität6 und eine große Standardbibliothek.


  1. The Zen of Python

  2. Comparing Python to Other Languages

  3. Genau genommen wird Mercurial verwendet.

  4. http://bugs.python.org/

  5. https://de.wikipedia.org/wiki/Guido_van_Rossum

  6. Python Code kann unverändert auf einem PDA, einem Gray von IBM oder einem Mac ausgeführt werden. Ausgenommen sind Bereich wie GUI, Datenabankanbindungen und ähnliches.

Comments