Java

Java Popularitäts-Index

Jedes Mal beim Start eines neuen Projekts muss man sich mit den Anforderungen und den Einschränkungen auseinandersetzen. Welchen Server sollte ich wählen, welche Art von Datenbank oder welche Programmiersprache wähle ich? Mit der letzten Frage möchten wir uns in diesen Beitrag beschäftigen. Es gibt verschiedene Arten und Methoden, die einem dabei unterstützen können, eine Entscheidung zu treffen, ob die gewählte Programmiersprache passt oder nicht. Legen wir los!

Denver Saldanha

Beliebtheit bei den Entwickler:innen

Wenn Stars oder Influencer etwas Interessantes tun, so fängt das Internet, Zeitschriften oder generell Menschen an darüber zu sprechen. Ähnlich ergeht es Programmiersprachen. Sobald eine Sprache interessante Züge aufweist, wie eine schöne Syntax, kurze Schreibweisen hat oder schnell ist, fangen Entwickler:innen an schnell darüber zu sprechen, zu diskutieren oder sogar für die Sache zu schwärmen und dem Gegenüber davon zu überzeugen und benutzen es wahrscheinlich auch für das nächste Projekt. Das alles begünstigt den Ruf der Programmiersprache. Die Website tiobe.com zum Beispiel analysiert Suchergebnisse mehrerer Suchmaschinen, wie Google oder Bing und versucht daraus einen Beliebtheitsgrad abzuleiten. [1] Einen ähnlichen Ansatz verfolgt pypl.github.io, indem es die Suchergebnisse für Tutorials in der Suchmaschine von Google dokumentiert. [2] redmonk.com macht es da bisschen anders, dort wird anhand Metriken die Aktivität von Beiträgen auf Stack Overflow mit Programmiersprachentags (z. B. Java, oder C#) gesammelt und GitHub Repositories gescannt, welche ebenfalls dieselben Tags aufweisen. [3]

Wenn eine Software einen schlechten Ruf hat oder hatte, ist es sehr schwer, diesen wieder loszuwerden. Es braucht viele Jahre, um die Wahrnehmung der Menschen über ein Produkt zu ändern, ein gutes Beispiel ist der neue Microsoft Edge Webbrowser. Er verwendet ebenso wie Google Chrome die Chromium Engine, wird aber aufgrund der früheren Implementierung und des Internet Explorers immer noch als langsam angesehen. Das Gleiche gilt für Java. Bevor die Just-in-Time (JIT) Kompilierung in Java eingeführt wurde, wurde der Code interpretiert und nicht kompiliert. Die Ausführungszeiten und die Startzeiten waren sehr langsam. Mit der Veröffentlichung von Java 1.2 war der JIT-Compiler nur eine geringe Verbesserung, aber er wurde in jeder neuen Hauptversion der folgenden Versionen weiterentwickelt. Heute zeigen Messungen, dass Java eine der schnellsten Programmiersprachen (Top 5) ist. [4] Trotzdem wird Java als langsam angesehen. Die Nachwirkungen sind auch bis heute noch spürbar. Dennoch ist die Popularität ausreichend, um eine der beliebtesten Programmiersprachen (Top 5) zu sein, basierend auf der Stack Overflow Umfrage von 2023. [5] Aber um fair zu sein, Java wird gleichzeitig geliebt und gehasst. [6] Leider sieht man das in der Umfrage ab 2023 nicht mehr, den „geliebt und gehasst“ wurde ersetzt mit begehrt und verehrt. [7] Außerdem ist die Popularität der Beiträge auf Stack Overflow in den letzten 10 Jahren gesunken. [8]

Arbeitsmarkt und Angebote

Eine weitere Metrik besteht darin, die Stellenangebote auf verschiedenen Websites zu zählen. Die Zählung der Angebote nach Programmiersprache zeigt, wie hoch die Nachfrage nach einer bestimmten Programmiersprache sein kann. Die britische Website itjobswatch.co.uk zeigt die Nachfrage nach Programmierung im Vereinigten Königreich. [9] Auch hier ist Java eine stark nachgefragte Sprache (Top 5). Auswertungen von Jobs auf LinkedIn und Indeed über codingdojo.com hat eine ähnliche Statistik, die Java ebenfalls in den Top 5 zeigt. [10]

Leider gibt es keine Daten darüber, wie viele Menschen diese Jobs tatsächlich annehmen. Einige der offenen Stellen könnten online sein, ohne dass sich tatsächliche Kandidaten auf diese offenen Positionen bewerben. Es wäre nützlich, diese Informationen so zu sehen, wie es eBay macht. Man kann nach erfolgreich abgeschlossenen Auktionen suchen, um den realen Wert eines Produkts zu sehen, in unserem Fall die Programmiersprache.

Persönliche Vorlieben

Schließlich kann man auch persönliche Vorlieben für die Wahl einer Programmiersprache haben. Ein:e Entwickler:in könnte mit einer Sprache sehr vertraut sein und ist daher effektiver, als für jedes anstehende Projekt eine neue Programmiersprache auszuwählen. Das könnte ein Grund sein, bei einer bereits persönlich bevorzugten Sprache zu bleiben. In meinem persönlichen Arbeitsumfeld nennen wir das die Komfortzone.

Gewohnheiten und Erfahrungen können starke Argumente für die Wahl derselben Programmiersprache sein, aber man sollte es nicht übertreiben. Zu lange bei derselben Sprache zu bleiben, kann das Gegenteil bewirken. Man kann blind für die Entwicklungen um einen herum werden und als die:der letzte ActionScript-Entwickler:in des ausgestorbenen Adobe Flash enden. [11] Versucht ab und zu, über bevorstehende Änderungen in einer euerer bevorzugten Programmiersprache zu lesen, schaut aber auch, was andere tun und bevorzugen.

Zusammenfassung

Alles in allem ist es nicht so einfach, die perfekte Programmiersprache für ein Projekt auszuwählen. Die Entscheidung kann von Anforderungen, Erfahrung, persönlichem Geschmack, offenen Marktsituationen oder anderen Faktoren abhängen. Solange man ein wenig recherchiert und offen für Entscheidungen ist, kann vermieden werden, eine Sprache zu wählen, die einen ausbremst oder sogar in zukünfitg in eine Sackgasse führt. Seid vorsichtig und neugierig zugleich!

Nachweise

[1] TIOBE Index – TIOBE
[2] PYPL PopularitY of Programming Language index
[3] The RedMonk Programming Language Rankings: January 2023 – tecosystems
[4] Original work in SLE’17 (google.com)
[5] Stack Overflow Developer Survey 2023
[6] Stack Overflow Developer Survey 2022
[7] Stack Overflow Developer Survey 2023
[8] Stack Overflow Trends
[9] Programming language trends | IT Jobs Watch
[10] 10 Top Programming Languages to Learn in 2023 (In-Demand) (codingdojo.com)
[11] Adobe Flash Player End of Life

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert