Java ist eine weit verbreitete objektorientierte Programmiersprache und Softwareplattform. Es läuft auf Milliarden von Geräten, darunter Notebooks, Mobilgeräte, Spielekonsolen und viele andere.
Solche Fähigkeiten haben ihren Preis. Java kann mit einer langwierigen, komplizierten Syntax schwer zu erlernen sein. Es ist statisch typisiert, was weniger bequem sein kann. Und obwohl es plattformunabhängig ist, macht der Aufstieg der Cloud-Computing-Plattform die Unabhängigkeit weniger zu einem Gewinn.
Dies sind nur einige der Gründe, warum Java möglicherweise in Ungnade fällt.
1. Java wird weniger populär
In erster Linie scheint Java langsam an Popularität zu verlieren. Jahrelang war es so eine der besten Programmiersprachen zum Lernen, aber es ist jetzt nicht mehr im Trend. Das bedeutet, dass Entwickler im Laufe der Zeit immer weniger neue Anwendungen in Java schreiben werden.
Dieser Trend impliziert, dass Java irgendwann verschwinden wird. Unternehmen auf der ganzen Welt werden weiterhin Java-Programmierer einstellen, um ältere Codebasen zu pflegen, aber das wird nicht ewig dauern.
Wenn Sie Ihre Karriere jedoch auf die Entwicklung neuer Dinge konzentrieren möchten, anstatt bestehende Programme zu pflegen, ist Java möglicherweise nicht die beste Wahl für Sie.
Programmiersprache | Mai 2022 |
---|---|
Python | 1 |
C | 2 |
JavaScript | 3 |
C++ | 4 |
C# | 5 |
Visual Basic | 6 |
Java | 7 |
Assemblersprache | 8 |
SQL | 9 |
PHP | 10 |
2. Java ist nicht einfach
Java mag leicht zu erlernen sein, aber es ist nicht einfach. Die Sprache ist leicht zu erlernen, da Java-Code einfach zu schreiben, zu organisieren und zu kompilieren ist. Aber es ist nicht einfach, weil in Java geschriebener Code tendenziell ausführlicher und langwieriger zu schreiben ist.
Sie müssen es auch kompilieren, was Java viel weniger bequem macht als Sprachen wie Python. Wenn Sie also ein Anfänger sind, der zum ersten Mal Programmieren lernt, ist Java keine gute Sprache für den Anfang.
Wenn Sie ein Profi sind, der einfachen, eleganten Code produzieren und schnell bereitstellen möchte, ist Java ebenfalls nicht die ideale Wahl.
3. Getter und Setter
Getter und Setter sind fast ein obligatorischer Teil der Verwendung einer Sprache, und viele Frameworks ermutigen zu ihrer Verwendung. Die Getter und Setter von Java können jedoch unnötig ausführlich sein.
Die Verwaltung von mit Java-Gettern und -Settern dekoriertem Code ist höllisch und kompliziert. Das Fehlen einer sinnvollen Lösung für das Problem der Getter und Setter ist nur die Spitze des Eisbergs.
öffentlichKlasseFahrzeug{
Privatgelände Schnur Farbe;// Getter
öffentlich Schnur getColor(){
zurückkehren Farbe;
}
// Setzer
öffentlichLeeresetFarbe(Zeichenkette c){
Das.farbe = c;
}
}
4. Kein syntaktisches Icing
Sie arbeiten an einer Sammlung. Sie wollen den ersten Artikel. Was machst du? Natürlich rufen Sie die Methode auf, anstatt das Common zu verwenden [] Operator. Alles nur, weil Sie Operatoren nicht überladen können.
Für praktisch jede Operation müssen Sie einen wortreichen Methodennamen verwenden, selbst wenn ein aus einem Zeichen bestehender Operator ausreichen würde.
Java unterstützt das Konzept; Mit der Sprache können Sie Zeichenfolgen mit dem verketten + Betreiber zum Beispiel. Es lässt Sie, den Programmierer, einfach nicht dasselbe tun.
5. Deklarieren der Ausnahmen, die eine Methode auslösen kann
Java erfordert, dass Sie die Ausnahmen deklarieren, die eine Methode auslösen kann. Es scheint nützlich zu sein, nicht wahr? Durch die Verwendung einer bestimmten Methode wissen Sie, was Sie erwartet.
Das Problem ist, dass der Code ein lebender Organismus ist, und es kommt vor, dass die von Ihnen verwendete Methode anfängt, mehr Ausnahmen auszulösen. Was wird dann passieren? Nun, Ihr Code wurde gerade nicht mehr kompiliert.
Sie müssen die Situation handhaben oder der Throw-Liste eine Ausnahme hinzufügen. Nehmen wir an, dass sich die von Ihnen verwendete API nicht ändert. Es gibt so etwas wie RuntimeException in Java. Wenn Ihre Methode diese Ausnahme oder einen ihrer Nachkommen auslösen kann, müssen Sie sie deklarieren.
Die Ausnahmen von Java können viele Probleme bei der Codewartung mit sich bringen.
// Java-Programm, das die Verwendung von throw demonstriert
KlasseWerfenAußer
{
statischLeere Spaß()
{
versuchen
{
Wurfneu NullPointerException("Demo");
}
fangen (NullPointerException e)
{
System.out.println("Im Spaß gefangen ().");
Wurf e; // Erneutes Auslösen der Ausnahme
}
}
öffentlich statischLeere hauptsächlich(Schnur Argumente[])
{
versuchen
{
Spaß();
}
fangen (NullPointerException e)
{
System.out.println("In der Hauptsache erwischt.");
}
}
}
6. Komplizierte IDEs
Java-Programmierer verwenden häufig eine IDE wie Eclipse oder IntelliJ. Diese IDEs sind leistungsstark, aber die Interaktion mit ihnen ist komplex, insbesondere für Anfänger oder fortgeschrittene Entwickler. Sie müssen viel Mühe darauf verwenden, Ihre IDE in- und auswendig zu lernen, damit sie produktiver und weniger schmerzhaft für Sie ist.
7. Plattformunabhängigkeit ist 2022 weniger wichtig
Die Tatsache, dass Java sehr plattformunabhängig ist, spielt heute wohl weniger eine Rolle als noch vor 10 oder 20 Jahren.
Der Grund dafür ist, dass wir in einer softwaredefinierten Welt leben. Heutzutage machen es virtuelle Maschinen, Container und Cloud-Dienste einfach, eine Anwendung überall auszuführen, ohne sich Gedanken über die zugrunde liegende Umgebung machen zu müssen.
Mit anderen Worten, Sie müssen Ihren Code nicht ändern, damit Ihre App dort funktioniert, wo Sie sie benötigen. Sie können stattdessen die Hosting-Umgebung ändern.
Das soll nicht heißen, dass die Portabilität von Anwendungen keine Rolle mehr spielt. Es ist einfach nicht mehr so wichtig wie früher, und das macht Java im weiteren Sinne etwas weniger wichtig.
8. Statische Eingabe
Java führt während der Kompilierzeit eine Typprüfung durch. Das bedeutet, dass Sie den Typ jeder Variablen zur Kompilierzeit deklarieren müssen. Dasselbe gilt für Sprachen wie C und C++, aber andere Sprachen wie Scala und Haskell bieten eine Art Typrückschluss.
Bei der statischen Typisierung dürfen Variablen im Allgemeinen nicht den Typ ändern. Dies macht die Java-Syntax etwas kompliziert, insbesondere wenn Code für ein großes Projekt geschrieben wird.
Viele Programmierer bevorzugen dynamische Programmierung wobei die Typüberprüfung zur Laufzeit erfolgt. Das bedeutet, dass sich der Typ einer Variablen im Laufe ihrer Lebensdauer ändern kann.
Lernen Sie neue Programmiersprachen
Es ist nicht so, dass Java für nichts gut wäre, aber seine Syntax ist klobig und dem Lesen von Code nicht förderlich. Das Abhängigkeitsmanagement von Java ermöglicht Missbrauch und führt zu schwer zu erkennenden Fehlern.
Die Technologie ändert sich ständig und als Entwickler ist es immer nützlich, mit neuen Programmiersprachen auf dem Laufenden zu sein. Was heute in Mode ist, kann schon bald von gestern sein.