Deutsche Zope User Group
Gast 1 Benutzer online
DZUG-News

Python ist eine objektorientierte Programmiersprache, die dank eines hochgradig portablen und unter OpenSourceLizenz? stehenden Interpreters auf vielen Plattformen zur Verf�gung steht. Durch eine Vielzahl von Erweiterungen eignet sich die Sprache besonders f�r das Integrieren und Zusammenf�gen von existierenden Software-Systemen (Datenbanken, GUI, Web-Interfaces) zu neuen Anwendungen.

Download und weitere Informationen

Hier ist eine kleine Sammlung von PythonResourcen. Ausserdem gibt es eine Seite mit PythonIdioms?.

Eng verwandt mit Python ist Jython (Python in Java und umgekehrt).

St�rken

Wie durch eine empirische Untersuchung (http://wwwipd.ira.uka.de/~prechelt/Biblio/#jccpprtTR) belegt ist, ist Python eine der produktivsten ProgrammierSprachen?, die es gibt.

  • Python ist leicht erlernbar.

  • Python-Programme sind gut lesbar.

  • Python ben�tigt keine Blockklammern wie z.B. die geschweiften Klammern in SpracheCee? oder BEGIN und END in SprachePascal?. Die zur Lesbarkeit ohnehin �bliche Einr�ckung definiert gleichzeitig die Blockstruktur (OptischeSemantik?). Diese Art der Syntax ist relativ einzigartig (siehe WardsWiki:IndentationEqualsScope) und schaltet viele Fehlerquellen aus.

  • Durch die dynamische Typbindung (alles ist ein Objekt) sind in Python geschriebene Module besonders gut wiederbenutzbar.

  • Python-Programme sind in der Regel um Faktoren k�rzer als in traditionellen Sprachen (wie z.B. SpracheJava?) geschriebene Programme, die dasselbe leisten.

  • Python ist auf allen heute verbreiteten Plattformen verf�gbar (Unix, Linux, QNX, Windows, MacOs?, ja sogar PalmOs? (noch mit Einschr�nkungen) und MicroSoft? .NET, aber auch f�r �ltere Betriebssysteme wie OS/2, Amiga, Psion5 (EPOC).

  • Es sind zwei OpenSource? Implementierungen vorhanden (CeePython? und Jython). CeePython? ist ein in SpracheCee? geschriebener und extrem portabel programmierter Interpreter, der quasi �berall zum Laufen gebracht werden kann, wo zumindest irgendein C-Compiler zur Verf�gung steht.

  • Python wird aktiv weiter entwickelt, wobei der Aufw�rtskompatibilit�t existierender Anwendungen besonderes Gewicht einger�umt wird. Alle Funktionen und Neuerungen sind in der Dokumentation mit der Version ihrer Einf�hrung gekennzeichnet.

  • Die Lizenz erlaubt die Verwendung f�r KommerzielleSoftwareProjekte?

  • Die Implementierung ist sehr ausgereift und nahezu fehlerfrei.

  • Python kommt ''inklusive Batterien'': Die Standard-Bibliothek enth�lt fertige Module f�r sehr viele Problemklassen, die ausserdem hervorragend und pr�zise dokumentiert sind.

  • Der interaktive Interpreter eignet sich auch als ''Taschenrechner''. Einfache Programme k�nnen direkt ohne einen Editor ausprobiert werden.

  • Der Interpreter kann in andere Anwendungen eingebaut werden und eignet sich so z.B. auch als SkriptSprache? f�r erweiterbare Textverarbeitungs-, Tabellenkalkulations- oder CAD-Anwendungsprogramme.

  • Python eignet sich f�r fast alle Anwendungsprobleme

  • Python ist besonders geeignet f�r RapidPrototyping?

  • Nahezu alle bekannten Datenbanken lassen sich �ber ein gemeinsames API ansprechen.

  • Es gibt Anbindungen an eine Vielzahl von GUI-Toolkits.

Schw�chen

  • bislang ist kein native Code-Compiler verf�gbar.

  • zeitkritische Anwendungsteile k�nnen manchmal nur durch Umschreiben in andere ProgrammierSprachen? beschleunigt werden.

  • einzelne Internet-Provider haben verpennt und unterst�tzen Python-CGI noch nicht.

Werkzeuge

  • F�r Emacs (EmacsFamilie?) gibt es einen sehr guten Python-Mode (EmacsMode?).

  • Auch jEdit hat einen Python-Mode (http://jedit.org) -TomTom?

Diskussion

Perl vs. Python ist ein deutschsprachiger Artikel, der Perl und Python vergleicht. Comparisons vergleicht Python mit diversen anderen Programmiersprachen, u.a. Perl. Ein etwas humorig gemeinter Vergleich ist der folgende Text ;-)