it-swarm.it

Java sarà ancora rilevante tra 5 anni?

Java avrà la stessa importanza che aveva in passato, o sarà meno rilevante di oggi?

40
kiamlaluno

Java è rilevante e continuerà ad esserlo per molti anni nel mondo dell'informatica aziendale.

Il fatto che continui ad essere rilevante in altre aree dipende molto da ciò che fa Oracle. Se iniettano un po 'di vita (e risorse) in ME, applicazioni desktop e altre aree, e se continuano con l'evoluzione del linguaggio Java, allora Java = farà bene.

Ma se Oracle interrompe la ricerca e lo sviluppo e/o tenta di calpestare altri giocatori nello spazio Java, ci sono buone probabilità che qualcuno/qualche azienda svilupperà un migliore (e più aperto) simile a Java Se Oracle vince la causa contro Google, prevedo che la prossima generazione della Android avrà una nuova lingua, proprio come è successo con C #. Se Google ottiene l'apertura giusta ... quindi il gioco è acceso!

30
Stephen C

Sì, Java continuerà sicuramente ad essere rilevante e probabilmente manterrà la sua posizione come la piattaforma n. 1 per lo sviluppo del software per lungo tempo.

In primo luogo, i motivi per cui Java è e continuerà ad essere una scelta forte:

  • Java è ancora la lingua più popolare - e questo significa che ha il maggior numero di sviluppatori, lo sviluppo più continuo, la più grande base installata ecc Non vi è alcun segno di un forte declino: se si guarda alla tendenza del TIOBE, ad esempio, potrebbe facilmente continuare a essere il numero 1 per i prossimi 10-15 anni

  • Java, nonostante i suoi difetti, è ancora un linguaggio eccellente per lo sviluppo applicazioni aziendali . Il fatto che sia prolisso e tende a promuovere uno stile abbastanza standardizzato di OOP è una cosa buona quando le applicazioni devono essere gestiti da molti sviluppatori diversi nel corso di molti anni in un modo abbastanza standardizzato. I CIO intelligenti se ne rendono conto, motivo per cui non vedrai presto Java scomparire nell'azienda presto. BTW, e l'obiettivo esplicito di Java quando è stato creato era che dovrebbe essere "semplice, orientato agli oggetti e familiare".

  • Il successo delle lingue non riguarda solo la lingua stessa, ma intorno all'ecosistema delle librerie disponibile per la lingua. A questo proposito, Java non è secondo a nessuno, con una vasta gamma di librerie commerciali e open source.

  • Prestazioni - Il codice compilato JIT sulle JVM moderne viene eseguito molto vicino al codice nativo ottimizzato in termini di velocità. In pratica, ciò significa che Java è in genere una delle combinazioni linguistiche/di implementazione più veloci disponibili (vedi benchmark errati se vuoi). Chiunque la pensi Java è lento (o, per l'amor del cielo, "interpretato") ha bisogno di aggiornare i loro fatti dal secolo scorso.

  • Principale supporto aziendale - Java è una piattaforma strategica supportata da molte delle più grandi e importanti società e organizzazioni tecnologiche del mondo - stiamo parlando di Google, Oracle, IBM, Apache Software Federation ecc. Java ha anche un supporto sostanziale da parte dei principali utenti della tecnologia - banche, società di media ecc. Nessun altro linguaggio/piattaforma ha tale ampio supporto del settore (anche se i giocatori hanno occasionali colpi di scena :-))

  • Android - sta dando un forte impulso a Java nello spazio mobile. Molte startup stanno prendendo di mira questo, ed è non è irragionevole aspettarsi che anche le startup mobili abbiano buone ragioni per scegliere Java anche sul lato server.

  • Portabilità : Java è la cosa più vicina esistente a un vero ambiente di programmazione multipiattaforma. È su tutto dall'alto dai server agli smartphone e compilato pure Java funzionerà non modificato su tutte queste piattaforme. Pochissime lingue possono dire questo con lo stesso grado di credibilità. Anche come linguaggio bytecode, Java ha un vantaggio intrinseco nello spazio delle librerie perché le librerie compilate sono intrinsecamente trasportabili su più piattaforme.

  • Strumenti eccellenti - molti dei quali sono gratuiti e/o open source. Netbeans e Eclipse sono ottimi esempi nello spazio IDE. Gli sviluppatori hanno bisogno di buoni strumenti per essere pienamente produttivi, quindi questo è un fattore importante in scelta lingua/piattaforma.

  • Java è Open Source - non andremo nel perché questa è una buona cosa qui, ma basti dire che sia a) il core Java implementazione in OpenJDK e b) la maggior parte delle interessanti Java sono open source.

  • Java non è non solo una lingua, è una piattaforma : ci sono molte lingue promettenti sulla JVM come Clojure e Scala che rappresentano il futuro della piattaforma sul fronte linguistico. La mia previsione sarebbe che il Java continua a ricevere piccoli miglioramenti alle funzionalità (JDK 7, 8 ecc.) Mentre questi nuovi linguaggi JVM sono il luogo in cui avverrà l'innovazione di Edge Edge. Ma è tutto parte della piattaforma Java.

