Wird Java in 5 Jahren noch relevant sein? [geschlossen]

41

Wird Java die gleiche Bedeutung haben, die es in der Vergangenheit hatte, oder wird es weniger relevant sein als heute?

Anna Lear
quelle
4
Java wird in der Programmierbranche immer relevant bleiben. Wie schlagen Sie vor, wir schreiben etwas ohne es?! ;)
Täusche den
7
Die Sprache oder die Plattform?
MIA,
@Jim: Toller Punkt, die Zukunft von Java-Sprache und JVM zu entkoppeln.
Azheglov
2
@Chankey - Siehe Meta: meta.programmers.stackexchange.com/questions/1/…
goodguys_activate
1
Wir schauen nicht mehr in die Zukunft und sagen voraus, was passieren wird.
Adam Lear

Antworten:

30

Java ist relevant und wird in der Enterprise-Computing-Welt noch viele Jahre relevant sein.

Ob es in anderen Bereichen weiterhin relevant ist, hängt stark davon ab, was Oracle tut. Wenn sie ME, Desktop-Anwendungen und anderen Bereichen Leben (und Ressourcen) einhauchen und die Weiterentwicklung der Java-Sprache vorantreiben, ist Java eine gute Wahl.

Aber wenn Oracle die Forschung und Entwicklung einschränkt und / oder versucht, andere Spieler im Java-Bereich zu schlagen, besteht eine gute Chance, dass jemand / eine Firma eine bessere (und offenere) Java-ähnliche Sprache entwickelt. Sollte Oracle die Klage gegen Google gewinnen, gehe ich davon aus, dass die nächste Generation der Android-Plattform eine neue Sprache haben wird, genau wie dies mit C # geschehen ist. Wenn Google die Offenheit richtig macht ... dann ist das Spiel eröffnet!

Stephen C
quelle
1
Zustimmen. Oracle selbst hat zu viel von seinem Enterprise Application Stack in Java investiert, um einen Rückgang zuzulassen. Interessant, dass sich viele der anderen Antworten auf die mobile Plattform zu konzentrieren scheinen.
Gary,
10
IBM unterstützt Java auf allen wichtigen Plattformen. Dies bedeutet, dass selbst wenn Java von der Erdoberfläche verschwindet, es weiterhin auf den Mainframes (wie COBOL) ausgeführt wird. Der Hauptvorteil für Programmierer ist die Fähigkeit zur lokalen Entwicklung und die Strenge der JVM, was bedeutet, dass sie auf vorhersehbare Weise ausgeführt wird.
+1 speziell für I predict that the next generation of the Android platform will have a new language, just like happened with C#.Vergessen Sie nicht, dass Gosling jetzt für Google funktioniert. nighthacks.com/roller/jag/entry/next_step_on_the_road
Qwerky
@Qwerky Er arbeitet jetzt für Liquid Robotics. nighthacks.com/roller/jag/entry/i_ve_moved_again
Vergessen wir nicht, was Borland Delphi angetan hat. Es war so verlassen, dass die meisten Menschen Delphi heute als eine Lösung ansehen, die aus dem Geschäftsleben ausscheidet. Aber Embarcadero rettete das Produkt und jetzt ist es offen für Java, Mac, HTML5, Android und andere Programmierbereiche.
Please_Dont_Bully_Me_SO_Lords
47

Ja, Java wird sicherlich weiterhin relevant sein und wahrscheinlich seine Position als führende Plattform für die Softwareentwicklung für lange Zeit behaupten.

