Ist Java tod?

... komplette Frage anzeigen

13 Antworten

Also wer ernsthaft Informatik studieren will, sollte nie auf nur 1 Sprache setzen!

Jede Sprache hat ihre Vor- & Nachteile!

Zwar stimmt es, dass alle guten Browser JAVA (nicht verwechseln mit JavaScript!) nicht mehr unterstützen, da es eine Vermischung aus "Sicherheitsbereich Browser" und "alles können und dürfen Java" ist (wer will schon gern auf fremde Seiten gehen, die im Hintergrund Schreib- & Löschrechte auf die lokale Festplatte einholen können).

Aber JAVA ist in der Verbreitung weiterhin weit vorn!

Bei der Berechnungs-Geschwindigkeit extrem großer Zahlen liegt natürlich c++ unschlagbar vorn (AVX-Befehle bis 256 Bit, Hardware-nah...; der Weltrekord an Pi-Nachkommastellen auf einem Home-PC wäre ohne c++ undenkbar gewesen!)

Aber lokales JAVA ist im direkten Vergleich mit c# und Zahlen mit mehr als 2000 Stellen bei vielen Befehlen (pow, Java.math.BigInteger.nextProbablePrime() ) schneller als c# !

Was viele nicht wissen: es gibt auch JAVA-Compiler die eine EXE erzeugen.

c# ist dann gut, wenn man mal schnell Programme schreiben will, die viel mit wenigen Befehlen können sollen (Datenbank, Sprachausgabe, bunte Flächen, schräge Schrift, Abfangen von möglichen Fehlern) aber nicht besonders schnell sein müssen. Setzt aber viel voraus (Windows Betriebssystem, wo alles fertig eingerichtet ist). Wer weit in die Zukunft schaut, darf die totale Abhängigkeit nicht vergessen: GB weise .Net (Framework usw.) ständige Updates, sich ständig ändernde Sicherheitsregeln und ständig ändernde Schnittstellen. Man weiß nie, was alles nach einem Update oder einer neuen Framework-Version noch funktioniert und was bei welchem Befehl über das Internet läuft! (viele Befehle funktionieren nicht mehr, wenn man eine EXE aus einem Netzwerkpfad aufruft; ActiveX, was wieder ein ActiveX aufruft, zeigt anderes Verhalten...)

Ich nutze auch gern c# als Rumpf, wobei schnelle Funktionen in eine DLL ausgegliedert werden, die mit c++ optimiert sind. So hat man beides: schnell mal einfach was an der Oberfläche oder Sprachausgabe ändern und komplizierte Berechnungen an die superschnelle DLL übergeben.

Für Homepage ist das Zusammenspiel von JavaScript (sehr sicher) und php (Serverseitige Teile wie Datenbanken; bcmath für extrem große Zahlen) ideal.

Oft hat man auch den bereits fertigen Code vorliegen und will nur eine winzige Änderung -> dann ist es einfacher die Originalsprache zu verwenden als das ganze Projekt komplett umzuschreiben.

Im Bereich der Programmierung für mobile Endgeräte ist Java nach wie vor seit weit oben. Und es ist auf Sicht der nächsten Jahre auch nicht davon auszugehen, dass sich das ändert. Denn gerade in diesem Bereich spielt Java seine Stärken aus, nämlich plattformunabhängig ausführbarer Code und gute Kapselung von Aufgaben.

Im Bereich der Serverprogrammierung scheint mir Java tatsächlich auf dem Rückzug zu sein, und das ist auch gut so. Denn in diesem Bereich bringt die Abstraktionsebene mit interpretiertem Bytecode nicht viel, und die diversen Frameworks, mit denen gern gearbeitet wird/wurde, sind völlig überzüchtet. Ergebnis waren unglaublich viele schlechte, überladene Programme, und sehr viele gescheierte Projekte, weil den Entwicklern die Komplexität über den Kopf gewachsen ist.

