JavaRush /Java-Blog /Random-DE /Kaffeepause Nr. 68. Eine ehrliche Meinung über Java und s...

Kaffeepause Nr. 68. Eine ehrliche Meinung über Java und sein Ökosystem. Drei neue Java-Tools, die Sie im Jahr 2021 in Betracht ziehen sollten

Veröffentlicht in der Gruppe Random-DE

Eine ehrliche Meinung über Java und sein Ökosystem

Quelle: Dev.to Okay, ich gebe zu, dass meine Hauptsprache C# ist. Aber das ist meine unvoreingenommene Meinung über Java und das umgebende Ökosystem. Ich habe den Bash-Befehl in Java ziemlich oft verwendet und dabei alle seine Mängel festgestellt. Java hat zum Beispiel keine Eigenschaften, es hat nativ keine Ereignisse, keine Strukturen, keine Operatorüberladung und bis Java 10 gab es keine Inferenz, also gibt es keine „Var“. Alles, was es in C# gibt! Außerdem habe ich Bash für Java verwendet, da LINQ, Var und Enums fehlen. Und doch schreibe ich ziemlich viel in Java, vor allem wenn ich Anwendungen für Android erstelle, aber auch für andere Dinge. Mein erstes Projekt war auch in Java! Also musste ich am Freitagabend aus Dringlichkeit mehrere Stunden am Stück in Java schreiben. Und raten Sie mal, was ich entdeckt habe? STROM! Kaffeepause Nr. 68.  Eine ehrliche Meinung über Java und sein Ökosystem.  Drei neue Java-Tools, die Sie im Jahr 2021 in Betracht ziehen sollten – 1Anscheinend hat Java 8 Threads eingeführt! Und ich hatte keine Ahnung davon! Für diejenigen unter Ihnen, die es nicht wissen: Streams ist eine Java-Implementierung von LINQ. Ich habe auch entdeckt, dass Java 10 über Typinferenz verfügt, also hat Java jetzt eine var-Funktion! Ich kann nicht glauben, wie veraltet mein Wissen ist, aber ehrlich gesagt gab es dafür einen Grund. Diese beiden Dinge haben in meinem Denken einen großen Unterschied gemacht! Wussten Sie, dass Java immer nach Ausnahmen sucht, C# jedoch nicht? Ich gebe zu, dass ich diese Funktion in C# wirklich vermisse! Ja, es gibt keine Strukturen, Eigenschaften usw., aber verdammt, es ist elegant! Ich denke, dass Java vom Design her den Entwickler dazu zwingt, robustere Anwendungen zu schreiben. In der .NET-Welt hingegen liegt dies weitgehend im Ermessen des Programmierers. Einige Entwickler mögen diese Einschränkungen, während andere die Freiheit bevorzugen. Während beide Sprachen recht sicher sind, hat Java offensichtlich einen leichten Vorteil. Warum bevorzugen große Unternehmen Java? Ich glaube, ich kenne jetzt die Antwort! Was mich am meisten frustriert, ist, dass ... in den meisten Codebeispielen, die Sie im Internet sehen, diese erweiterten Funktionen nicht immer verwendet werden ... Ich denke, wenn ein neuer Java-Entwickler überall in der Codebasis „var“ geschrieben sieht , er wird verrückt! Was ist mit Streams? Was sind Streams? Java-Entwickler lieben die For-Schleife! Tatsächlich sind sogar foreach-Schleifen in der Java-Welt ziemlich selten (und vielleicht gibt es dafür einen Grund: Die For-Schleife ist viel optimierter). Aber das sind keine schlechten Eigenschaften! Ich gehe noch einen Schritt weiter und sage, dass diese Funktionen erstaunlich sind! Es schmerzt mich wirklich, wenn ich Android-Apps schreibe und merke, dass in der Android-API fast nirgendwo Aufzählungen verwendet werden! Und das ist fair, denn Android wurde vor vielen Jahren geschrieben. Was mich am meisten irritiert, ist, dass ich jedes Mal Konstanten verwenden muss, wenn ich die Funktion „Aktivität für Ergebnisse“ in Android verwenden muss, etwa so: int PICK_IMAGE_FROM_GALLERY = 3000 Bruder, das ist verrückt! Und doch haben es Menschen auf der ganzen Welt akzeptiert. Und sogar ich. Java fehlt auch die native Ereignisimplementierung! Wenn es nur Ereignisse und Delegaten wie C# hätte ... (Hey, Schöpfer der Java-Sprache, wenn ihr das lest, müsst ihr Ereignisse hinzufügen! Und wenn ihr sie bereits habt oder in Arbeit seid, lasst es mich wissen ). Jetzt erzähle ich Ihnen, was der größte Fehler im Java-Ökosystem sein könnte. DOKUMENTATION!!! Die überladene und wenig hilfreiche Dokumentation auf der Oracle-Website sieht auf dem Stand von 2007 dumm und veraltet aus. Es gibt nicht einmal immer Codebeispiele. Wenn Sie anfangen, nach einer relativ ungewöhnlichen Funktion oder API-Methode zu suchen, werden Sie eine langweilige Definition, Deklaration, Argumente finden, zu welchem ​​Paket sie gehört – und das war’s. Ich finde das absurd. Finden Sie das nicht absurd? Keine Codeschnipsel? Daher müssen wir Entwickler uns stark auf Foren wie StackOverflow oder andere Programmierwebsites wie TutorialsPoint verlassen ... Manchmal sind sie mit guten Codebeispielen, die diese Funktion zeigen, wirklich hilfreich, aber manchmal sind sie nicht so sehr nützlich. Ich empfehle, die Dokumentation von Microsoft in C# mit der Dokumentation von Oracle in Java zu vergleichen ... Himmel und Erde! Glauben Sie mir nicht? Schauen Sie nach: Oracle und Microsoft. Die Dokumentation auf der Microsoft-Website sieht wunderschön aus! Sie haben sogar einen dunklen Modus! Wir Entwickler sind verrückt nach dem Dark Mode. Was ist mit der Oracle-Dokumentation? Wie gesagt, es blieb im Jahr 2007. Vielleicht gab es damals noch keinen Dark Mode? Ich möchte also sagen, dass Java großartig ist! Diese Sprache leidet jedoch stark unter veralteter Dokumentation. Dabei handelt es sich größtenteils um alte Dokumente und alte Handbücher, die dringend benötigte neue Funktionen wie Threads, Variablen und Aufzählungen nicht hervorheben. Heutzutage sagen die Leute, dass Java allmählich veraltet und durch Kotlin ersetzt wird, aber ich bin anderer Meinung. Denn selbst wenn das stimmt, wird er sie noch lange nicht ersetzen. Das wird viele, viele Jahre dauern. Erinnern Sie sich, dass Scala auch versucht hat, es zu ersetzen? Was ist also dabei herausgekommen? Java beherrscht immer noch das gesamte JVM-Ökosystem. Obwohl ich zugebe, dass sich Scala vor allem in der Funktionalität stark von Java unterscheidet. Nun endlich ... noch etwas, das mich mehr Emotionen hervorruft als alles andere in der Java-Welt. Dies ist der Erhalt des JDK. Warum ist es so schwierig, das JDK herunterzuladen? Ich meine damit, dass ich, wenn ich ein JDK benötige, durch eine einfache Google-Suche auf die Oracle-Website weitergeleitet werde. Dort gehe ich hin und finde die JDK-Version, die ich brauche. Bisher ist alles relativ einfach, aber um es herunterzuladen, muss ich mich registrieren. Warum sollte ich ein Konto bei Oracle erstellen und mich dann jede Woche um deren E-Mails kümmern, anstatt nur das JDK herunterzuladen? Bedenken Sie, dass Java vom ersten Tag an Open Source ist! Im Gegensatz zu C#, das erst 2015 Open Source wurde. Ich bin also schon frustriert und gehe in den Google-Suchergebnissen auf die zweite Website. Es verweist mich auf die OpenJDK-Site. Dort finde ich das JDK und klicke auf „Herunterladen“. Aber (Überraschung!) Sie bieten Links zu JDK-Implementierungen von anderen Websites! Unter den Sites gibt es dieses verdammte Oracle, aber es gibt auch einen Link zur Red Hat-Site. Ja, Red Hat ist großartig. Es ist einer der Pioniere der Open-Source-Unternehmen weltweit. Okay, ich gehe auf ihre Website! Ich werde es von dort herunterladen! Ich klicke auf diesen Link, finde die JDK-Version, nach der ich suche, und wissen Sie was? Da muss ich mich auch anmelden... (dramatische Pause) Das ist einfach traurig... Scheiß drauf! Was ist los mit diesen Leuten? Schließlich gebe ich nach und installiere Chocolatey (es ist wie apt-get, aber für Windows. Ich denke, es ist der erste weit verbreitete und verwendete Paketmanager für Windows). Nach all dem muss ich einen einfachen Befehl in PowerShell schreiben, etwa: choco install jdk-1.8. Und ich tue es! (Wenn Sie ein C#-Entwickler sind, wissen Sie, wie einfach es ist, .Net SDK mit nur 2-3 Klicks zu erhalten, ohne Registrierung oder ähnliches). Um meine lange Schimpftirade abzuschließen: Java ist eine großartige Programmiersprache. Es ist schön, zuverlässig und verfügt (meiner Meinung nach) über die beste IDE der Welt – die bekannte IntelliJ IDEA von JetBrains. Darüber hinaus verfügt Java über eine sehr hilfreiche Community und ein großes und vielfältiges Ökosystem. Und ich sage das – ein C#-Entwickler ... Aber wir müssen die Dokumentation aktualisieren. Codebeispiele. API. Wir müssen es einfacher machen, das JDK zu bekommen. Insgesamt bewegt sich Java in die richtige Richtung, seine Popularität mag in letzter Zeit etwas zurückgegangen sein, aber das wird Java nicht verschwinden lassen. Seit vielen Jahren steht sie ganz oben auf der Liste der besten Sprachen der Welt! Ich verwende ständig Java und werde dies auch in Zukunft tun.

