12 Gründe für Javas anhaltende Dominanz

Hartmut Schlosser

Java forever!“ – mit dieser Emphase ist ein InfoWorld-Artikel von Peter Wayber betitelt, der uns 12 Gründe für die andauernde Dominanz von Java präsentiert. Werfen wir einen kurzen Blick darauf:

1. Javas Widerstandsfähigkeit

Java konnte sich trotz (oder vielleicht sogar wegen) der Widerstände Microsofts durchsetzen. Auch gab es Querelen zwischen IBM und Sun, Ablehnung von Apple, etc. Doch Java hat sich resistent gegen jeden unternehmenspolitischen Gegenwind erwiesen und ist damit eine gute Wahl für die berufliche Karriere.

2. Thread-Verwaltung

Die JVM verfügt über eine sehr gute Thread-Verwaltung und ist für Multicore-Systeme optimiert. Diese Flexibilität lockt andere Sprachen und viele High-Traffic-Webseiten an.

3. Java als erste Programmiersprache

Java ist heute für viele die erste Programmiersprache, die sie lernen. Als Anfängersprache wird sie gerne wegen der erzwungenen Typisierung an Unis gelehrt.

4. (Ausreichend gute) Cross-Plattform-Kompatibilität

Java war nicht die erste Sprache, die auf Cross-Plattform-Lauffähigkeit abzielte – aber die populärste. Dabei sind die Cross-Plattform-Fähigkeiten sicherlich nicht perfekt – aber für die meisten Anwendungsfälle gut genug.

5. Anhaltender Erfolg auf kleinen Chips

Java hat den Durchbruch auf dem Desktop zwar nie geschafft, wohl aber in der Mobile-Welt. War Java ME früher der Renner auf Feature Phones, feiert Java heute auf Android Devices Erfolge.

6. Blue-Ray

Java sollte ursprünglich unter dem Namen „Oak“ erscheinen und Sun die Dominanz auf Set-top-Boxen bringen. Dieser Plan ging zwar nicht auf, doch hat sich immerhin der Blue-Ray-Standard um Java herum aufgebaut. Heutige Blue-Rays bestehen in der Regel aus komprimiertem Videomaterial und Java Bytecode für interaktive Elemente.

7. Klammer-Syntax

Die in Java häufig notwenigen Klammern zur Strukturierung des Quellcodes werden von Ruby, Python oder CoffeeScript-Programmierern zwar oft belächelt. Sie helfen aber besser als Leerzeichen oder Tabs dabei, die Übersicht zu behalten und korrekten Code zu schreiben.

8. Groovy

Wenn Java-Programmierer eine saubere, einfache Syntax mit dynamischer Typisierung benötigen, müssen sie nicht zu einer völlig anderen Sprache greifen. Sie können das voll mit Java interoperable Groovy nutzen und müssen nicht die gewohnte JVM-Umgebung verlassen.

9. Die JVM als Sprachmagnet

Die JVM wurde zwar für statisch typisierten Code optimiert, kann aber grundsätzlich jede Sprache verarbeiten, die in Java Bytecode kompiliert. Haskell, Scala, Clojure sind Beispiele. Microsoft hat diese Idee mit der C# VM übernommen.

10. Die NoSQL Revolution

Cassandra, Lucene, ElasticSearch, HBase, Neo4J – viele führende NoSQL-Projekte stammen aus der Java Community.

11. Minecraft

Minecraft ist in Java geschrieben – und so wenden sich zahlreiche junge Gamer der Sprache zu, um Plug-ins für Minecraft zu schreiben. Die nächste Generation von Programmierern lernt also Java als erste Sprache.

12. Open Source

Librarys, Apache-Projekte, Eclipse – und natürlich das meiste an Java selbst ist Open Source. 

Wayber zieht das Fazit, dass Java sicherlich nicht perfekt ist:

–       Aussetzer durch den Garbage Collector

