Logo Blogo

Steve Jobs attacca, James Gosling risponde: in ballo c'è Java

Pubblicato: 29 ott 2010 da Federico Moretti

JavaIl rapporto tra Java e i sistemi operativi per dispositivi mobili non attraversa certo il momento migliore. Nonostante piattaforme come GetJar sembrino non conoscere crisi, Oracle è in polemica con entrambi i principali distributori di OS per smartphone di ultima generazione (almeno, stando ai dati di vendita). Il problema con Google è noto, tanto che non varrebbe la pena aggiornare ai dettagli dell’ultimissima ora.

È meno popolare, ma altrettanto importante lo scontro con Apple. Il caso è scoppiato con l’ultimo keynote di Steve Jobs: con una serie di dichiarazioni, dapprima per nulla esplicite, è emerso che Java non sarà presente nel futuro di Mac OS X. Ciò significa essenzialmente che tutte le applicazioni distribuite via App Store dovranno escludere il linguaggio, che è stato deprecato un po’ come avvenuto con Adobe Flash.

Se ne sono occupati anche i colleghi di Melablog.it: Apple polemizza sull’aggiornamento di Java. Ne avevamo parlato proprio su queste pagine, poiché la roadmap di JDK7/8 ha subito delle alterazioni recenti. Secondo Steve Jobs, Java di Oracle sarebbe sempre in ritardo di una versione. James Gosling, padre del linguaggio, ha smentito citando l’esempio di IBM e HP. Intanto, un trojan affligge OS X a causa di Java.

Via | Ars Technica

1 stelle2 stelle3 stelle4 stelle5 stelle (nessun voto)
condividi condividi
17 commenti

Commenti dei lettori