Drei neue Java-Tools, die Sie im Jahr 2021 in Betracht ziehen sollten

Quelle: OpenSource Trotz der Popularität von Python, Go und Node.js, die in den letzten Jahren aktiv zur Umsetzung von Projekten im Zusammenhang mit künstlicher Intelligenz, maschinellem Lernen und Kubernetes eingesetzt wurden, spielen Java-Technologien immer noch eine Schlüsselrolle bei der Entwicklung von Unternehmensanwendungen. Laut Developer Economics gab es im dritten Quartal 2020 weltweit 8 Millionen Enterprise-Java-Entwickler. Kaffeepause Nr. 68.  Eine ehrliche Meinung über Java und sein Ökosystem.  Drei neue Java-Tools, die Sie im Jahr 2021 in Betracht ziehen sollten – 2Die Programmiersprache Java gibt es schon seit über 25 Jahren und sie wird ständig weiterentwickelt. Es entstehen neue Tools und Frameworks, die Ihre Bewerbungen und Ihre Karriere stärken können. Die überwiegende Mehrheit der Java-Plattformen wurde entwickelt, um lang laufende Prozesse mit dynamischem Verhalten zu implementieren, die für die Ausführung auf einem Server oder virtuellen Maschinen konzipiert sind. Dies änderte sich 2014 mit der Einführung von Kubernetes-Containern. Die größten Herausforderungen bei der Ausführung von Java auf Kubernetes sind nun: Optimierung der Anwendungsleistung durch Reduzierung des Speicherbedarfs, Beschleunigung der Start- und Antwortzeiten und Reduzierung der Dateigrößen.