Erstens, Gründe, warum Java eine starke Wahl ist und bleiben wird:

  • Java ist nach wie vor die beliebteste Sprache - und dies bedeutet, dass es die meisten Entwickler, die fortlaufendste Entwicklung, die größte installierte Basis usw. hat. Es gibt keine Anzeichen für einen starken Rückgang - wenn Sie sich zum Beispiel den TIOBE-Trend ansehen, könnte dies weiterhin leicht der Fall sein Nr.1 für die nächsten 10-15 Jahre

  • Trotz seiner Mängel ist Java immer noch eine hervorragende Sprache für die Entwicklung von Unternehmensanwendungen . Die Tatsache, dass es ausführlich ist und dazu neigt, einen ziemlich standardisierten Stil der OOP-Entwicklung zu fördern, ist eine gute Sache, wenn Anwendungen von vielen verschiedenen Entwicklern über viele Jahre auf eine ziemlich standardisierte Weise gewartet werden müssen. Intelligente CIOs erkennen dies, weshalb Java nicht so schnell im Unternehmen verschwindet. Übrigens bestand das ausdrückliche Ziel von Java bei seiner Erstellung darin, dass es "einfach, objektorientiert und vertraut" sein sollte.

  • Der Erfolg von Sprachen hängt nicht nur von der Sprache selbst ab, sondern auch vom Ökosystem der für die Sprache verfügbaren Bibliotheken . In dieser Hinsicht ist Java unübertroffen mit einer Vielzahl von Open Source- und kommerziellen Bibliotheken.

  • Leistung - JIT-kompilierter Code auf modernen JVMs läuft in Bezug auf die Geschwindigkeit sehr ähnlich wie optimierter nativer Code. In der Praxis bedeutet dies, dass Java normalerweise eine der schnellsten verfügbaren Sprach- / Implementierungskombinationen ist (siehe fehlerhafte Benchmarks, wenn Sie möchten). Jeder, der denkt, Java sei langsam (oder, um Himmels willen, "interpretiert"), muss seine Fakten aus dem letzten Jahrhundert aktualisieren.

  • Wichtige Unterstützung für Unternehmen - Java ist eine strategische Plattform, die von vielen der weltweit größten und wichtigsten Technologieunternehmen und -organisationen unterstützt wird. Wir sprechen hier von Google, Oracle, IBM, der Apache Software Federation usw. Java wird auch von wichtigen Technologie-Anwendern umfassend unterstützt - Banken, Medienunternehmen usw. Keine andere Sprache / Plattform hat eine derart breite Branchenunterstützung (auch wenn die Spieler gelegentlich Probleme haben :-))

  • Android - gibt Java im mobilen Bereich einen wichtigen Schub. Viele Startups zielen darauf ab, und es ist nicht unvernünftig zu erwarten, dass mobile Startups auch auf der Serverseite gute Gründe haben werden, Java zu wählen.

  • Portabilität : Java kommt einer echten plattformübergreifenden Programmierumgebung am nächsten. Von High-End-Servern bis hin zu Smartphones ist alles dabei, und kompilierter reiner Java-Code wird auf all diesen Plattformen unverändert ausgeführt. Nur sehr wenige Sprachen können dies mit der gleichen Glaubwürdigkeit sagen. Java hat auch als Bytecode-Sprache einen inhärenten Vorteil im Bibliotheksbereich, da kompilierte Bibliotheken von Natur aus plattformübergreifend portierbar sind.

  • Hervorragende Tools - die meisten davon sind kostenlos und / oder Open Source. Netbeans und Eclipse sind hervorragende Beispiele im IDE-Bereich. Entwickler benötigen gute Tools, um voll produktiv zu sein. Dies ist daher ein wichtiger Faktor bei der Wahl der Sprache / Plattform.

  • Java ist Open Source - hier wird nicht näher darauf eingegangen, warum dies eine gute Sache ist, aber es genügt zu sagen, dass sowohl a) die Java-Kernimplementierung im OpenJDK als auch b) die meisten der interessanten Java-Bibliotheken und -Tools Open Source sind.

  • Java ist nicht nur eine Sprache, sondern eine Plattform : Es gibt viele vielversprechende Sprachen in der JVM, wie Clojure und Scala , die die Zukunft der Plattform auf der Sprachenfront darstellen. Ich würde voraussagen, dass die Java-Sprache weiterhin geringfügige Verbesserungen der Funktionen (JDK 7, 8 usw.) erfährt, während diese neuen JVM-Sprachen die innovativsten sind. Aber es ist alles Teil der Java-Plattform.

