Umstieg, ja oder nein?

Vor ziemlich genau 2 Jahren wurde Java 5.0 von SUN zum öffentlichen Download bereitgestellt. Inzwischen gibt es die Version 5.0 mit etlichen Bug Fixes bereits als Update 9. Die Version 6.0 mit dem Codename „Mustang“ steht auch schon vor der Türe (voraussichtlicher Erscheinungstermin: Dezember 2006). Warum ein Umstieg auf die neue Version sinnvoll ist, schildert Sebastian Dietrich, Softwarearchitekt bei ANECON.

Seit dem Erscheinen von Java 5.0 – genauer „Java 2 Platform Standard Edition 5.0“ – sind bereits viele Firmen und Projekte auf die Version 5.0 umgestiegen. Diese bietet vor allem Spracherweiterungen wie Generics, Metadata oder Autoboxing.
Andere zögern noch mit dem Umstieg, da sie speziell Probleme im Zusammenspiel mit eingesetzten Bibliotheken und Frameworks befürchten. Darüber hinaus fallen bei einem Umstieg Aufwände an, welche unter Umständen nicht durch die gesteigerte Produktivität wettgemacht werden können.

ANECON hat in den letzten Jahren viel Erfahrung mit Java 5.0 und der Portierung auf Java 5.0 gesammelt. Dabei ließen sich folgende Erkenntnisse gewinnen:

  • Gute Softwareentwicklung unter Java 5.0 ist eindeutig produktiver als unter Java 1.4 bzw. früheren Versionen. Insbesondere Generics, Autoboxing und Annotations helfen rascher und mit weniger Code zum Ergebnis zu kommen.
  • Die neuen Sprachfeatures von Java 5.0 müssen von den Entwicklern nicht nur beherrscht werden, sondern sie müssen auch wissen, wann sie welches Feature besser nicht einsetzen sollten.
  • Ein Umstieg auf Java 5.0 muss genau überlegt und geplant werden. In vielen Fällen (z.B. bei engen Abhängigkeiten von nicht 5.0 Frameworks bzw. bei in der Wartungsphase befindlichen Projekten) ist ein Umstieg auf Java 5.0 nicht empfehlenswert, da er mit einem nicht rechtfertigbaren Aufwand verbunden ist.
  • Die Umstellung des Codes selbst – d.h. der durchgängige Einbau von Java 5.0 Features – ist im Wesentlichen nur wenig aufwändig. Dabei bieten sich sowohl ein schleichender sukzessiver, wie auch ein sofortiger Umstieg aller Programmteile an.

Leider werden in der Praxis technische Entscheidungen wie der Umstieg auf eine neue Version oft ohne die entsprechende Erfahrung und somit ohne geeignete Planung und Risikoabschätzung getroffen. Das ist auch der Grund, warum immer wieder unerwartete Projektverzögerungen auftreten.