Interview Wirtschaftsminister Zeil - partnering
Interview Wirtschaftsminister Zeil - partnering
Interview Wirtschaftsminister Zeil - partnering
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
16 Titel 21/11<br />
u PHP bildet in vielen vielen Ver-<br />
gleichen das Schlusslicht in<br />
puncto Robustheit. Die<br />
schwache Typisierung der<br />
Sprache ist Teil desKon- zepts,<br />
aber<br />
eben<br />
auch<br />
Fehlerquelle.<br />
Es<br />
ist<br />
ein prinzipieller Unterschied, ob Fehler zur<br />
Laufzeit<br />
oder<br />
zur<br />
Entwicklungszeit<br />
auftre- auftre-<br />
ten und gefunden werden können.Tatsa- che<br />
ist,<br />
das<br />
PHP<br />
ein<br />
Auffinden<br />
von<br />
Fehlern<br />
zur Entwicklungszeit nicht so gutunterstützt, wie es beispielsweise strikt typisierte<br />
Compiler-Sprachen erlauben.<br />
Performance-Unterschiede<br />
PHP-Programme werden im Gegensatz zu<br />
Java ohne Umwege interpretiert. Bei reinen<br />
Benchmark-Vergleichen schneidet die Technologie<br />
oftmals nicht so gut ab wie die<br />
Compiler-Sprache Java. Man sollte diese<br />
Benchmark-Ergebnisse zwar nicht auf die<br />
Goldwaage legen, denn je nach Architektur<br />
der Anwendung spielen Datenbankzugriff,<br />
schnelle Web-Seitendarstellung und die Anbindung<br />
von Fremdsystemen unter Umständen<br />
eine weit größere Rolle. Aber ein gewisser<br />
systembedingter Unterschied zu<br />
kompilierten Sprachen ist dennoch nicht<br />
von der Hand zu weisen.<br />
Verglichen mit Java wird die Skalierbarkeit<br />
von PHP unter Fachleuten schlechter<br />
beurteilt. Bei diesem Vergleich sollte man<br />
allerdings fair bleiben und sagen, dass<br />
Java-Enterprise-Application-Server mit ihren<br />
verschiedenen Möglichkeiten des Load-<br />
Balancings preislich in einer vollkommen<br />
anderen Liga spielen. Das gilt auch für das<br />
System-Monitoring, das mit der Laufzeitumgebung<br />
einhergeht. Hier hat PHP dem<br />
ausgefeilten Konzept der Java Management<br />
Extensions (JMX) wenig entgegenzusetzen.<br />
Ausreichende Tool-Unterstützung<br />
Die Tool-Unterstützung wurde in den letzten<br />
Jahren stark ausgebaut. So kann der<br />
PHP-Entwickler nicht nur mit proprietären<br />
Umgebungen wie Zend Studio oder klassischen<br />
Web-Tools wie Dreamweaver oder<br />
Expression Web arbeiten. Auch die beiden<br />
quelloffenen Java-Entwicklungsumgebungen<br />
Netbeans und Eclipse sowie Eclipse-<br />
Derivate wie Aptana unterstützen mittlerweile<br />
PHP.Nicht zuletzt gibt es inzwischen<br />
sogar UML-Tools, die PHP-Code einlesen<br />
und erzeugen können.<br />
Als Fazit zu PHP lässt sich sagen: Wer<br />
eine leicht erlernbare Sprache, eine nahezu<br />
kostenfreie Laufzeitumgebung sowie<br />
viele Web-Hosting-Anbote auf PHP-Basis<br />
sucht, liegt bei PHP richtig. Die vielen Web-<br />
CMS<br />
auf<br />
PHP-Basis<br />
zeigen,<br />
welchen<br />
Schwerpunkt die Sprache hat. Bei<br />
großen, unternehmenskritischen Web- Web-<br />
Seiten mit der Anbindung vonver- schiedenen<br />
Fremdsystemen<br />
spielt<br />
PHP<br />
eher eine untergeordnete Rolle.<br />
Python<br />
Python ist bedeutend älter als Java,<br />
aber ebenso universell ausgelegt. Die<br />
elegante objektorientierte Skriptsprache<br />
ist von Anfang an auf leichte Lesbarkeit und<br />
im Gegensatz zuJava auf syntaktische Ähnlichkeit<br />
zu Vorläufersprachen ausgelegt worden.<br />
Python ist leicht zu erlernen, besitzt<br />
wohldurchdachte, integrierte Datentypen<br />
und verwirrt nicht mit extrem vielen Frameworks<br />
und unterschiedlichen Konzepten.<br />
Im Bereich der Erweiterbarkeit und Flexibilität<br />
kann sich Python sehr gut mit anderen<br />
Sprachen dieses Vergleichs messen.<br />
Die Anzahl der Standardbibliotheken ist<br />
gerade für die Web-Programmierung mehr<br />
als ausreichend. Mit Django gibt es zum<br />
Beispiel ein Framework mit Datenbankabstraktion<br />
und Unterstützung für Internationalisierung.<br />
Die Python-Implementierung<br />
Jython geht noch einen Schritt weiter und<br />
schlägt eine Brücke von der eleganten Programmiersprache<br />
zur leichten Erweiterbarkeit<br />
der Java-Plattform.<br />
Durchdachtes Sprachkonzept<br />
Python-Programme gelten als sehr wartungsfreundlich.<br />
Das liegt nicht nur an der<br />
Syntax, sondern auch an dem von Anbeginn<br />
Kurzbewertung<br />
durchdachten Sprachkonzept. Gleiches gilt<br />
für die Robustheit von Programmen, denn<br />
Exception Handling war von Beginn an Bestandteil<br />
der Sprache. Wie bei allen Skriptsprachen<br />
ist die Ausführungsgeschwindigkeit<br />
nicht mit der von Compiler-Sprachen zu vergleichen.<br />
Python-Entwickler bewerten jedoch<br />
dieAusführungsgeschwindigkeit für<br />
Web-Anwendungen aufgrund der langsamen<br />
Verbindung zwischen Server und Client im<br />
WWW als eher zweitrangig. Das Prinzip ist,<br />
lieber besser lesbaren Code zu erzwingen<br />
und Performance-hungrige Anwendungsteile<br />
separat zu optimieren oder nativ zu implementieren.<br />
Fragliche Skalierbarkeit<br />
Legende: ++ = sehr gut, + = gut, 0 = befriedigend, - = unbefriedigend; Quelle: Steppan<br />
Es gibt nur wenige Erfahrungen und Berichte<br />
über die Skalierbarkeit von größeren<br />
Python-Anwendungen, so dass man hier<br />
keine zuverlässige Aussage treffen kann.<br />
Die Verwendung von Python für durchaus<br />
größere Websites wie Youtube mag allerdings<br />
ein Indiz sein, dass sich Python-Anwendungen<br />
durchaus skalieren lassen.<br />
Anders sieht es mit dem Monitoring aus, wo<br />
man Konzepte wie JMX vermisst.<br />
Bei der Tool-Unterstützung liegt Python<br />
mit PHP etwa gleichauf. Die gängigen Java-<br />
IDEs verfügen zum Beispiel über Python-<br />
Plug-ins. Anfang dieses Jahres wurde sogar<br />
eine Unterstützung für Microsofts Visual<br />
Studio angekündigt.<br />
Fazit: Python ist eine moderne, leicht lesbare,<br />
objektorientierte Skriptsprache. Sie<br />
vereint die einfache Erlernbarkeit von PHP<br />
mit vielen Vorzügen von Java. Es ist jedoch<br />
Java PHP Python Ruby<br />
Entwicklungsaufwand 0 ++ ++ ++<br />
Erweiterbarkeit ++ + + +<br />
Wartungsfreundlichkeit + 0 ++ ++<br />
Robustheit + 0 + 0<br />
Ausführungsgeschwindigkeit + + 0 –<br />
Skalierbarkeit ++ + 0 0<br />
Monitoring ++ 0 0 0<br />
Laufzeitumgebung ++ + + +<br />
Hosting-Markt 0 ++ 0 0<br />
Tool-Unterstützung ++ + 0 0<br />
Benötigtes Know-how 0 ++ ++ ++<br />
Personalmarkt + ++ 0 0