Skriptsprachen

Mit dem richtigen Tool zur Web-Anwendung

29.08.2011
Von   
Bernhard Steppan arbeitet als IT-Chefarchitekt bei DB Systel GmbH (Deutsche Bahn) in Frankfurt am Main. Er hat 100+ Artikel und zahlreiche Bücher über C++ und Java verfasst. Er betreibt mehrere Blogs, unter anderem http://steppan.net, http://artouro.org und http://tourbine.com

Python

Python ist bedeutend älter als Java, aber ebenso universell ausgelegt. Die elegante objektorientierte Skriptsprache ist von Anfang an auf leichte Lesbarkeit und im Gegensatz zu Java auf syntaktische Ähnlichkeit zu Vorläufersprachen ausgelegt worden. Python ist leicht zu erlernen, besitzt wohldurchdachte, integrierte Datentypen und verwirrt nicht mit extrem vielen Frameworks und unterschiedlichen Konzepten.

Im Bereich der Erweiterbarkeit und Flexibilität kann sich Python sehr gut mit anderen Sprachen dieses Vergleichs messen. Die Anzahl der Standardbibliotheken ist gerade für die Web-Programmierung mehr als ausreichend. Mit Django gibt es zum Beispiel ein Framework mit Datenbankabstraktion und Unterstützung für Internatio-nalisierung. Die Python-Implementierung Jython geht noch einen Schritt weiter und schlägt eine Brücke von der eleganten Programmiersprache zur leichten Erweiterbarkeit der Java-Plattform.

Durchdachtes Sprachkonzept

Python-Programme gelten als sehr wartungsfreundlich. Das liegt nicht nur an der Syntax, sondern auch an dem von Anbeginn durchdachten Sprachkonzept. Gleiches gilt für die Robustheit von Programmen, denn Exception Handling war von Beginn an Bestandteil der Sprache. Wie bei allen Skriptsprachen ist die Ausführungsgeschwindigkeit nicht mit der von Compiler-Sprachen zu vergleichen. Python-Entwickler bewerten jedoch die Ausführungsgeschwindigkeit für Web-Anwendungen aufgrund der langsamen Verbindung zwischen Server und Client im WWW als eher zweitrangig. Das Prinzip ist, lieber besser lesbaren Code zu erzwingen und Performance-hungrige Anwendungsteile separat zu optimieren oder nativ zu implementieren.

Fragliche Skalierbarkeit

Es gibt nur wenige Erfahrungen und Berichte über die Skalierbarkeit von größeren Python-Anwendungen, so dass man hier keine zuverlässige Aussage treffen kann. Die Verwendung von Python für durchaus größere Websites wie Youtube mag allerdings ein Indiz sein, dass sich Python-Anwendungen durchaus skalieren lassen. Anders sieht es mit dem Monitoring aus, wo man Konzepte wie JMX vermisst.

Bei der Tool-Unterstützung liegt Python mit PHP etwa gleichauf. Die gängigen Java-IDEs verfügen zum Beispiel über Python-Plug-ins. Anfang dieses Jahres wurde sogar eine Unterstützung für Microsofts Visual Studio angekündigt.

Fazit: Python ist eine moderne, leicht lesbare, objektorientierte Skriptsprache. Sie vereint die einfache Erlernbarkeit von PHP mit vielen Vorzügen von Java. Es ist jedoch nicht so leicht, passende Entwickler für ein Python-Projekt zu finen, was den Einsatz der Sprache im Vergleich zu Java und PHP erschwert.