Zweitens, wie wird Java ersetzt? Schauen wir uns die alternativen Konkurrenten an:

  • C / C ++ - wird weiterhin wichtig für die Systemprogrammierung und für hochoptimierte native Codeanforderungen wie Spiele sein. Aber das wird weiterhin eine spezialisierte Nische bleiben und sie niemals hinter Java führen, das besser für die Entwicklung von Allzweckanwendungen geeignet ist.
  • Microsoft.NET - C # ist mit Sicherheit eine nette Sprache (im Wesentlichen ein verbesserter / polierter Klon von Java), aber die gesamte .NET-Plattform ist eine Bindung des Herstellers an den Microsoft-Software-Stack. Eine große Anzahl von Menschen wird niemals eine herstellerspezifische Strategie verfolgen, die in der Vergangenheit so verbrannt wurde. Obwohl Mono ein nettes Open-Source-Projekt ist, wird es niemals vollständig kompatibel sein, so dass die meisten Unternehmen nicht auf diese Option setzen. .NET / C # wird im Windows-Bereich weiterhin sehr wichtig sein, aber Java insgesamt nicht verdrängen können.
  • Objective-C - wird zweifellos weiterhin eine wichtige Nische in der Apple-spezifischen Entwicklung einnehmen, wird aber außerhalb dieses Bereichs wahrscheinlich nicht viel Traktion haben. Außerdem hat Java dank Android eine sehr überzeugende Gegenstory im mobilen Bereich
  • Python, Ruby - wieder schöne Sprachen, sehr produktiv in ihren Nischen. In Bezug auf Leistung, Akzeptanz in der Branche oder Bibliotheksangebot ist die JVM jedoch weit davon entfernt. Wird sicherlich weiterhin erfolgreich sein, aber sie entwickeln sich nicht zu Java-Killern.
  • JavaScript - wird weiterhin eine wichtige Rolle bei der clientseitigen Webentwicklung spielen. Aber keine wirkliche Stärke außerhalb dieses Raumes, der Java in absehbarer Zeit bedrohen könnte.
  • Haskell, OCaml (und verschiedene andere akademische / FP-Sprachen) - großartige Sprachen, aber die Bibliotheksunterstützung, die Java bietet, ist für den realen Gebrauch nicht besonders praktisch. Darüber hinaus bieten keine zwingenden Vorteile gegenüber JVM Sprachen wie Clojure oder Scala (das können Java - Bibliotheken verwenden schmerzfrei)
  • Clojure oder Scala - mittel- bis langfristig wirklich überzeugend. Könnte Java in 10-15 Jahren tatsächlich ersetzen, aber beide zählen auf jeden Fall zur Java-Plattform, da sie JVM-Sprachen sind. Java-Investitionen sind also sicher.
  • Geheimnisvolle unbekannte neue Sprache? - könnte passieren, aber die Geschichte hat gezeigt, dass es lange dauert, bis sich Traktion entwickelt, Entwickler neue Fähigkeiten erlernen, erhebliche Investitionen von Unternehmen getätigt werden, egal wie überzeugend eine Sprache ist usw.

Abschließend einige Schlussfolgerungen / Vorhersagen:

  • Die relativen Gesamtpositionen (gemessen am Marktanteil) der wichtigsten Sprachen werden sich in den nächsten Jahren etwas verändern, sich aber nicht wesentlich ändern. Java wird Nr.1 ​​bleiben.

  • Bei der Auswahl der Java-Plattform werden Sie in den nächsten 10 bis 15 Jahren nichts falsch machen. Machen Sie sich keine Sorgen, dass Java bald nicht mehr verfügbar sein wird.

  • In naher Zukunft ist Java die Sprache eine sichere und zuverlässige Wette. Längerfristig oder wenn Sie das Bedürfnis haben, mehr auf dem neuesten Stand der Innovation / Sprachgestaltung zu sein, würde ich Clojure oder Scala als neue JVM-Sprachen empfehlen

  • Die Leute werden weiterhin FUD über Java verbreiten. Ignoriere es einfach.

mikera
quelle
2
Toller Beitrag, Leute, die Sprachen wie Ruby und Python verwenden, denken, dass ihre Sprache das Beste ist, aber die Realität ist, dass eine dynamische Sprache für groß angelegte, intensive Anwendungen nicht ausreicht
programmx10
4
Dies ist nicht die früheste Antwort, aber sie ist ab Mitte 2011 mit Abstand die detaillierteste und überzeugendste und verdient daher die beste Antwort. +1
Limist
@ programmx10: Gibt es in dynamischen Sprachen mehr Overhead als in Java-Frameworks wie Spring?
Kevin Cline
@ Kevin: Spring wird normalerweise nur für die Anwendungskonfiguration verwendet, daher sind die Kosten nicht schrecklich. OTOH, wenn es auch für die eigentliche Berechnung und E / A-Wartung verwendet würde, würde es in etwa der Geschwindigkeit der dynamischen Sprachen entsprechen. Der Schlüssel ist, dass Spring-basierte Apps wirklich teilweise skriptiert sind - was eigentlich ein großartiger Ort ist -, aber wir sagen den Chefs nicht, dass sie gerne glauben, dass absolut alles kompiliert werden muss.
Donal Fellows
1
Guter Post. Wo siehst du Go und vielleicht Dart in diesem Spektrum?
Paul Tomblin
17

Selbst im schlimmsten (besten?) Fall kann ich mir nicht vorstellen, dass Java innerhalb von 5 Jahren irrelevant wird. Java wurde so oft verwendet, dass es in etwa der Situation von COBOL, Fortran usw. entspricht. Selbst wenn jeder mit vorhandenem Code beschließt, alle vorhandenen Systeme in einer anderen Sprache so schnell wie möglich umzuschreiben, dauert es mehr als 5 Jahre Ersetzen Sie es alle (und in 5 Jahren wäre noch genug im aktiven Einsatz, dass noch eine angemessene Menge an Wartung stattfinden würde).