(Inserisci un commento - Nascondi commenti anonimi)
  • Profilo di Vendicatore

    Vendicatore

    29 ott 2010 - 09:39 - #1
    1 punto
    Up Down

    L’annuncio riguardante Java non significa quello che la gente pensa.
    Molto più semplicemente: Osx si è allineato a quello che già fanno gli altri OS sul mercato (Microsoft e Linux), ovvero considerare la JVM un applicazione esterna e non mantenuta dagli sviluppatori del sistema operativo.
    Cosa significa? Che Oracle svilupperà la JVM direttamente, così come già accade negli altri OS.
    L’ha ribadito anche Jobs rispondendo ad una mail di uno sviluppatore Java preoccupato: quello attuale non era il modo migliore di lavorare, in quanto le due aziende hanno roadmap diverse sul rilascio di patch e nuove versioni… quindi ci si trovava sempre a dove inseguire l’ultima JVM.
    Riguardo l’AppStore: inanzitutto per OSX non esiste ancora, in secondo luogo anche in quello attuale (iPod/Pad/Phone) non potevi usare java, in terza battuta l’AppStore sarà solo un modo aggiuntivo di distribuire applicazioni su Lion (e non l’unico).
    Secondo me si stà facendo molto rumore per nulla…

  • Simosimosimo

    29 ott 2010 - 10:42 - #2
    0 punti
    Up Down

    @Vendicatore: grazie per la spiegazione, devo dire che dal solo articolo mi ero fatto un’idea sbagliata!

  • Franchino Franchetto

    29 ott 2010 - 12:29 - #3
    1 punto
    Up Down

    Grazie per l’ennesimo chiarimento dopo la solita disinformazione.

  • Andrea R

    29 ott 2010 - 13:00 - #4
    1 punto
    Up Down

    @Vendicatore
    secondo te una applicazione non gratuita può stare sia dentro l’app store che fuori?
    Magari a due prezzi diversi, uno inclusivo di tassa apple e uno no?
    Io non credo proprio. L’app store sarà una scelta obbligata per chi voglia comprare certe applicazioni. Magari non all’inizio, ma in tempi stretti.
    Si accordano sviluppatori e apple sullo stare in app store o meno, il cliente subisce la scelta.
    L’app store non è un modo “in più” di distribuire le applicazioni, purtroppo.

  • Kim Allamandola

    29 ott 2010 - 13:06 - #5
    -1 punto
    Up Down

    Considero Apple come un’azienda dannosa per l’informatica producendo lock-in e
    spazzatura, al pari di Microsoft e in parti diverse di altre. Tuttavia sono
    d’accordo con Jobs nel criticare sia flash che java.

    Sono tecnologie diffusissime, e a mio modo di vedere assurde. Il flash è bucato
    e pesante oltre ad essere nelle mani di una sola azienda *closed*; il Java è un
    linguaggio la cui complessità è grossomodo pari al C++, è più pulito certo, ma
    è anche meno performante.

    Certo oggi non vi sono alternative complete al flash (html5 è indietro) né al
    java (ha n-mila librerie che ruby (ror) o python non hanno) ma questo vuol dire
    che è il caso di *costruire* strumenti equivalenti potenziando quelli che già
    esistono e/o scrivendoli come si deve.

    @Vendicatore
    giusta precisazione :-) però la linea della Apple mi sembra chiara: non ci
    facciamo più n patch alla jvm in casa vuoi perché costa e non ha molto senso
    ma sopratutto perché *non* vogliamo java tra i piedi!

  • DevURandom

    29 ott 2010 - 13:27 - #6
    0 punti
    Up Down

    Kim: Java grossomodo ha le prestazioni c++ utilizzando compilazione JIT e risparmiandoci la gestione della memoria e l’ereditarieta’ multipla e’ decisamente meno complesso di c++…

    In my opinion appena oracle accellera’ lo sviluppo di Java7 e 8 ne vedremo delle belle!

  • Kim Allamandola

    29 ott 2010 - 13:52 - #7
    0 punti
    Up Down

    @DevURandom
    Dissento sulle performance: il jit dà un incremento di prestazioni limitato,
    e neppure sempre, in più per quanto si siano fatti passi da gigante un sw java,
    time alla mano, performa meno di uno *scritto bene* in C++. In teoria Java è
    più pulito ma in pratica se guardi un software java “medio” dal piccolo
    giocattolino per il terziario a IBM Porcal^H^H^Htal server passando per
    Eclipse, per non parlare di JDeveloper vedi che se non è proprio scritto coi
    piedi è nel 99% dei casi un bloat mostruoso di codice.

    Sull’ereditarietà multipla bé non puoi fare il “diamante” ma con le interfacce
    è come se avessero fatto l’ereditarietà multipla un po’ storpiata ma pursempre
    tale :-)

    IMO con Oracle, il team OpenJDK che se ne va, IBM che si appoggia loro ecc ci
    sarà moooooolto casino: OpenJDK non può nulla contro java “ufficiale” nel
    settore j2ee ma con j2ee in mano ad Oracle trovo *prioritario* starne alla
    larga… Sarò un po’ sognatore ma spero sempre che java muoia come morì il
    modula da cui deriva e venga soppiantato da un Python e/o Ruby e/o Perl (6?)
    cresciuti, senza la lentezza nell’utf8 del Ruby ecc :-) Questo è un futuro che
    vedo valido, possibile e tecnicamente bello…

  • Profilo di Vendicatore

    Vendicatore

    29 ott 2010 - 14:24 - #8
    0 punti
    Up Down

    @4: li starà molto alle scelte dei singoli sviluppatori, ma di sicuro sarà difficile trovare la stessa applicazione sia dentro che fuori (a meno che non sia gratuita).
    Pubblicando l’applicazione sullo store si fa una scelta molto precisa: sacrificare parte del guadagno in favore di una maggiore visibilità nel caso l’applicazione abbia successo.
    Di sicuro ci saranno molti sviluppatori Mac-only che sceglieranno lo store… solo per il fatto che è estremamente facile vendere tantissime copie di un applicazione potenzialmente inutile a 1$…

  • JaKaiser

    29 ott 2010 - 14:34 - #9
    0 punti
    Up Down

    > giusta precisazione :-) però la linea della Apple mi sembra chiara: non ci facciamo più n patch alla jvm in casa vuoi perché costa e non ha molto senso ma sopratutto perché *non* vogliamo java tra i piedi!

    Kim, questa è una supposizione. Mac OS X è stato il primo (e unico!) OS a venire fornito per anni con una JVM integrata. Lamentarsi che ora non ci sia più è ridicolo, anche perché le applicazioni client Java le contiamo sulle dita di due mani. Semplicemente, alla Apple dicono di non riuscire più a starci dietro. Per maggiori info:

    http://thejhead.blogspot.com/2010/10/goslings-reply.html

    PS: ti trovo sempre, eh? :D

  • Profilo di guiodic

    guiodic

    29 ott 2010 - 15:52 - #10
    1 punto
    Up Down

    confrontare java a c++ non ha senso, visto che il bytecode java è eseguibile ovunque mentre il compilato c++ ovviamente no. Non capisco davvero come si faccia a fare confronti del genere. Semmai puoi confrontare java con c# e .net.

    Comunque lamentarsi con Sun/Oracle per gli aggiornamenti di Java è un po’ ridicolo visto che è Apple a non aggiornare il “suo” java, non certo il contrario!

  • JaKaiser

    29 ott 2010 - 18:29 - #11
    0 punti
    Up Down

    @guidoic
    > Comunque lamentarsi con Sun/Oracle per gli aggiornamenti di Java è un po’ ridicolo visto che è Apple a non aggiornare il “suo” java, non certo il contrario!

    Infatti quel che dicono è che non riescono a starci dietro e che non vale la pena continuare a lavorare indipendentemente, visto che ora Java è sotto la supervisione di Oracle e provvede a fornire rilasci più frequenti.

  • PD

    29 ott 2010 - 19:44 - #12
    0 punti
    Up Down

    Nessuno più vuole applicazioni desktop in java, e nessuno più vuole applet sulle pagine web (da tempo immemorabile ormai.)

    Ormai java è relegato a due tipologie di programmi: applicazioni lato server (jsp) e applicazioni professionali specifiche (sviluppo, appunto, di programmi java ed eventualmente pianificazione uml.)

    Le cose non sono destinate a cambiare, a meno che Oracle non tiri fuori una magia dal suo cilindro, cosa che non è interessata a fare.

    Jobs non ha fatto altro che prendere atto di tutto ciò.

  • darkat

    30 ott 2010 - 01:11 - #13
    0 punti
    Up Down

    @Kim Allamandola: però tu non tieni presenti i 2 punti fondamentali per cui java è stato creato, prima di tutto il poterlo eseguire su multipiattaforma, e secondo per essere più facile da imparare rispetto al C++. Tu dici che un programma scritto “bene” in c++ è ovviamente più prestazionale di uno scritto in java, ma è proprio questo il punto, scrivere “bene” un programma in c++ ad oggi non è una cosa così semplice come lo è in java, è molto più facile fare una schifezza di codice in C++ che in java…quest’ultimo inoltre offre una debugging nettamente più veloce rispetto a quello del c++, dove per trovare un singolo e ridicolo bug ci si può mettere anche una vita. Quindi paragonare i linguaggi attraverso le prestazioni è fuoriluogo, java non ha mai promesso di essere il linguaggio più veloce ne tanto meno di superare le performance di c++. i suoi obiettivi sono ben altri.

  • Kim Allamandola

    30 ott 2010 - 10:41 - #14
    0 punti
    Up Down

    @JaKaiser #9
    > Kim, questa è una supposizione.
    Vero :-) ma basata su un po’ di news e ratio! E si, sono un po’ loquace in
    questi giorni :D

    > Mac OS X è stato il primo (e unico!) OS a venire fornito per anni con una
    > JVM integrata
    Non direi… AiX da eoni ha la sua, Solaris idem. Se dici tra Windows e OSX
    si solo OSX ha la sua jvm, come ha una sua versione di python che fa meno
    cose del python ufficiale… Sono scelte che ritengo “egocentriche” che a
    parte rompere i marroni agli sviluppatori e/o cercare di creare lock-in anche
    con sw non proprio …

    @guiodic 10
    Confronto java a C++ perché, nel settore desktop e workstation, si usa java
    per applicazioni standalone che possono benissimo essere fatte i C++ con lo
    stesso impegno di tempo/costi. Purtroppo la massa delle code-monkey ha un
    background pseudo-accademico dove “inizi” col C, passi al C++ (in senso
    eufemistico dato che si mischia C/C++ senz’altro fare che non porcate) da li
    hai un bivio: php “perché è simile al C” (?!) e il resto java. Non si
    conosce altro. Ricordo ancora un prof di reti che per un esame del III anno
    dove c’era da “analizzare” un file cap, compito fatto con tcpdump e gnuplot
    wrappando il tutto in perl mi disse “fallo in C/C++, massimo java che il
    perl e tutti questi affari non li conosco”. Purtroppo aziende di ex-successo
    come Microsoft han formato una massa di ignoranti che oramai sono in un
    mucchio di posti commerciali ma anche tecnici e vivono nel loro barbaro e
    privato mondo.

    @PD #12
    completamente d’accordo!

    @darkat #13
    Java è fatto per essere multipiattaforma, vero, ci riesce? Non credo proprio.
    La applicazioni java che possano andare senza modifiche si Windows, OSX, AiX,
    Solaris, GNU/Linux, HP-UX senza modifiche si contano sulle dita di una mano
    sola; la maggior parte vuole quella jvm, di quella versione, su quel sistema
    operativo (no, senza tirare in ballo JNI).

    In teoria l’idea di java era quello di cui ancora si parla oggi: non avere
    differenza tra un’app desktop classica ed una web; avere delle applicazioni su
    un server che vengono scaricate solo per le parti necessarie dall’utente
    finale (i .class di cui hai bisogno). Era una visione futuristica che non è
    stata molto creduta e successivamente riciclata per altri compiti.

    Di nuovo in *teoria* java è più pulito, ma in pratica prendi le source di una
    qualsiasi app java da Eclipse a Uni10 e dimmi se è pulita: le app java scritte
    bene si contano sulle dita di una mano e coincidono con quelle realmente
    multipiattaforma. In *pratica* sia Java che C++ (ed anche php) sono linguaggi
    che *non* vengono usati per scrivere codice pulito. Java doveva essere una
    rivoluzione Sun ma non ha funzionato tecnicamente è stato un “successo”
    commerciale, un progetto rivoluzionario mal guidato dal management che voleva
    un’altra cosa; oggi ha senso IMO parlare di Python, Ruby, Perl ecc java come
    C++ sono linguaggi che, vuoi per il sempre minor livello culturale degli
    sviluppatori, vuoi per la loro evoluzione e per l’evoluzione dell’hw, sono in
    grado di assolvere la maggior parte dei compiti ad un costo anni luce più
    basso.

    Se solo fai caso ad Ubuntu tutte le innovazioni di Canonical da bazaar al
    software-center, ad awn, a pezzi di gnome sono in python, appspot è in python,
    python è usato come colla nella maggior parte dei software scientifici ecc.
    Ruby con rails stà bruciando tappe molto in fretta, perl nonostante la 6
    attesa da anni continua ad essere usato in un mucchio di campi ecc. Sono
    linguaggi facili e flessibili, ancora non completi come il java (j2ee) ma in
    regolare crescita mentre C++ e Java oscillano intorno ad una linea piatta…

    Ps scusate il lungo post :-)

  • francescoagati

    30 ott 2010 - 13:28 - #15
    0 punti
    Up Down

    sulla vm machine java attualmente girano un sacco di linguaggi molto interessanti. All’estero linguaggi come clojure, scala, groovy e jruby stanno avendo un interesse sempre maggiore. (provate a fare delle ricerche su clojure in tweeter per vedere quanti tweet ci sono). Poi stanno nascendo linguaggi sperimentali nuovi come mirah e seph che meritano molta attenzione. Peccato che qui in Italia siamo sempre indietro coi tempo e magari inizieremo a mettere mano lavorativamente a queste meraviglie tra 10 anni, arrivando sempre per ultimi

  • darkat

    30 ott 2010 - 14:03 - #16
    0 punti
    Up Down

    @Kim Allamandola: beh si sono abbastanza d’accordo su tutto il discorso, sopratutto quello su python, continuo però a pensare che anche se gli sviluppatori combinano “pasticci” con java, combinano molti più pasticci con il c++…parlo sempre dello stesso livello di sviluppatori ovviamente

  • Paul_

    02 nov 2010 - 17:55 - #17
    0 punti
    Up Down

    Java ormai è diventato il COBOL del 2010.
    Confrontate le righe di codice necessarie per fare delle banalissima operazioni (come leggere un file riga per riga) con altri linguaggi di alto livello come C# o Python :-)

L'email è richiesta ma non verrà mostrata ai visitatori.
Commenta questo articolo

Registrati per riservare il tuo nickname preferito su tutti i blog di Blogo e per caricare il tuo avatar. Se sei già registrato, effettua il login per usare il tuo nickname.

Si No
I commenti sono sottoposti alle linee guida per la moderazione.

Anteprima del commento