Business-Anzug für Scriptsprachen
Donnerstag, 13. September 2007 | Autor: Damian Gawenda
Dynamische Programmiersprachen wie PHP, Ruby, Python oder Groovy â?? auch als Skriptsprachen bekannt â?? sind nach Ansicht von Analysten reif für die Entwicklung von Geschäftsanwendungen â?? auch in Bereichen, die momentan von Java dominiert werden
â??Früher wurden Skriptsprachen als Quick-and-Dirty-Lösungen belächeltâ??, erläutert Robert Steindl, Senior Advisor bei der Experton Group. â??Heute ist der Reifegrad aber so hoch, dass sie durchaus tauglich sind für den Einsatz von Geschäftsanwendungen.â?? Zum Beispiel seien auf der Basis von PHP bereits ernstzunehmende Applikationen wie die Vertriebssoftware Sugar-CRM oder die Groupware Phprojekt entstanden, weiÃ? Steindl.
Dies ist noch nicht alles: â??Auf den Gebieten, auf denen Java und Skriptsprachen direkt konkurrieren, haben letztere meist den Vorteil der schnelleren Umsetzung.â?? Zum Beleg verweist Steindl auf den Wettbewerb Platforms, bei dem mehrere Entwicklerteams in den Sprachen Java, PHP und Perl gegeneinander angetreten sind. Dabei habe sich gezeigt, â??dass ein Team mit PHP in der gleichen Zeit mehr Funktionen implementieren kann, ohne bei der Sicherheit Nachteile in Kauf nehmen zu müssen.â??
Für erfahrene Entwickler liegen die Vorteile der dynamischen Sprachen auf der Hand: Aufgrund von Merkmalen wie dem so genannten Duck Typing â?? der Datentyp einer Variable muss nicht eigens deklariert werden, sondern es genügt, der Variablen einfach einen Wert zuzuweisen â?? können die Programme knapper gehalten werden. â??Darüber hinaus lassen sich Sprachen wie PHP und Python einfacher installieren und konfigurieren als die meisten Java-Applikationsserver und es gibt frei verfügbare Frameworks, die den Entwicklern helfen, Web-Features zu programmierenâ??, ergänzt Jeffrey Hammond, Senior Analyst bei Forrester. Daraus resultierten geringere Kosten und kürzere Entwicklungszeiten.
Den Erfolg der Skriptsprachen haben nicht zuletzt die Frameworks herbeigeführt. So sei Ruby schon 1993 erfunden worden, die Popularität habe sich aber erst ab 2004 mit Ruby on Rails eingestellt, sagt Experton-Berater Steindl. Rails erleichtert unter anderem die Ansprache von Datenbanken durch objektrelationales Mapping, die Webentwicklung sowie die Programmierung von Webservices. Für PHP und Groovy existieren ähnliche Hilfen wie Cake und Grails.
Auch der Trend zu Mashup-Applikationen, bei denen Backend-Services aus verschiedenen Quellen in einem Webportal miteinander verknüpft werden, kommt den dynamischen Sprachen entgegen. David Norton, Research Director bei Gartner, verweist hier beispielhaft auf Javascript, einen Kernbestandteil der Web-Oberflächentechnik Ajax (Asynchronous Javascript and XML). Norton geht zwar davon aus, dass klassische Unternehmensapplikationen auch künftig primär in Java oder Dotnet-Sprachen wie C# programmiert werden. Für die Zusammenfassung einzelner Dienste im Rahmen eines Web-Portals seien Skriptsprachen jedoch gut geeignet. Und: â??Kleinere bis mittlere Applikationen dürften in den nächsten vier oder fünf Jahren zu Skriptsprachen migrieren.â??
Sein Forrester-Kollege Hammond ist da kühner: â??Einige der gröÃ?ten Websites nutzen diese Sprachen, um Teile ihrer Funktionen umzusetzen. In dem MaÃ?, in dem IT-Shops von Client-Server-Architekturen zu webzentrierten Infrastrukturen wechseln, erwarten wir, dass die DV-Abteilungen auch dieselben Sprachen benutzen wie die hoch frequentierten Websites.â??
Experton-Analyst Steindl hält es sogar für möglich, dass sich die Gewichte zwischen Java und den dynamischen Sprachen verschieben könnten. Aus seiner Sicht spricht nichts dagegen, auch umfangreiche Webanwendungen mit diesen Techniken zu realisieren. â??Java spielt seine Vorteile dagegen zunehmend in Bereichen aus, die früher hochproprietären Lösungen vorbehalten waren â?? etwa im Embedded-Markt.â?? Zudem habe Java gute Zukunftschancen als Sprache für plattformübergreifende Desktop-Anwendungen. Denn Probleme, die Java lange begleiteten â?? wie schlechte Performance oder eine unzureichende Anpassung an die Optik des Zielsystems â?? seien mittlerweile ausgebügelt.
Onno Kluyt, der langjährige Vorsitzende des Java-Standardisierungsgremiums Java Community Process, sieht diese mögliche Kräfteverschiebung gelassen: â??Programmiersprachen haben eine gewisse Lebenszeit. Man kann zum Beispiel mit Cobol immer noch gutes Geld verdienen, aber die meisten Programmierer zieht es zu moderneren Sprachen. Das kann eines Tages auch mit Java passieren.â?? Aus seiner Sicht liegt der Reiz der Plattform nicht so sehr in der Sprache selbst, sondern in der Laufzeitumgebung: Sun habe zwar die Möglichkeit, mehrere Sprachen auf der Java Virtual Machine laufen zu lassen, nicht so sehr in den Vordergrund gestellt, wie es Microsoft bei der Dotnet-Plattform tat. Dies werde sich aber in Zukunft ändern â?? so unterstütze Java jetzt schon Skriptsprachen wie Groovy und Beanshell.
Dies gibt auch Forrester-Analyst Hammond zu bedenken: â??Wenn es darauf ankommt, eine Skriptsprache mit existierendem Code zu integrieren, dann ist es sinnvoll, eine Technik zu verwenden, die das möglichst einfach macht.â?? Dazu zähle, dass Sun neben Groovy auch Ruby in die Java-Plattform einbinde. Microsoft integriere seinerseits Ruby und Python in Dotnet. Darüber hinaus empfiehlt er, Skriptsprachen nach dem jeweiligen Einsatzgebiet auszusuchen. Für wissenschaftliche Applikationen sei zum Beispiel Python mit dem Framework Scipy geeignet. Wenn es um Web-Interfaces gehe, sei dagegen Javascript die erste Wahl. Zum Teil empfehle sich auch eine Mischung â?? etwa Javascript auf dem Client und Perl oder PHP auf der Serverseite.
Zur Vorsicht raten die Analysten allerdings bei Applikationen mit hohen Performance-Anforderungen â?? hier seien traditionelle Sprachen im Vorteil. So schlieÃ?t Forrester-Mann Hammond: â??Es wäre anzuraten, bei Anwendungen für Transactional Processing weitere erfolgreiche Anwenderbeispiele abzuwarten, bevor man in diesem Bereich zu Skriptsprachen greift.â??
Quelle: Computer Zeitung vom 13. September 2007



