Kotlin und Go als Alternativen zu Java
04.02.2021, 11:07 Uhr
Leistungsstarke Java-Alternativen
Wie ein Schiff ohne Kapitän segelt die Java-Gemeinde in eine ungewisse Zukunft.
Aktuelle Umfragen zeigen eindeutig: Die Unzufriedenheit der Anwendungsentwickler mit Oracles Java-Strategie sitzt tief und befeuert die Migration zu JDK-Alternativen. Mit Kotlin und Golang hat Google gleich zwei neue Cloud-fähige Sprachen und leistungsstarke Java-Alternativen im Köcher. Inwiefern ist die eine Sprache besser als eine andere? Brauchen Entwickler doch mehr als nur Java oder kommt man mit einer der Alternativen aus?
Es gab schon immer ein beträchtliches Maß an Kritik von Java von einem großen Teil der Entwicklergemeinde, aber bisher keine richtig guten Alternativen, zumindest nicht ohne den Verzicht auf extreme Portabilität. Zu den größten Kritikpunkten zählen die Weitschweifigkeit von Java, die große Menge an verschmerzbarem Boilerplate-Code und eine lange Stagnation, die sich zum Teil sicherlich auf einzigartige Vorteile der Sprache zurückführen lässt. Die starke Typsicherheit, der ausgereifte Garbage-Collector und die disziplinierte Strukturiertheit haben Java zu ihrem massiven Erfolg bei großen Softwareprojekten verholfen. Wenn man dann noch die inhärente Fähigkeit hinzunimmt, automatische Leistungsoptimierungen durch den berühmten JIT-Compiler durchzuführen, dann hat man eine ziemlich solide Reihe von Gründen, warum sich Java trotz allem durchsetzen konnte.
Oracle vs. Google, Google vs. Oracle
Im Streit um die Nutzung von Java-APIs in Android hat zuerst Oracle geklagt. Jetzt klagt Google zurück. Der Fall Google vs. Oracle wurde im Oktober 2020 vor dem Obersten Gerichtshof der Vereinigten Staaten verhandelt; das Urteil steht bisher noch aus.
Auf dem Spiel sind nicht nur die paar Milliarden US-Dollar an Lizenzgebühren. Es geht vielmehr um die Art und Weise, wie legale Software zu entstehen hat, nämlich um die grundsätzliche Frage, ob eine Untermenge von urheberrechtlich schutzfähigem Code auf Grund seiner funktionellen Aufgaben selbst nicht schutzfähig sei, sodass deren Nutzung lizenzfrei zu erfolgen hat.
Google argumentiert, dass Softwarecode einer konkreten Implementierung zwar schutzfähig sein mag, dass sich diese Schutzfähigkeit jedoch nicht auf den deklarierenden Code erstrecke, da Letzterer eine Betriebsmethode darstelle. Dieser deklarierende Code unterscheide sich von implementierendem Code, denn er stelle eine Software-Schnittstelle dar, welche eine Reihe von Befehlen deklariere, die einen Computer anweisen würden, was er tun solle, nicht wie er es tun solle. Google beruft sich dabei aller Ernstes auf einen Präzedenzfall aus dem 19. Jahrhundert, bei dem das Gericht befand, dass sich der Urheberrechtsschutz an einem Buch nicht auf die darin beschriebenen Buchhaltungsmethoden erstrecke.
Googles Argumentationslinie hat in der Industrie breiten Support gewonnen. Das einzige Problem: Entwickler des Android-Betriebssystems hatten in der Realität etwas völlig anderes getan als das, was Googles Juristen vor dem Obersten Gerichtshof so eloquent verteidigt haben. Googles Entwickler hatten sich nämlich nicht darauf beschränkt, die bloße Idee von deklarierendem Code oder dessen Funktionsweise zu kopieren, sondern machten sich vielmehr auch den expressiven Inhalt des deklarierenden Codes von Oracle zu Eigen. Oracle möchte seinerseits nur für den expressiven Inhalt seines Code den gesetzlich vorgesehenen Schutz in Anspruch nehmen, nicht mehr und nicht weniger. Damit fällt Googles Argumentationslinie auseinander.
Google bleibt also nur noch ein Ausweichmanöver auf die Doktrin der fairen Nutzung übrig, die sich allerdings auf vier Bedingungen stützt, von denen mindestens zwei Google nicht erfüllt. Die obersten Richter (mit der Ausnahme der Richterin Sonia Sotomayor) scheinen geneigt zu sein, Oracles Position zu bekräftigen – möglicherweise sogar mit Googles eigenen Argumenten. Ein abschließendes Urteil wird voraussichtlich bis Juni 2021 gefällt.
Jetzt 1 Monat kostenlos testen!
Sie wollen zukünftig auch von den Vorteilen eines plus-Abos profitieren? Werden Sie jetzt dotnetpro-plus-Kunde.
- + Digitales Kundenkonto,
- + Zugriff auf das digitale Heft,
- + Zugang zum digitalen Heftarchiv,
- + Auf Wunsch: Weekly Newsletter,
- + Sämtliche Codebeispiele im digitalen Heftarchiv verfügbar