Realistisch gesehen ist das unwahrscheinlich - obwohl es sicherlich unterschiedliche Meinungen von Oracle gibt, kann ich mir nicht vorstellen, dass sie etwas so offensichtlich Schreckliches tun, dass alle großen Player, die große Investitionen in Java tätigen, es sehr schnell fallen lassen würden. Um ehrlich zu sein, würde es wahrscheinlich fast fünf Jahre dauern, bis IBM (zum Beispiel) überhaupt darüber nachdenken würde, etwas anderes an Javas Stelle zu verwenden. Sie haben eine ausreichende Investition in Java, so dass es unwahrscheinlich ist, dass sie diese fallen lassen, bis sie glauben, dass sie praktisch keine Alternative haben.

Jerry Coffin
quelle
+1 für die Verbindung zu COBOL. Einige sagen, dass es für Oracle passend ist, Java als modernes COBOL einzusetzen.
Macneil
17

Ich würde sagen, es ist auf einem Rückgang. Es ist nicht weg, aber es ist vorbei.

Fishtoaster
quelle
13
Quelle? (15 Zeichen)
TheLQ
13
@Kop - "Dies ist eine Stack-Exchange-Website für subjektive Meinungen" . Das ist, um den Zweck dieser Site falsch auszudrücken. Subjektive Meinungen sind in Ordnung, aber objektive Fakten sind deutlich wertvoller. Und es ist legitim, subjektive Aussagen anzufechten, um mögliche objektive Belege zu erheben.
Stephen C
12
@Lorenzo Während des letzten Jahrzehnts war Java die am weitesten verbreitete Programmiersprache in Industrie und Bildung. Ich stimme Fishtoaster zu, dass es derzeit rückläufig ist, was hauptsächlich auf mangelnde Ausrichtung und Fortschritte bei Java 7 sowie auf die Ablehnung von JavaEE-Lösungen für Schwergewichte durch Programmierer zugunsten leichterer Alternativen in anderen Sprachen zurückzuführen ist.
Dan Dyer
17
Ich weiß nicht, ob ich dieser knappen Antwort zustimme, aber die 15 positiven Stimmen zeigen nur, dass ich aufhören muss, in diesem Zoo rumzuhängen. Diese Antwort hat keine Begründung und zitiert nichts. Welches ist was "Quelle"? wahrscheinlich gemeint. Ich habe nichts gegen Meinungen, aber "Java tot!" oder "Java lebt und es geht ihm gut!" sind beide für mich völlig unauffällig. +0.
Dan Rosenstark
5
-1: Keine Fakten oder Argumente in dieser Antwort. subjektive! = zufällige nicht unterstützte Behauptungen
mikera
17

Zwei Antworten:

1) Android

2) Brombeere

Im Ernst, auf dem Desktop kann es im Niedergang sein, aber es treibt die beiden Konkurrenten auf das iPhone.

Außerdem habe ich letztes Jahr ein paar Leuten mit Java-Hausaufgaben für die Schule geholfen. Grundsätzlich wird Java immer noch an Colleges unterrichtet.

Bearbeiten:

Ab Oktober 2011 scheint BlackBerry im Rückgang zu sein. Android ist immer noch stark.

Moshe
quelle
Eine whatberry? Gehen sie noch? Sie sind in den 2000er Jahren, was Palm in den 90er Jahren war ... :)
Adolf Knoblauch
@adolf garlic - Na und, sie sind noch nicht an HP verkauft;) Deshalb gibt es sowieso zwei Antworten. Android ist für die 2010er das, was iPhone für die 90er ist. Android ist noch nicht in der Fading-Phase.
Moshe
8
Auf dem Desktop war es noch nie so relevant. Der größte Teil der Java-Entwicklung findet im OLTP-Back-End-Markt statt.
Luis.espinal
@ Luis.espinal - Ich habe Server gruppiert, Desktop in einer Gruppe, Mobile in der anderen.
Moshe,
@ luis.espinal, +1
Gennady Vanin Геннадий Ванин
14

Es verlor im Mobilfunkmarkt an Bedeutung, hat es aber mit Android wieder zurückerlangt.

Casebash
quelle
1
Der Android-Effekt kann von kurzer Dauer sein, wenn sl4a abgeschlossen ist. Das letztendliche Ziel von sl4a ist es, Menschen zu ermöglichen, Apps für Android in jeder Programmiersprache zu schreiben. Plattformübergreifende Toolkits wie Appcellerator machen das Erlernen von Java für die Android-Entwicklung zumindest teilweise überflüssig.
Chinmay Kanchi
3
Aufgrund von Leistungsproblemen wird es lange dauern, bis sl4a für die allgemeine Entwicklung startet. Ich habe noch keine plattformübergreifenden Toolkits für hochwertige Anwendungen. Für etwas schnelles / begrenzte Ressourcen, sicher
Casebash
Welche Leistung betrifft? Die Python-Version ist natives CPython, wobei alle APIs über eine Dalvik Bridge (IIRC) aufgerufen werden. Daher sollte es in Abwesenheit einer JIT fast so performant sein wie "nativer" Dalvik-Code. Android 2.2 hat eine JIT, aber zu diesem Zeitpunkt gibt es keinen Grund mehr, Jython nicht zu verwenden, da es schneller als CPython und nicht sehr viel langsamer als Java wäre.
Chinmay Kanchi
+1 für den inspirierenden Kommentar von @Chinmay Kanchi. Ich wusste nicht, dass sl4a so interessant ist.
Dan Rosenstark
13