In secondo luogo, come verrà sostituito Java? Diamo un'occhiata ai contendenti alternativi:

  • C/C++ - continuerà ad essere importante in termini di programmazione dei sistemi e per requisiti di codice nativo altamente ottimizzati come i giochi. Ma questa continuerà ad essere una nicchia specializzata e non li porterà mai oltre Java, che è più adatto allo sviluppo di applicazioni per scopi generici.
  • Microsoft.NET - C # è sicuramente un bel linguaggio (un clone di Java migliorato/raffinato, in sostanza), ma l'intera piattaforma .NET rappresenta il blocco dei fornitori nello stack di software Microsoft. Un gran numero di persone non adotterà mai una strategia specifica del fornitore che è stata bruciata da questa in passato. Mono, nonostante sia un progetto open source di Nizza, non sarà mai completamente compatibile, quindi la maggior parte delle aziende non scommetterà su questo come opzione. .NET/C # continuerà ad essere molto importante nello spazio di Windows, ma non sarà in grado di spostare Java in generale.
  • Obiettivo-C: continuerà senza dubbio a occupare una nicchia importante nello sviluppo specifico di Apple, ma probabilmente non avrà molta trazione al di fuori di quello spazio. Inoltre, Java ha una contro-storia molto avvincente nello spazio mobile grazie ad Android
  • Python, Ruby - Di nuovo belle lingue, molto produttive nelle loro nicchie. Ma in nessun posto vicino alla JVM in termini di prestazioni, accettazione del settore o gamma di librerie. Continueranno sicuramente ad avere successo, ma loro non si preannunciano per essere killer di Java.
  • JavaScript: continuerà a svolgere un ruolo importante nello sviluppo Web lato client. Ma nessuna vera forza al di fuori di quello spazio che probabilmente minaccerà Java in qualunque momento presto.
  • Haskell, OCaml (e varie altre lingue accademiche/FP) - grandi lingue, ma non hanno nulla vicino al supporto della libreria Java ha, quindi non particolarmente pratico per l'uso nel mondo reale. Inoltre, non offre alcun avvincente vantaggi rispetto ai linguaggi JVM come Clojure o Scala (che can use Java librerie indolore)
  • Clojure o Scala - in realtà davvero convincente a medio/lungo termine. Potrebbe effettivamente sostituire Java in 10-15 anni, ma entrambi contano davvero come parte del Java piattaforma comunque poiché sono linguaggi JVM. Quindi Java gli investimenti saranno al sicuro.
  • Misteriosa nuova lingua sconosciuta? - potrebbe accadere, ma la storia ha dimostrato che non importa quanto sia convincente una lingua, ci vuole molto tempo per sviluppare la trazione, gli sviluppatori per apprendere nuove competenze, investimenti significativi da parte delle aziende, ecc.

