Wird Java die gleiche Bedeutung haben, die es in der Vergangenheit hatte, oder wird es weniger relevant sein als heute?
Wird Java die gleiche Bedeutung haben, die es in der Vergangenheit hatte, oder wird es weniger relevant sein als heute?
Antworten:
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!
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
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:
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.
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.
Ich würde sagen, es ist auf einem Rückgang. Es ist nicht weg, aber es ist vorbei.
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.
Es verlor im Mobilfunkmarkt an Bedeutung, hat es aber mit Android wieder zurückerlangt.
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:
Java hat einige großartige Bibliotheken.
Die JVM ist eine großartige Plattform.
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.
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.
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 .........
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.
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:
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.
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.
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.
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).
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).
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.
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.
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.
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.
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
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.
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.