Java wird in absehbarer Zeit relevant sein, auch wenn Sie als relevant definieren, nur neuen Code einzuschließen, nicht den alten Wartungsmodus. Ja, die Sprache saugt und behandelt ihre Programmierer wie ungezogene Kinder, anstatt Erwachsenen zuzustimmen, und hat seit der Steinzeit kein Facelift mehr erhalten. Auf der anderen Seite:

  1. Java hat einige großartige Bibliotheken.

  2. Die JVM ist eine großartige Plattform.

  3. Sie müssen nicht mehr in Java programmieren, um diese Bibliotheken zu verwenden, da die Anzahl der JVM-Sprachen gestiegen ist.

Die Art und Weise, wie sich die Dinge entwickeln werden, ist, dass Java in der JVM-Welt zu dem wird, was C in der nativ kompilierten Welt ist. Die Leute werden Scala, Jython, Groovy usw. in der täglichen Codierung verwenden, aber für die Ewigkeit weiterhin alten, crufty Java-Code aus diesen Sprachen aufrufen. Bestimmter leistungskritischer Code ist möglicherweise noch in Java geschrieben, da es sich wahrscheinlich um die effizienteste JVM-Sprache der untersten Ebene handelt. Für alte Bibliotheken müssen neue Funktionen hinzugefügt werden. Daher bleibt Java auch dann von hoher Relevanz, wenn es nicht täglich vom durchschnittlichen Programmierer verwendet wird.

dsimcha
quelle
Ich fühle mich alt, wenn du sagst, Java wird eine Muttersprache. Seufzer
Dheeraj Bhaskar
7

Ich glaube schon. Ich gehe davon aus, dass seine Popularität in den nächsten Jahren zunehmen wird, da das Plug-In und die syntaktischen Verbesserungen in Java 7 in letzter Zeit verbessert wurden. Außerdem hat es den Vorteil, dass es eine große Auswahl an guten Open-Source-Bibliotheken (im Vergleich zu .NET), die es leicht für weitere 10 Jahre am Leben halten könnte.

finnw
quelle
4
Java 7 lehnte viele der besten Ideen
Casebash
1
@ Casebash: Welche waren das?
Chris
5

Derzeit tötet Qt Java in Desktop-Anwendungen. Es gibt viele Umschreibungen von Java auf Qt. Derzeit arbeite ich an einem davon. Seit dem Tag, an dem ich meine Programmierkarriere begonnen habe, gibt es immer das Gerücht, dass etwas C ++ töten würde. Zum Beispiel Visual Basic, Java, C #, aber in Wirklichkeit läuft C ++ noch. Es hat viele Nachteile, aber es geht immer noch. Alle anderen Teilnehmer hatten einen traurigen Tod .........

Tamilselvan R
quelle
4

Ich denke nicht, dass es an Relevanz verlieren wird. Java 7 bringt gerade eine Menge netter Funktionen heraus, die Entwicklern helfen werden, großartige Software einfacher zu erstellen.

Java wird auch zum Erstellen von Blackberry-Anwendungen verwendet. eines der führenden Firmenhandys. Man kann mit Sicherheit sagen, dass es nicht bald irgendwohin geht.

Sergio
quelle
Und macht Android, ein Handy gewinnt an Dynamik und Popularität überall
TheLQ
Ich bin dieses Jahr zu Java One gegangen. Einige der coolen Dinge, die kommen werden: Die Unterstützung der automatischen Verwendung mehrerer Kerne, das automatische Auslagern auf die GPU und das automatische Auslagern auf die Vektoreinheit der CPU wird Java zu einer sehr effizienten Plattform machen. Und alle Java-Programmierer, die das "neue" idiomatische Java schreiben, bekommen es kostenlos. Es gibt einige beängstigend kluge Leute, denen Oracle etwas Geld gegeben hat, um Java besser zu machen. Das Projekt Lambda wird Verschlüsse liefern und dies auf eine Weise, die funktioniert UND ohne Schmerzen vollständig abwärtskompatibel ist. SAM-Umwandlungsfelsen. Gute Dinge kommen.
Tim Williscroft
4