Infine, alcune conclusioni/previsioni:

  • Le posizioni relative complessive (in termini di quota di mercato) delle principali lingue si evolveranno un po 'nei prossimi anni, ma non cambieranno molto. Java rimarrà n. 1.

  • Non sbaglierai nella scelta della Java per i prossimi 10-15 anni. Non preoccuparti che Java scompaia presto.

  • Nel breve termine, Java-the-language è una scommessa sicura e affidabile. A più lungo termine, o se senti la necessità di essere più all'avanguardia nell'innovazione/nella progettazione del linguaggio, consiglierei Clojure o Scala come nuove lingue JVM

  • Le persone continueranno a diffondere FUD su Java. Ignoralo.

47
mikera

Direi che è in declino. Non è andato, ma ha superato il suo picco.

17
Fishtoaster

Anche nel peggiore dei casi (migliore?), Non riesco a immaginare che Java diventi irrilevante entro 5 anni. Java è stato usato abbastanza da essere approssimativamente nel stessa situazione di COBOL, Fortran e così via. Anche se tutti coloro che hanno un codice esistente decidono di riscrivere tutti i sistemi esistenti in un'altra lingua il più rapidamente possibile, occorrerebbero più di 5 anni per sostituirli tutti (e tra 5 anni, resterebbe ancora abbastanza in uso attivo che sarebbe ancora in corso una buona dose di manutenzione).

Realisticamente, è improbabile che accada - mentre ci sono certamente opinioni diverse su Oracle, non riesco a immaginare che facciano qualcosa di così terribile che tutti i principali attori che hanno enormi investimenti in Java calerebbero molto rapidamente. In tutta onestà, probabilmente ci vorrebbero quasi 5 anni di decisioni ovviamente sbagliate prima che IBM (per esempio) consideri persino di lavorare per usare qualcos'altro al posto di Java. Hanno un investimento abbastanza grande in Java è improbabile che lo lascino cadere fino a quando o a meno che non credano di non avere praticamente alternative.

17
Jerry Coffin

Due risposte:

1) Android

2) Blackberry

Seriamente, sul desktop, potrebbe essere in declino, ma alimenta i due concorrenti su iPhone.

Inoltre, l'anno scorso, ho aiutato un gruppo di persone con Java compiti a casa per la scuola. Punto essendo, Java è ancora insegnato nei college.

Edit:

A partire da ottobre 2011, BlackBerry sembra essere in declino. Android sta ancora andando forte.

17
Moshe

Stava perdendo importanza nel mercato della telefonia mobile, ma con Android lo ha riguadagnato di nuovo.

14
Casebash

Java sarà rilevante per il prossimo futuro, anche se si definisce rilevante per includere solo nuovo codice, non modalità di manutenzione legacy. Sì, il linguaggio fa schifo e tratta i suoi programmatori come bambini cattivi invece di adulti consenzienti e non ha avuto un restyling dall'età della pietra. D'altro canto:

  1. Java ha alcune librerie fantastiche.

  2. La JVM è una piattaforma fantastica.

  3. Non è necessario programmare in Java per usare queste librerie, ora che c'è stata una proliferazione di linguaggi JVM.

IMHO il modo in cui le cose si evolveranno è che Java nel mondo JVM diventerà ciò che C è nel mondo compilato in modo nativo. Le persone useranno Scala, Jython, Groovy, ecc. Nella programmazione quotidiana, ma continuerà a chiamare il vecchio, crufty Java da questi linguaggi per l'eternità. Alcuni codici critici per le prestazioni potrebbero ancora essere scritti in Java, perché è probabilmente il linguaggio JVM più basso ed efficiente. le librerie avranno bisogno di nuove funzionalità aggiunte. Pertanto, Java rimarrà altamente rilevante anche se non viene utilizzato dal programmatore medio giorno per giorno.

13
dsimcha