–       Das Typensystem ist manchmal lästig und kann schlechten Code nicht verhindern

–       Komplexe Annotationen

–       Langsame Entwicklung

–       Manchmal umständliche Syntax

–       Etc.

 

Doch sei kein wirklicher Wettbewerber in Sicht, der genügend Tiefe und Atem hätte, um Java abzulösen. Am ehesten sieht Wayber noch JavaScript als Gefahr, das durch Node.js auch immer mehr Freunde auf dem Server findet.

Java Forever

Java ist sicherlich heute noch ein Garant für gute Jobs. Doch das nicht im Sinne von Legacy, sondern durchaus als treibende Kraft in neuen Segmenten. Beispiel Embedded: Oracle versucht derzeit stark, mit einem reaktivierten Java ME im M2M-Bereich Fuß zu fassen. Nashorn – die JavaScript Engine für die JVM und Projekte wie Avatar nähern die Java und JavaScript- Communitys einander an (Nashorn kann darüberhinaus als Proof of Concept dafür gelten, dass die JVM durch das Invokedynamic-Konzept zu einer wahrhaft polyglotten VM werden kann). JavaFX – Java auf dem Desktop wird mit JavaFX neue Impulse erfahren, mit dem Port für Android und iOS stehen weitere Felder bereit. Und natürlich Java 8, die nächste Generation der Sprache, die u.a. Lambda-Ausdrücke einführt  – und das bei voller Aufrechterhaltung der Abwärtskompatibilität.

Zurecht weist Andrew Binstock in einem seiner Editorials noch auf die lebendige Konferenz-Szene hin, die unglaubliche Fülle an Librarys und Frameworks, die kostenlosen Entwickler-Tools von erstklassiger Qualität und die Menge an Dokumentations- und Infomaterial. Zudem macht allein die Tatsache, dass es weltweit 10 Millionen Java-Entwickler gibt, diese Ressource interessant für Unternehmen jeder Art.

One might argue these are the benefits of long-time languages, but I can think of no other language — older or younger — that has all these features in such profusion.

Wundern kann man sich angesichts dieser Fülle an Aktionen und Innovationen eigentlich nur darüber, dass immer wieder Berichte über das Ableben von Java in Umlauf gebracht werden. Wenn überhaupt, dann betrifft dies das Java-Plug-in im Browser, über das Hacker-Angriffe auf Applets gefahren werden. Doch auch wenn Oracle diesem Problem trotz verstärkter Security-Anstrengung nicht Herr werden würde – daran, dass die Java Community eine der lebendigsten überhaupt ist, besteht kein Zweifel. Und das Browser-Plug-in hat damit heute relativ wenig zu tun.

Brauchen wir also solche Artikel wie „Java Forever“, die uns die Erfolge Javas unter die Nase reiben? Nun, vielleicht ist ein Charakterzug der Java Community ein relativ hoher Anspruch an Technologie, Konzeption und Prozesse – und eine damit verbundene Tendenz zur Kritik, auch zur Selbstkritik, die manchmal die Sicht auf das Ganze vernebelt. Sich dann ab und zu etwas zurückzulehnen und das Erreichte mit etwas Abstand zu betrachten, schadet nicht.

Geschrieben von
Hartmut Schlosser
Hartmut Schlosser
Hartmut Schlosser ist Redakteur und Online-Koordinator bei Software & Support Media. Seine Spezialgebiete liegen bei Java-Enterprise-Technologien, JavaFX, Eclipse und DevOps. Vor seiner Tätigkeit bei S & S Media studierte er Musik, Informatik, französische Philologie und Ethnologie.
Kommentare
  1. Perfetti2013-11-07 10:33:00

    Zum Punkt: Die JVM als Sprachmagnet

    Zugegeben ich war eine Woche im Urlaub, da kann viel passieren, aber dass Haskell auf der JVM läuft wäre mir neu?

    Bisher war mir nur das Frege-Projekt bekannt, das soetwas versucht zu bieten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.