Ich bin in erster Linie .NET-Entwickler, arbeite jedoch nach Bedarf mit anderen Sprachen (einschließlich Java), um die Aufgabe zu lösen. Aufgrund meiner eigenen Erfahrung in der Arbeit mit der Sprache denke ich, dass sie nicht so schnell vergeht. Hier ist der Grund dafür:

  1. Aktuelle Installationsbasis - Es gibt genügend Programme, die langfristige Unterstützung benötigen, sodass neue Entwickler die Sprache lernen müssen.
  2. Verwendung im akademischen Umfeld - Die meisten Hochschulen und Universitäten verwenden OOP und andere grundlegende Konzepte als eine ihrer Einführungssprachen. Dies bedeutet, dass auch weiterhin neue Entwickler ihre Ausbildung abschließen und in die Belegschaft eintreten, die mit der Sprache vertraut sein wird, wenn sie mit diesen vertraut sind loslegen.
  3. Es ist plattformübergreifend - eine offensichtliche Tatsache, aber die Tatsache, dass es plattformübergreifend ist, ist eine große Sache, vor allem, wenn Smartphones Java für neue Geräte unterstützen. Die Aussicht, nur eine Codebasis verwalten zu müssen, aber Apps für mehrere Plattformen bereitstellen (dh verkaufen) zu können, wird ein wenig schwierig. Können Sie sich vorstellen, ob iOS und Droid beide in Java geschriebene Apps unterstützen?
  4. Kein starker Konkurrent - Zum gegenwärtigen Zeitpunkt kann ich keine Sprache nennen, die ich als starken Konkurrenten von Java betrachte. Sicher, C # wird dank Mono auf mehr Plattformen angezeigt, aber das ist nicht ganz das Gleiche wie die plattformübergreifende Verwendung von Java. Zugegeben, es gibt eine Reihe von Sprachen, die das tun, was Java tut (und in einigen Fällen sogar besser). Sie sind in der Regel auf das zugeschnitten, was sie tun, und für einige große Projekte ist es nicht sinnvoll, wenn Sie eine Menge Sprachen verwalten kann alle Leistungseinbußen von Java akzeptieren.
rjzii
quelle
4

Java, die Sprache, mag langsam zurückgehen, aber Java, die Plattform (JVM + JDK), hat in den letzten Jahren definitiv einen Boom erlebt (Scala, Clojure und viele andere Sprachen; Android-Framework). Es ist mit Sicherheit die beste (nur praktikable?) Plattform für mehrere Architekturen, Betriebssysteme und Sprachen, die von eingebetteten Mobilgeräten bis hin zu Mainframe-Unternehmen skaliert werden kann. Derzeit gibt es keine vergleichbaren Konkurrenten bei AFAIK. Daher würde ich davon ausgehen, dass Java für die Plattform in 5 Jahren und sogar in 15 Jahren relevant sein wird. Damit ist Java auch langfristig die relevante Sprache, auch wenn ihre Popularität möglicherweise jenseits der Spitze liegt.

Joonas Pulakka
quelle
4

TIOBE bewertet die Sprachverwendung ... http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Basierend auf ihren Statistiken ist Java führend und wird dies wahrscheinlich auf lange Zeit tun - Nr. 1 seit 2005. Ich habe Java im Laufe meiner Karriere verwendet und überall, wo ich jemals mit Java-Anwendungen / Entwicklern gearbeitet habe - auch an Orten, an denen ich selbst dachte Microsoft Dev Shops. Java ist eine so einfache Sprache, wenn Sie Lösungen auf einem Mac oder Linux Server entwickeln müssen.

Auch gute alte C / C ++ halten immer noch stark an # 2 und # 3 - während C # - die Sprache, die jeder für die beliebteste hält (MS-Marketing in seiner besten Form) - nicht einmal annähernd ist! Ich benutze jetzt C #, aber es wird Jahre dauern, bis die Menge an Code, die ich in Java und Delphi geschrieben habe, erreicht ist.

Haben Sie also keine Angst, Java zu lernen oder zu verwenden - es gibt immer Stellenangebote für sie. Ja, Java wird für lange Zeit sehr relevant sein.

MDV2000
quelle
Tiobe Raten ... die Anzahl der Leute im Internet, die über eine Sprache sprechen, nach der Tiobe sucht. blog.timbunce.org/2008/04/12/…
Sean McMillan
3

Es ist einer der größten Namen in der Enterprise-Programmierung (J2EE). Ich bin mir ziemlich sicher, dass wir es in den nächsten Jahren nicht mehr erleben werden.

Terence Ponce
quelle
3

Ich bin mir nicht sicher über Java. Aber die JVM wird sicherlich relevant bleiben und viele andere Sprachen unterstützen.

Gulshan
quelle
3

Es hängt davon ab, wie sich die Sprache entwickeln wird.