Credo di si. Prevedo che la sua popolarità aumenterà nei prossimi due anni, con recenti miglioramenti nel plug-in e miglioramenti sintattici in arrivo Java 7. E ha il vantaggio della vasta gamma di buone librerie open-source (rispetto a .NET) che potrebbero facilmente mantenerlo in vita per altri 10 anni.

7
finnw

Attualmente Qt sta uccidendo Java nelle applicazioni desktop. Ci sono molti riscritti da Java a Qt. Attualmente sto lavorando su uno di essi. Dal giorno in cui Ho iniziato a programmare la mia carriera, si dice sempre che Something ucciderebbe C++. Per esempio Visual Basic, Java, C #, ma in realtà C++ continua a funzionare. Ha molti svantaggi, ma continua. Tutti gli altri concorrenti hanno avuto una morte triste. ........

5
Tamilselvan R

Java la lingua potrebbe essere in lento declino, ma Java la piattaforma (JVM + JDK) è stato sicuramente in forte espansione durante l'ultima coppia di anni (Scala, Clojure e molte altre lingue; Android framework). È facilmente la migliore (solo praticabile?) piattaforma multi-architettura, multi-OS, multi-lingua là fuori, scalabile da embedded dispositivi mobili per mainframe enterprise, e attualmente non ci sono concorrenti simili AFAIK. Quindi mi aspetterei Java la piattaforma sarà rilevante tra 5 anni e anche tra 15 anni. Ciò rende anche Java la lingua pertinente a lungo termine, anche se la sua popolarità potrebbe essere passata all'apice.

4
Joonas Pulakka

Non credo che perderà rilevanza. Java 7 è appena uscito con molte funzioni interessanti che aiuteranno gli sviluppatori a creare facilmente un ottimo software.

Inoltre Java viene utilizzato per creare applicazioni Blackberry; uno dei principali telefoni cellulari aziendali. È sicuro dire che presto non andrà da nessuna parte.

4
Sergio

TIOBE valuta il linguaggio utilizza ... http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Basato sulle loro statistiche Java apre la strada e probabilmente lo farà per molto tempo a venire - # 1 dal 2005. Ho usato Java nella mia carriera e ovunque io abbia mai lavorato aveva Java applicazioni/sviluppatori - anche in luoghi che si consideravano Microsoft Dev Shops. Java è semplicemente un linguaggio così facile da imparare quando devi sviluppare soluzioni su un server Mac o Linux.

Inoltre, il buon ole C/C++ continua a resistere a # 2 e # 3 - mentre C # - il linguaggio che tutti pensano sia il più popolare (marketing MS al suo meglio) - non è nemmeno vicino! Ora uso C #, ma ci vorranno anni per eguagliare la quantità di codice che ho scritto in Java e Delphi.

Quindi non abbiate paura di imparare o usare Java - ci sono sempre lavori pubblicati per loro. Quindi, sì Java sarà molto rilevante per molto tempo tempo di venire.

4
MDV2000

Sono uno sviluppatore .NET primario, anche se lavoro con altre lingue (incluso Java) secondo necessità per ottenere il compito a portata di mano. Pertanto, in base alla mia esperienza di lavoro con la lingua, non credo che sparirà presto, ecco perché:

  1. Current Install Base - Ci sono abbastanza programmi là fuori che avranno bisogno di supporto a lungo termine che c'è una ragione per i nuovi sviluppatori di imparare la lingua.
  2. so in ambito accademico - La maggior parte dei college e delle università utilizza una delle loro lingue introduttive per insegnare OOP e altri concetti fondamentali, ciò significa che continueranno ad esserci nuovi sviluppatori che si laureano e entrano nella forza lavoro che conosceranno la lingua quando inizieranno.
  3. È multipiattaforma - Ovvio, ma il fatto che sia multipiattaforma è un grosso problema, tanto più che gli smartphone supportati per Java su nuovi dispositivi. La prospettiva di dover mantenere una sola base di codice, ma poter distribuire (ovvero vendere) app per più piattaforme sarà un po 'un affare. Riesci a immaginare se iOS e Droid supportano entrambe le app scritte in Java?
  4. Nessun concorrente forte - In questo momento non posso nominare una lingua che considero un forte concorrente di Java. Sicuramente C # sta iniziando a comparire su più piattaforme grazie a Mono, ma non è la stessa cosa che avere la stessa piattaforma multipiattaforma che Java ha. Concesso ci sono un certo numero di lingue che fanno cosa = Java fa (e in alcuni casi meglio) tendono ad essere adattati a ciò che stanno facendo e per alcuni grandi progetti non ha senso avere un sacco di lingue da mantenere se puoi accettare qualsiasi hit di prestazione che Java potrebbe avere.