Dementsprechend scheint im Serverbereich der Trend derzeit in zwei Richtungen zu gehen: 1. für rechenintensive/performancehungrige Software geht man (wieder) verstärkt auf C++ und ähnliches, und 2. für "einfache" Aufgaben, wo schnelle Wartbarkeit ein Kriterium ist und Transaktionsaufwände nachrangig sind, setzen immer mehr Leute auf Skriptsprachen. Das ist zwar auch alles andere als unproblematisch, weil da gern ziemlicher Spaghetticode bei rauskommt, aber wenigstens gehen die Entwicklungskosten runter, weil man schnell was zusammenschmeißen kann. Etliche Unternehmen stellen sich da nun auf den Standpunkt "schnell und billig bauen, und sobald es Ärger macht, wird's halt eingerissen, war dann ja nicht allzu teuer".


Meine Freunde haben mir genau das gleiche gesagt! Das war allerdings schon 1998, kurz nachdem ich mit Java angefangen hatte.

Im Nachhinein muss man wohl sagen, dass sich meine Freunde geirrt haben. Und ich vermute, dass das auch für deine Freunde gilt. :)

So, wie es im Moment aussieht, wird uns Java wohl noch locker einige Jahrzehnte erhalten bleiben. Also lerne diese Sprache ruhig.

Und, ohne deinen Freunden nahe treten zu wollen, muss man leider sagen, dass ihre Aussagen so klingen, als seien sie selber noch blutige Anfänger. Das ist natürlich an sich überhaupt nichts Schlimmes (jeder hat schließlich mal irgendwo angefangen), aber auf diesem Level sollte man sich normalerweise mit "Ratschlägen" zurück halten. :)

Also dann, viel Erfolg! ;)

PS: Da eine Sprache nur ein Werkzeug ist, wählt man diese normalerweise anhand der Anforderungen, und nicht nach dem Geschmack der Kumpels, aus. :)

PPS: C++, Python, JavaScript und C# sind auch sehr schöne Sprachen! Du kannst du ja zusätzlich auch irgendwann mal lernen, aber im Moment spricht wirklich GAR NICHTS dagegen, dass du mit Java anfängst. Lass dich von deinen Freunden nicht verunsichern ... die kochen auch nur mit Wasser. :)

Java ist noch lang nicht tot. Java ist unter den top 3 Programmiersprachen so weit ich das im Kopf hab.

Java ist so extrem weit verbreitet, das glaubst du kaum (Android aber auch am PC und auf diversen anderen elektronischen Geräten).

Lustig, das er dir C# vorgeschlagen hat... Das ist nichts anderes, als der Microsoft Klon von Java, womit es WEIT unter Java in der Anwendung liegt.

Java ist definitiv nicht Tod. Wenn es um den Einstieg in die objektorientierte Programmierung geht, nutzen viele Unis Java, z.B. die TU Darmstadt.
Java ist plattformunabhängich, wodurch es sich durchaus eignet mal einen näheren Blick drauf zu werfen.

Außerdem, wie der Herr unter mir schon sagt ist Java sehr beliebt und du weist ja: Never change a running system!

Kommentar von Palladin007
25.09.2016, 20:14

C# wurde nicht nur von Java inspiriert, sondern auch von Haskell, C/C++ und Delphi.

Übrigens hat C# Java mittlerweile überholt, was Features und Flexibilität angeht. Und C# ist auch auf dem Weg platformunabhängig zu werden - wobei, nicht C# sondern das .NET-Framework. Das ganze nennt sich .NET Core, wird bei ASP.NET bereits eingesetzt

Was die Unis angeht:
Mir hat mal ein Berufsschullehrer gesagt, dass er kaum Zeit hat, sich in neue Technologien einzuarbeiten. Er muss sich ja um die Schüler kümmern und der Job hört nach Schluss-Klingeln nicht auf. Und dann will er noch Zeit für seine Familie haben.
Das dürfte bei Professoren nicht viel anders sein.
Meine Theorie daher: Die können größtenteils Java einfach besser als C# was natürlich auch positiv für die Studenten ist, weshalb die Unis da Rücksicht nehmen. Mein Mitbewohner hat in der Uni Java gelernt, ist mittlerweile aber auch auf C# umgestiegen.