Gegenwärtig ist Java als Sprache nicht sehr aktiv. Es wurde geboren, um ein (und nur ein) Paradigma zu unterstützen: OOP. Es befindet sich auf halbem Weg zwischen Sprachen, die Abstraktionen auf höherer Ebene ermöglichen (wie C ++ und seine Metaprogrammierungsfunktionen), und Skriptsprachen mit Reflektionsfunktionen (wie die Python-Befehle "exec" und "dir"), findet aber irgendwie keinen richtigen Platz. Es wird im Grunde genommen als "Sprache" obsolet. Wäre es nicht so, dass es ein De-facto-Standard für mobile Geräte ist? Ich denke, es wäre mittlerweile tot.

Was die Tatsache betrifft, dass es eine gute Unterrichtssprache für OOP ist, habe ich meine Zweifel daran, was ich sehen kann: Alle in Java geborenen Programmierer erzeugen überall Besucher- und Beobachtermuster, aber es ist nicht so, dass ich eine großartige Erfahrung mit Java-Programmierern habe.

Es gibt immer noch eine Menge Legacy-Code und auf Mobilgeräten ist er ein Standard. Das heißt, ich würde Java niemals für einen Desktop oder eine Webanwendung wählen. Es gibt keinen Grund dazu, abgesehen von geschäftlichen (die meisten Manager nicken, wenn Sie "Java" sagen, und das ist vermutlich der Grund, warum es ein Standard auf Mobilgeräten ist).

Emiliano
quelle
Erinnert sich noch jemand, als jemand von SUN sagte, Java brauche keine Aufzählungen? C # / VB.NET hat Enums und wurde später
umlcat
1
Es ist weit verbreitet für groß angelegte Apps, sicher, dass es den "Codierern", "Skriptern" und "ROR-Ninjas" nicht gefällt, aber das ist, weil es eine echte Programmiersprache ist und zum Erstellen von Apps verwendet wird, die viel mehr als nur CRUD leisten Anwendungen tun dies, wenn Sie eine Menge intensiver Dinge auf der Serverseite einer App erledigen müssen. Java ist normalerweise die attraktivste Wahl, bevor Sie C ++ oder eine andere niedrigere Sprache verwenden müssen
programmx10
3

IMHO, Java wird sehr relevant bleiben und in der Nutzung zunehmen, auch wenn es sich in seinen Konstrukten oder Fähigkeiten nicht wirklich weiterentwickelt.

Hier ist meine Argumentation: - Es gibt eine Menge Code, und die Wartung erfordert mehr Leute als das Schreiben von neuem Code.

  • Das Lager "VM-Sprachen sind zu langsam" verliert langsam (zumal Java es erfolgreich in den Algo-Handel geschafft hat).

  • Große Unternehmen setzen es nach wie vor branchenübergreifend ein, einschließlich Oracle.

  • Die Android-Plattform wächst schneller als iOS, ohne dass ein anderer Konkurrent in Sicht ist, und das bringt mehr Leute auf die Sprache.

  • Es ist einfacher für die Leute als funktionale Sprachen zu verwenden. Für Sprachpuristen und Akademiker ist es einfach, funktionale Sprachen und ihre Fähigkeiten zu schätzen, aber die meisten Neulinge ohne CS-Abschluss schätzen die Leistung des Lambda nicht voll und ganz. Ich glaube nicht, dass diese Sprachen abheben würden.

  • Es ist völlig kostenlos (im Gegensatz zu .NET, das trotz Alternativen immer noch näher am Windows-Ökosystem ist).

Uri
quelle
2

Java wird seine Relevanz für viele weitere Jahre nicht vollständig verlieren, aber es ist mit Sicherheit auf dem Rückzug. Ob sich die jüngsten Entwicklungen darauf auswirken oder ob Oracle dies ändern kann, bleibt abzuwarten. Aber ich denke, dass ich eines Tages wie COBOL sein könnte, keine neuen Projekte, aber auch nie ganz im Sterben liege.

indyK1ng
quelle
2

COBOL, Fortran und C sind weiterhin relevant. Wie groß ist die Chance, dass Java in fünf Jahren verschwindet? Es ist vorstellbar, dass es in fünf Jahren nicht viel neue Java-Entwicklungen geben wird, aber ich würde auch dagegen wetten, da es viele Leute gibt, die Java verwenden, und Shops ihre bevorzugten Sprachen eher langsam wechseln.

David Thornley
quelle
1

Ich vermute, dass alle Sprachen irgendwann eine Phase durchlaufen, in der Experten sagen "[Sprache] ist das COBOL des [hier Jahrzehnt einfügen]".

Java ist in einer Reihe von Bereichen der Softwareentwicklung zu einem Standardwerkzeug geworden, das ausschließlich oder eines der Hauptwerkzeuge ist. Seine VM ist beliebt als Plattform, auf der neue Sprachen erstellt werden können. Es wird viel zu lange dauern, selbst wenn neuere, bessere Sprachen populär werden.

