Sollte man Java nicht mehr lernen?

3 Antworten

Java ist immer noch super verbreitet, aber ja andere Sprachen werden auch populärer wie eben JS. Das sieht man jetzt auch ab und zu mal mit NodeJS und so weiter.

Wenn du ne Sprache mit großem Job Markt willst ist Java immer noch ne gute Wahl, Web ist immer JS ne gute Wahl. C# lohnt auch.

Wenn du privat coole Sprachen lernen willst lern so was wie Go, Rust. JS find ich da aber sogar auch cool. Vielleicht da auch C# je nach dem für was.

Wenn du an so was wie Android Interesse hast gibts halt auch noch Kotlin, aber Java finde ich einfach von der Sprache selber her eher lame.

Woher ich das weiß:Berufserfahrung – Software Entwickler / Devops

Ganz vorbei ist Java noch nicht, aber ich würde sagen, weil Oracle vor wenigen Jahren die Lizenzpolitik so geändert hat, dass man neu relativ schnell Abgaben bezahlen muss, wenn man für seine Firma Java-Applikationen entwickelt und betreibt, ist es nochmals ein Stück weniger beliebt geworden. Immer häufiger müssen Anwendungen webtauglich sein, und seit dem Aufkommen von Java haben die Webtechnologien technisch stark aufgeholt, so dass heute für viele Businessapplikationen Webapps auf Basis von z.B. PHP-Frameworks, Javascript (z.B. nodejs) etc. entwickelt werden. Das "write once run anywhere" verlagert sich immer mehr von der (fetten) Clientapplikation zur serverseitig laufenden (Web-)Applikation. Dort wo es wiederum vor allem um Geschwindigkeit oder Systemnähe geht, wird nach wie vor sehr gerne C/C++ für Clientapplikationen verwendet, aber immer häufiger in Verbindung mit Virtualisierung (Container Architekturen). Nicht jede Sprache ist für jede Verwendung gleich gut geeignet. Für Standalone-GUI-Applikationen, die auf jedem Client bei unterschiedlichen Architekturen lokal laufen sollen, ist Java nach wie vor sehr geeignet - allerdings glaube ich, dass diese Betriebsweise immer mehr verschwinden wird, auch bei grossen C/C++ GUI-Applikationen, wie z.B. Microsoft Office oder Adobe Photoshop. Wenn das Internet überall schnell und zuverlässig genug ist, werden vermutlich eines Tages Word und Excel nur noch als eine Art intelligente Webapplikation erhältlich sein. Google hat das mit seinen Office-Tools als Pionierarbeit urspr. vorgemacht, dass es prinzipiell möglich ist. Python ist eine Sprache, die ich für die Entwicklung grosser und professioneller GUI-Applikationen eher für ungeeignet halte. Sie wird zwar tatsächlich immer beliebter, wohl auch deswegen, weil sie out-of-the-box Objektorientierung mit sich bringt, eine grosse Community hat und viele 3rd party Python Module verfügbar sind. Nicht zuletzt dürfte Python so verbreitet sein, weil es im Machine Learning neben C/C++ (mit Tensorflow) wegen Libraries wie PyTorch (outdated) oder Keras (Tensorflow-Highlevel-API) sehr beliebt ist. JavaScript wiederum dominiert die Webapplikationsentwicklung immer stärker, mit z.B. nodejs auch serverseitig. Mit Python werden eher nicht im grossen Stil Webapplikationen entwickelt, auch wenn es Frameworks gibt, die aber insgesamt eher unbedeutend sind.

Du solltest Dir vor allem die Frage stellen: In welchem Bereich werde ich arbeiten?

Wenn Du Webentwickler sein wirst, dann würde ich auf JavaScript-basierte Technologien setzen und noch etwas PHP

Für hardwarenahe Anwendungen, wissenschaftliche Anwendungen, Anwendungen bei denen die Ausführungsgeschwindigkeit im Vordergrund steht, würde ich C/C++ vorziehen.

Bei Business-GUI-Clientapplikationen, wie es etwa bei Banken und Versicherungen eingesetzt werden, ist Java nach wie vor beliebt.

Python sehe ich im Bereich Machine Learning (mit C/C++ zusammen), im Bereich Systemmanagement (Hilfssscripts, Schnittstelle zu Anwendungen), Wissenschaft (z.B. numPy, sciPy) und Bildung (Schulen, Uni's zur Einführung in eine objektorientierte Sprache).

Alles ohne Anspruch auf Vollständigkeit.


reddox86  04.12.2021, 22:42

Dem kann ich nicht viel hinzufügen, gute Antwort.

Java hat seinen Mainstreamstatus verloren (wobei ja anscheinend durch Scala aktuell Java einen kleinen Hype erlebt - aber das bezieht sich eher auf die JVM und nicht die Sprache selbst - in dem Belangen melde ich aber auch absolutes Unwissen an ;-))

Wenn du Java lernen musst (Schule o.ä.) ist das aber kein Verlust, die Paradigmen lassen sich auf die anderen Sprachen übertragen.

Python halte ich zum lernen für zielführender (motivierender), es wird aber der Objekt-Orientierte Aspekt etwas im Hintergund gelassen (zudem kann das Duck-Typing zu Angewohnheiten führen, die bei anderen Sprachen Probleme machen).

Bei C++ kann der Maschinennahe Kontext (+der Aufwand Fremdfunktionalitäten einzubinden) zu mehr Schwierigkeiten sorgen.

Javascript bin ich selber relativ unbefleckt. Ich habe damit schon diverse Visualisierungen in kurzer Zeit zusammengeschustert was dank der bereits genannten Node.js recht trivial ist (bezogen auf meine Erfahrung mit Programmierung generell) und auf jeden Browser funktioniert. Das klingt erstmal phänomenal - zum Lernen einer Programmiersprache wirkt es mir aber ein wenig zu vermischt/verzeihend.

Zusammenfassend eignet sich Java (analog C#) schon zum lernen, bevorzugen würde ich Python (zum lernen)

Sowohl beruflich, als auch privat nutze ich (fast) exklusiv Python (Skripte, Automatisierung, Prototyping) und C++ (wo es auf Performance ankommt). Java liegt irgendwie dazwischen, es ist einfacher als C++ aber aufwändiger als Python. C++ ist viel performanter als Java/Python (sehe da Python etwas weiter vorne, vorsichtig formuliert sogar vor C++ z.B. im Kontext ML). Bei Python lege ich einfach eine Datei an und schreibe mein Skript und führe es aus, das kann mir weder C++ noch Java bieten.

0

Kann man so pauschal nicht sagen. Kommt immer auf den Einsatzzweck an den eine Entwicklung haben soll.