Drei neue Java-Frameworks und -Tools

Java-Entwickler sind immer auf der Suche nach den einfachsten Möglichkeiten, beliebte Tools und Open-Source-Projekte in ihre Java-Anwendungen zu integrieren. Neue, leistungsstarke Tools steigern die Entwicklungsproduktivität deutlich und ermutigen mehr Unternehmen und einzelne Entwickler, den Java-Stack zu nutzen. Heute sprechen wir über drei neue Java-Frameworks und -Tools:

Quarkus

Quarkus ist für die Entwicklung von Cloud-Microservices und serverlosen Anwendungen konzipiert. Es verfügt über schnelle Startzeiten, eine kleine RSS-Größe (Memory Resident Set) und eine hohe Speicherdichte in Container-Orchestrierungsplattformen wie Kubernetes. Laut dem neunten Jahresbericht von JRebel stieg die Quarkus-Nutzung unter Java-Entwicklern um 6 % (weniger als 1 % im Jahr zuvor). Micronaut und Vert.x wuchsen auf 4 % bzw. 2 % (letztes Jahr – um etwa 1 %).

Eclipse JKube

Mit Eclipse JKube erstellen Java-Entwickler Container-Images auf Basis cloudbasierter Java-Anwendungen mithilfe von Docker-, Jib- oder Source-To-Image-Build-Strategien. Das Tool generiert außerdem Kubernetes- und OpenShift-Manifeste zur Kompilierungszeit und verbessert die Erfahrung mit Debugging-, Überwachungs- und Protokollierungstools.

Mikroprofil

MicroProfile löst die Probleme, die mit der Optimierung der Unternehmensarchitektur von Java-Microservices verbunden sind, ohne neue Frameworks einzuführen oder ganze Anwendungen umzugestalten. Darüber hinaus entwickeln sich MicroProfile-Spezifikationen (z. B. Health, Open Tracing, Open API, Fault Tolerance, Metrics, Config) im Einklang mit der Jakarta EE-Implementierung weiter.

Abschluss

Es ist schwer zu sagen, welche Java-Frameworks oder -Tools für Java-Entwickler in Unternehmen am besten geeignet sind. Solange es Möglichkeiten gibt, den Java-Stack zu verbessern und das Unternehmenswachstum zu beschleunigen, können wir mit der Entwicklung neuer Frameworks, Tools und Plattformen rechnen. Probieren Sie sie aus, um zu sehen, ob sie Ihre Java-Anwendungen im Jahr 2021 verbessern können.
Kommentare
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION