13.12.2012 Aufrufe

Interview Wirtschaftsminister Zeil - partnering

Interview Wirtschaftsminister Zeil - partnering

Interview Wirtschaftsminister Zeil - partnering

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!