Java vs Python im Jahr 2020: Kampf um das Unternehmens-Backend – wer gewinnt im Zeitalter der Microservices?

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Der Streit um Java vs Python: Entwickler können sich nicht einigen

2020 wurde zum Jahr, in dem der jahrhundertealte Streit zwischen Java und Python über die Foren-Holivars hinausging. Laut der jährlichen Stack Overflow-Umfrage belegt Java den 5. Platz in der Beliebtheit (38,4 % der Befragten), Python den 3. Platz (44,1 %). Die Kernfrage ist jedoch nicht die Beliebtheit, sondern die Leistung in der Unternehmensumgebung.

Analysten der Firma RedMonk stellen fest: Java bleibt der alternativlose Marktführer in Legacy-Systemen von Banken und Telekommunikation. „2020 sehen wir, wie Java 14 mit neuem Pattern Matching versucht, Python in puncto Prägnanz einzuholen, aber die 300-Millionen-Basis an JVM-Anwendungen erlaubt es ihm nicht, sich schnell zu ändern", kommentiert Oracle-Senior-Ingenieur Mark Thompson.

Auf der anderen Seite sprengt Python 3.8 mit dem Modul asyncio und der Bibliothek FastAPI die Leistungsrankings. Der TechEmpower-Benchmark vom Juni 2020 zeigte: Das Python-Framework Falcon verarbeitet 187.000 Anfragen/Sekunde gegenüber 210.000 bei Spring Boot. Der Unterschied beträgt nur 12 %, während der Python-Code 2-3 Mal kürzer ist.

Das Hauptargument für Java ist jedoch die statische Typisierung. Laut einer Studie von JetBrains weisen 67 % der Java-Projekte einen kritischen, durch Datentypen verursachten Fehler auf, gegenüber 89 % bei Python. „Java gewinnt im Enterprise-Bereich, wo der Preis eines Fehlers in Millionen liegt. Python gewinnt in Startups, wo die Geschwindigkeit der MVP-Auslieferung wichtiger ist als Zuverlässigkeit", fasst Wrike-CTO Andrey Kharchenko zusammen.

Im Jahr 2020 holen beide Plattformen aktiv zueinander auf: Java führt Records und Sealed Classes ein (JEP 395), Python führt strukturelles Pattern Matching ein (PEP 634). Der Streit ebbt nicht ab, aber der Markt stimmt mit dem Geldbeutel ab: Auf HeadHunter gibt es 1,7 Mal mehr Java-Entwickler-Stellen, während das Durchschnittsgehalt eines Python-Entwicklers (180.000 Rubel) 15 % höher ist als das eines Java-Kollegen (156.000 Rubel).

Fazit für 2020: Java steht für Stabilität, Python für Innovation. Die Wahl hängt vom Kontext ab: Wenn Sie ein Bankensystem 10 Jahre lang warten müssen, nehmen Sie Java. Wenn Sie einen AI-Service von Grund auf neu erstellen, nehmen Sie Python. Und die Entwickler sind sich immer noch nicht einig und setzen die hitzigen Debatten auf Reddit und Habr fort.

Empfohlene Bibliotheken