2

Wichtiger ist, dass du aus jeder "Gruppe" mindestens eine Sprache kennst. Für OOP z.B. Java, oder besser c++, funktionale Programmierung z.B. Haskel, systemnahe Programmierung asm/c.

Java ist nicht tot, ganz im Gegenteil. Es gibt viele offene hochbezahlte Java Stellen. Java wird hier auch als "Highend" Programmier Sprache bezeichnet.

Dann haben deine Freunde einfach keine Ahnung.

Schau bspw. mal auf Stackoverflow, hier hat Java mit die meisten offenen gut bezahlten Stellen:

http://stackoverflow.com/jobs?sort=i&searchTerm=java

Und Javascript ist keine Programmiersprache, sondern eine Skriptsprache.

Jedoch werden Fullstack Javascript Entwickler sicher sehr gefragt sein auch in der Zukunft im Bezug auf Single Page Applications, Realtime Applications auf Basis von Node.js, Sockets, Angular / React / Vue usw.

Eine Auswahl wären hier im Prinzip Java, C++, Python, Ruby, PHP usw.

Jedoch hat das Informatik Studium in der Regel erst einmal nichts mit der Programmierung zu tun, sondern ist sehr theoretisch.

Und um eine Sprache zu lernen benötige ich kein Studium, die wahren Entwickler sind die Autodidakten ;)

Kommentar von Mikkey
25.09.2016, 14:58

Und Javascript ist keine Programmiersprache, sondern eine Skriptsprache.
Eine Auswahl wären hier im Prinzip Java, C++, Python, Ruby, PHP usw.

Ach ja, Python und PHP sind keine Skriptsprachen?

1
Kommentar von SirNik
25.09.2016, 14:59

Auch eine Skriptsprache ist eine Programmiersprache, sei hier noch angedeutet/verbessert

1

Finde ich nicht, ich finde Java immer noch relevant und es wird immer noch überall gelehrt. Java gibt auch einen guten Grundbaustein für all diese Sprachen, außerdem ist Java universeller. 

Laut Index ist Java noch ganz weit oben

Meine Meinung ist aber, dass das eher ein Nachhall ist. Viele Unternehmen haben Software, die in Java geschrieben wurde, die kann natürlich nicht mal eben portiert werden. Diese Unternehmen haben auch ein Entwickler-Team, das sich mit Java auskennt, für andere SPrachen sind eventuell Schulungen nötig, die Geld kosten.

Ich denke, aber dass sich das in den nächsten Jahren immer mehr auflösen wird, besonders da Java seinen größten Vorteil gegenüber C#, die Platformunabhängigkeit, verliert. Das ist bei C#.NET zwar noch in in den Kinderschuhen, aber viel fehlt da nicht mehr.

C# hat einfach eine ganze Reihe Vorteile gegenüber Java, deshalb setzen viele Unternehmen, die das nötige Knowhow haben oder es sich leisten können, auch auf C#.

Wenn Du C++ lernst, dann bist Du damit wahrscheinlich genauso zukunftssicher wie mit C#. C++ ist zwar alt und hat viele Nachteile, aber die extreme Flexibilität, die vielen Möglichkeiten sehr fein zu optimieren und das enorme Angebot an Frameworks, Engines, und anderer Software, machen C++ einfach unschlagbar für Projekte wie Spiele oder sehr systemnahe Anwendungen. Außerdem sind Windows und Linux mit C++ entwickelt, das schießt jede andere Sprache ins Aus.
Allerdings musst Du auch sehr viel selber machen, beachten und kannst sehr viel kaputt machen.

Wie das bei Python aussieht, weiß ich nicht.