DarenW
quelle
Aber Java wurde zum COBOL, Mainframe, Server sprechend
umlcat
1

In der Java-Welt hat es einige Trends gegeben - insbesondere die absolut brillante Einführung von JRuby und Rails oder Groovy und Grails -, die darauf hindeuten, dass Java immer noch viel Leben in sich birgt. Hinzu kommt die Android-Situation, die auch für Java spricht. Erst als Snow Leopard auf dem Mac wurden einige Änderungen vorgenommen - Midi wird jetzt ohne externe Treiber unterstützt -, sodass es auch auf dem Desktop immer mehr Möglichkeiten bietet. Und Swing-Apps sehen endlich zu 99% nativ aus (oder zumindest gibt es eine Menge Nussfälle, die das jetzt glauben: Vor 10 Jahren gab es keine).

Java hatte in den 90ern einen erstaunlichen Moment, in dem es den Anschein hatte, als wäre es die Lösung für alles. Jetzt ist klar, dass nichts die Lösung für alles ist. .Net ist der Hammer für Ruby, Python und PHP (mit albernen CMS-Lösungen und ganzen Frameworks, mit denen die Leute ein Leben lang verheiratet sind!), Java (mit Groovy JRuby JPython) und vieles mehr. Die Antwort ist:

Erwarten Sie ein pluralistisches Universum

Wird Java in diesem Universum weiterhin eine wichtige Rolle spielen? Wenn Sie "Sprachen, die auf der JVM ausgeführt werden" meinen, lautet die Antwort auf jeden Fall. Wenn die Antwort nur Java (Sprache, JVM usw.) ist, lautet die Antwort "Vielleicht nicht so wichtig". Aber komm schon, sogar Cobol bleibt dran.

Dan Rosenstark
quelle
1

Ich denke, Akademiker brauchen immer noch den Wert von Open Source in JAVA. Es gibt so viele mächtige Bibliotheken (die auf akademische Zwecke ausgerichtet sind), die auf JAVA entwickelt wurden.

Ich bin damit einverstanden, dass JAVA relevant bleibt, aber für ein kleineres Segment.

VinkyH
quelle
1

Google schreibt viel in Java und Google ist das größte Unternehmen im Web. Ich denke, das Web ist die Zukunft - Webanwendung, Cloud Computing - und deshalb denke ich, dass Java auch in Zukunft relevant ist.

Und es gibt Android, das meiner Meinung nach die Zukunft der Smartphones ist. Und manche Leute sagen, Smartphones sind die Zukunft des Computers - was nicht meine Meinung ist :) - aber was würde Java auch eine große Zukunft geben. Also gehe nach Java: D

SCBoy
quelle
Ich möchte zweitens betonen, dass Google viele seiner internen Tools und Bibliotheken (z. B. GWT, Guava usw.) an die Community weitergibt, sodass die externen Auswirkungen nur über die X-Anzahl der Ingenieure hinausgehen, die es verwenden.
Uri
0

Wenn es an eine Branche gebunden ist (z. B. Bankwesen, mobile Plattformen usw.), ist es wie die Frage "Wird der Internet Explorer in 5 Jahren noch relevant sein?" Vor 5 Jahren. Heutzutage gibt es viele Unternehmen mit IE-spezifischen internen Websites, die nicht von Grund auf neu geschrieben werden können. Es ist also nicht "relevant", sondern "unvermeidlich".

Um auf Ihre Frage zu kommen: Nein, es ist nicht relevant als treibende Kraft für Innovation. Aber ja, es ist relevant, weil viele Branchen Java-Anwendungen für viele Jahre warten müssen.

Lorenzog
quelle
0

Hier ist ein Artikel von ReadWriteEnterprise über Javas Niedergang:

http://www.readwriteweb.com/enterprise/2011/02/javas-not-dying-its-mutating.php

Was wir beobachten, ist nicht der Tod von Java, sondern seine Transformation. Es entwickelt sich von einer Plattform für den allgemeinen Gebrauch, die das Unternehmen beherrschte, zu einer Plattform für viele unterschiedliche Technologien für verschiedene Spezialanwendungen.

Außerdem wird erläutert, wie bestimmte Tools Alternativen zur Java-Technologie bieten, diese jedoch nicht unbedingt ersetzen:

Obwohl NoSQL-Datenbanken eine Alternative zu relationalen Datenbanken darstellen, bedeutet dies nicht, dass relationale Datenbanken verloren gehen. Ebenso bietet Node.js eine spezielle Alternative zu Apache, tötet Apache jedoch nicht.

Britt Wescott
quelle
Ein Artikel auf derselben Website über Jobtrends zeigt, dass Java immer noch mehr Stellenangebote als jede andere Sprache hat: readwriteweb.com/enterprise/2011/05/…
Britt Wescott