4
rjzii

IMHO, Java rimarrà molto rilevante e crescerà in uso, anche se non si sta realmente evolvendo nei suoi costrutti o nei suoi poteri.

Ecco il mio ragionamento: - C'è un sacco di codice là fuori e la manutenzione richiede più persone rispetto alla scrittura di nuovo codice.

  • Il campo "Le lingue delle macchine virtuali sono troppo lente" sta lentamente perdendo (specialmente perché Java è riuscito a diventare algo trading).

  • Le principali aziende lo usano ancora in tutti i settori, incluso Oracle.

  • La Android sta crescendo più velocemente di iOS, senza altri concorrenti in vista, e questo porta più gente alla lingua.

  • È più semplice da usare per le persone rispetto ai linguaggi funzionali. È facile per i puristi delle lingue e gli accademici apprezzare i linguaggi funzionali e le loro capacità, ma la maggior parte dei neofiti senza laurea in CS non apprezzano appieno il potere della Lambda. Quindi non penso che queste lingue decollerebbero.

  • È completamente gratuito (a differenza di .NET che è ancora più vicino all'ecosistema di Windows nonostante le alternative).

3
Uri

Non sono sicuro di Java. Ma sicuramente la JVM rimarrà rilevante supportando molte altre lingue.

3
Gulshan

È uno dei più grandi nomi della programmazione Enterprise (J2EE). Sono abbastanza sicuro che non lo vedremo scendere per i prossimi due anni.

3
Terence Ponce

Dipende da come si evolverà la lingua.

Allo stato attuale Java non è molto attraente come linguaggio. È nato per supportare un (e solo uno) paradigma: OOP. Si colloca da qualche parte a metà strada tra le lingue che consentono astrazioni di livello superiore (come C++ e le sue funzionalità di metaprogrammazione) e linguaggi di scripting con capacità di riflessione (come i comandi Python "exec" e "dir") ma in qualche modo non riesce a trovare il suo vero posto. Sta praticamente diventando obsoleto come "linguaggio" ". Non era per il fatto che è uno standard di fatto sui dispositivi mobili, penso che ormai sarebbe morto.

Per quanto riguarda il fatto che è un buon linguaggio di insegnamento per OOP ho i miei dubbi da quello che posso vedere: tutti i programmatori nati in Java generano schemi di visitatori e osservatori ovunque ma non è che ho un grande esperienza con Java.

C'è ancora molto codice legacy e sui dispositivi mobili è uno standard. Detto questo, non sceglierei mai Java per un desktop o un'applicazione Web. Non vi è alcun motivo, a parte quelli aziendali (la maggior parte dei gestori annuisce se dici "Java" e cioè supponiamo, il motivo è uno standard sui dispositivi mobili).

3
Emiliano

Java non perderà completamente la sua rilevanza per molti altri anni, ma è certamente in declino. Se gli sviluppi recenti influiranno su questo o se Oracle può cambiare, resta da vedere. Ma penso che un giorno potrei essere come COBOL, nessun nuovo progetto, ma neanche morire del tutto.

2
indyK1ng

COBOL, Fortran e C sono ancora rilevanti. Qual è la possibilità che Java sparirà tra cinque anni? Concepibilmente non ci saranno molte novità Java sviluppo tra cinque anni, ma scommetterei contro anche quello, poiché ci sono molte persone che usano Java e i negozi sono piuttosto lenti a cambiare la loro lingua preferita.

2
David Thornley

Ci sono state alcune tendenze nel mondo Java - in particolare l'adozione assolutamente geniale di JRuby e Rails o Groovy e Grails - che indicano che Java ha ancora molta vita in esso. Poi c'è la situazione Android, che è anche a favore di Java. Recentemente come Snow Leopard su Mac, alcune modifiche - che ora supportano Midi senza driver esterni - lo fanno in modo che stia guadagnando anche possibilità sul desktop. E le app Swing finalmente sembrano native al 99% (o almeno ci sono un sacco di casi che lo credono ora: 10 anni fa non ce n'erano).

Java ha vissuto un momento straordinario negli anni '90, in cui sembrava fosse la soluzione per tutto. Ora è chiaro che nulla è la soluzione per tutto. .Net prende a calci in culo, Ruby, Python e PHP (con soluzioni CMS sciocche e interi framework con cui le persone si sposano per sempre!) E Java (con Groovy JRuby JPython qualunque), e molto altro ancora. La risposta è:

Aspettati un universo pluralistico

Java continuerà a svolgere un ruolo importante in questo universo? Se intendi "lingue che girano su JVM" la risposta è sicuramente. Se la risposta è solo Java (lingua, JVM, ecc.), La risposta è "forse non così importante". Ma dai, anche Cobol è ancora in agguato.

1
Dan Rosenstark

Penso che il mondo accademico abbia ancora bisogno del valore dell'open source in Java. Ci sono così tante potenti librerie (focalizzate su scopi accademici) sviluppate su Java.

Sono d'accordo che Java rimarrà rilevante, ma per segmenti più piccoli.

1
VinkyH

Google scrive molto in Java e Google è la più grande azienda del Web. Penso che il web sia il futuro - applicazione web, cloud computing - e quindi penso Java è ancora rilevante in futuro.

E c'è Android, che è il futuro degli smartphone secondo me. E alcune persone dicono che gli smartphone sono il futuro del computer - cosa non è la mia opinione :) - ma dovrebbero anche dare a Java un grande futuro. Quindi vai Java : D

1
SCBoy

Sospetto che alla fine tutte le lingue attraversino una fase in cui gli esperti diranno "[La lingua] è la COBOL del [inserire decennio qui]".

Java è diventato uno strumento standard, esclusivamente o uno dei principali strumenti, in una serie di aree di sviluppo software. Il suo VM è popolare come piattaforma su cui costruire nuove lingue. Rimarrà troppo a lungo solo a causa della sua enorme inerzia, anche se le nuove lingue migliori diventeranno popolari.

1
DarenW

Ecco un articolo di ReadWriteEnterprise sul declino di Java:

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

Ciò a cui stiamo assistendo non è la morte di Java, ma la sua trasformazione. Si sta passando dall'essere solo una piattaforma di uso generale che ha dominato l'azienda ad essere il fegato di molte tecnologie disparate per varie applicazioni speciali.

Risolve anche in che modo strumenti specifici offrono alternative a Java, ma non necessariamente la sua sostituzione:

Sebbene i database NoSQL offrano un'alternativa ai database relazionali, ciò non significa che i database relazionali andranno via. Allo stesso modo, Node.js offre un'alternativa specializzata ad Apache, ma non ucciderà Apache.

0
Britt Wescott

Se è legato ad alcuni settori (ad es. Banche, piattaforme mobili, ecc.) È come chiedere "Internet Explorer sarà ancora rilevante tra 5 anni ..." 5 anni fa. Oggi ci sono molte aziende che hanno siti Web interni specifici di IE che non possono essere riscritti da zero. Quindi non è "pertinente" ma "inevitabile".

Per venire alla tua domanda-- no, non è rilevante come forza trainante per l'innovazione; ma sì, è rilevante perché molte industrie richiederanno Java applicazioni per essere mantenute per molti anni a venire.

0
lorenzog