JavaScript bringt dir alleine nichts.
Da brauchst Du noch HTML/CSS und sehr wahrscheinlich auch noch PHP. Diese Sprachen findest Du praktisch immer zusammen.
Und es ist Webdesign, das liegt nicht jedem. Ich mags zumindest nicht

Kommentar von DreiGegengifts
25.09.2016, 15:20

JavaScript bringt dir alleine nichts. Da brauchst Du noch HTML/CSS und sehr wahrscheinlich auch noch PHP. Diese Sprachen findest Du praktisch immer zusammen. Und es ist Webdesign, das liegt nicht jedem. Ich mags zumindest nicht

JavaScript Programmierung hat nichts mit Webdesign zu tun. Es muss nicht mal viel mit "Webseiten" zu tun haben. Viele Anwendungen verlagern sich in das Netz, weil es hier universal verstandene Schnittstellen gibt. Und mit JavaScript kann man Webanwendungen, Webservices, Webserver, Apps usw. schreiben.

2
Kommentar von TeeTier
25.09.2016, 16:30

Ich denke, aber dass sich das in den nächsten Jahren immer mehr auflösen wird, besonders da Java seinen größten Vorteil gegenüber C#, die Platformunabhängigkeit, verliert. Das ist bei C#.NET zwar noch in in den Kinderschuhen, aber viel fehlt da nicht mehr.

Das höre ich jetzt seit den Anfangstagen von Mono und das ist jetzt schon weit über 10 Jahre her!

Inzwischen gab es unendlich viele Neuerungen, Lizenzänderungen, MS hat Quelltext beigesteuert, und und und ...

Aber sind wir mal ehrlich: .Net hinkt auf Nicht-Windows-Plattformen meilenweit hinterher. Wichtige Features sind nur halbherzig implementiert, wenn überhaupt vorhanden.

Wer ernsthaft modernes C# mit grafischem Schnickschnack entwickeln will, der hat gar keine andere Wahl, als sich ein Windows zu installieren. Business-Anwendungen haben eben doch andere Anforderungen als "Hello World" und "Proof-Of-Concept-Progrämmchen".

Deine Aussage habe ich schon vor 10 Jahren gehört, und man wird sie auch zukünftig in 10 Jahren noch hören, aber das macht sie dadurch leider nicht richtiger.

.Net unter z. B. Linux ist und bleibt (mindestens mittelfristig) eine halbgare Bastel-Lösung.

.Net ist nun mal exakt auf Windows zugeschnitten, und man wird es nicht optimal portieren können. Es wird immer Ecken und Kanten geben, an denen man sich Splitter einreißen wird.

Aus diesem Grunde wird man C# unter Linux auch in den nächsten 10 Jahren nicht wirklich ernst nehmen können.

Andere Sprachen sind bei portabler Entwicklung einfach viel viel viel geeigneter! Und dabei nimmt gerade Java einen Spitzenplatz ein.

Eine Plattform, die seit 2003 die ganze Zeit als "fast fertig" gilt, trocken betrachtet aber pausenlos auf allen Gebieten hinterherhinkt, wird Java nicht verdrängen können. :)

1

Also mit Java geht es schon bergab meiner Meinung nach. C# ist ähnlich aber eben moderner. Um Android-Apps zu programmieren ist Java nützlich.

Warum sie dir JavaScript empfehlen weiß ich nicht, ist ja hauptsächlich für die clientseitige Webentwicklung gedacht. (Mit node.js jedoch auch schon serverseitig)

Python kann ich dir selber auch nur empfehlen.

Ich hatte ein Gespräch mit meinen Freunden und sie bestanden darauf, dass Java fast eine tote Sprache ist

Immerhin weißt du jetzt, dass deine Freunde zumindest in der Ahnungslosigkeit Professur erlangt haben.

Das würde ich weniger meinen ...

Momentan ist Java die Programmiersprache, mit der man in den meisten Bereich weiterkommt.

LG Ungedacht

Was möchtest Du wissen?