Einführung in Java – Seit 20 Jahren totgesagt und läuft trotzdem überall

Warum Java trotz aller Abgesänge das Rückgrat unzähliger Unternehmen ist und weshalb 'langweilig' in Wahrheit ein Feature ist.

This article has not been translated yet. You are viewing the original German version.

Read in German →

Java

Einführung in Java – Seit 20 Jahren totgesagt und läuft trotzdem überall

Marcel Strahl4 min read

Einführung in Java – Seit 20 Jahren totgesagt und läuft trotzdem überall

Es gibt kaum eine Sprache, die so oft für tot erklärt wurde wie Java.

Erst sollte PHP sie ablösen, dann Ruby, dann Node.js, dann Go, dann Kotlin. Und was ist passiert? Java läuft weiter. In Banken, Versicherungen, Logistikkonzernen, Behörden – und in ungefähr jedem zweiten Backend, das ernsthaft Geld verdient.

Das ist kein Zufall. Und genau darum geht es in diesem Artikel.

Was ist Java überhaupt?

Java ist eine objektorientierte, statisch typisierte Sprache, die auf der JVM (Java Virtual Machine) läuft.

Das bedeutet:

  • Der Code wird einmal kompiliert und läuft überall, wo eine JVM existiert
  • Der Compiler prüft Typen, bevor das Programm überhaupt startet
  • Speicherverwaltung übernimmt der Garbage Collector

Klassisches Beispiel:

public class Main {
    public static void main(String[] args) {
        System.out.println("Hallo Welt!");
    }
}

Ja, das ist mehr Zeremonie als in PHP oder Python. Das war lange der Standard-Witz über Java.

Aber diese Zeremonie hat einen Grund: Struktur. Und in großen Projekten mit vielen Entwicklern ist Struktur kein Nachteil, sondern die halbe Miete.


Warum Java einen verstaubten Ruf hat

Auch hier gilt: Der Ruf kommt nicht von ungefähr.

Java hatte lange Zeit echte Probleme:

  • Extrem viel Boilerplate (Getter, Setter, endlose Konstruktoren)
  • XML-Konfigurationsorgien in alten Frameworks
  • Schwerfällige Application Server
  • NullPointerException als ständiger Begleiter
  • Träge Release-Zyklen (zwischen Java 6 und 8 lagen gefühlt Ewigkeiten)

Wer 2010 das letzte Mal Java geschrieben hat, erinnert sich an genau das.

Nur: Das ist nicht mehr das Java von heute.


Modernes Java hat mit altem Java wenig zu tun

Seit Java 9 gibt es alle sechs Monate ein Release. Und die Sprache hat massiv aufgeholt:

  • var für lokale Typinferenz
  • Records – eine Zeile statt 50 Zeilen Boilerplate
  • Sealed Classes
  • Pattern Matching und Switch Expressions
  • Text Blocks für mehrzeilige Strings
  • Virtual Threads – nebenläufiger Code ohne Callback-Akrobatik

Beispiel – ein unveränderliches Datenobjekt, früher eine halbe Datei, heute:

public record User(String name, String email) {}

Fertig. Konstruktor, Getter, equals(), hashCode(), toString() – alles automatisch dabei.

Wer heute über Java-Boilerplate lästert, hat Records noch nie benutzt.


Warum Java im Backend immer noch extrem stark ist

Java hat drei Dinge, die im Unternehmensumfeld mehr zählen als jeder Hype:

  1. Stabilität. Code von vor zehn Jahren kompiliert meistens noch. Abwärtskompatibilität wird in der Java-Welt ernst genommen.
  2. Das Ökosystem. Für praktisch jedes Problem existiert eine ausgereifte, gepflegte Bibliothek.
  3. Die JVM. Jahrzehntelang optimiert, hervorragendes Tooling, Profiling, Monitoring – die Plattform selbst ist ein Asset.

Dazu kommt: Der Arbeitsmarkt. Java-Entwickler findet man. Java-Projekte kann man in fünf Jahren noch besetzen.

Das klingt langweilig? Genau.

Langweilig ist ein Feature. Niemand will, dass die Zahlungsabwicklung „spannend“ ist.


Das eigentliche Powerhouse: Spring Boot

So wie Laravel für PHP ist Spring Boot der Grund, warum Java-Backend-Entwicklung heute produktiv ist.

Spring Boot nimmt dir ab:

  • Routing und REST-APIs
  • Dependency Injection
  • Datenbankzugriff (JPA/Hibernate)
  • Security und Authentifizierung
  • Konfiguration
  • Testing
  • Metriken und Health Checks

Ein REST-Endpoint sieht so aus:

@RestController
public class UserController {
 
    @GetMapping("/users")
    public List<User> users() {
        return userService.findAll();
    }
}

Kein Application Server, kein XML, kein Deployment-Drama. ./mvnw spring-boot:run und die Anwendung läuft.

Dazu Quarkus und Micronaut als moderne Alternativen, wenn Startzeit und Speicherverbrauch kritisch sind.


Java ist nicht perfekt

Natürlich nicht.

  • Die Sprache bleibt geschwätziger als Kotlin oder C#
  • null ist weiterhin fest eingebaut – Optional mildert das nur
  • Der Speicherhunger der JVM ist real, auch wenn er besser geworden ist
  • Manche Enterprise-Codebasen sind Museen aus AbstractSingletonProxyFactoryBeans

Aber: Die meisten dieser Punkte sind Altlasten von Projekten, nicht der Sprache. Ein frisches Spring-Boot-Projekt mit Java 21 fühlt sich erstaunlich modern an.


Für wen eignet sich Java heute?

Meiner Meinung nach besonders für:

  • Backend-Systeme mit langer Lebensdauer
  • Unternehmenssoftware und APIs
  • Systeme mit hohen Anforderungen an Stabilität und Wartbarkeit
  • Teams, die planbar wachsen müssen
  • Alles, wo in fünf Jahren noch jemand den Code verstehen muss

Für schnelle Prototypen oder kleine Skripte gibt es leichtere Werkzeuge. Aber sobald Software ernsthaft betrieben wird, spielt Java seine Stärken aus.


Mein persönlicher Eindruck

Java ist die Sprache, über die alle lästern und auf der trotzdem alle sitzen.

Die Abgesänge kommen meistens von Leuten, die moderne Java-Versionen nie angefasst haben – dieselbe Geschichte wie bei PHP. Records, Virtual Threads, Spring Boot: Das Setup ist produktiv, stabil und wird noch Jahrzehnte laufen.

Und am Ende zählt in echten Projekten genau das:

  • Wie stabil läuft die Software?
  • Wie schnell findet man Entwickler?
  • Wie wartbar bleibt das Projekt in 3–5 Jahren?