venerdì 24 settembre 2010

Java è un linguaggio sicuro?

Questo post non parla di sicurezza puramente informatica, ma di sicurezza di investimento. Io sono un programmatore Java incallito, di quelli che storcono il naso a pensare a C# pur riconoscendogli il grande valore che merita. Non sono però un fanatico di Java, ritengo che molte cose la Sun abbia cercato di farle "bere" agli sviluppatori (come l'assurdità della bruttezza dell'operator overloading). Mi ritengo quindi uno sviluppatore abbastanza oggettivo circa questo fantastico linguaggio.
Come si sa, Oracle ha acquisito Sun, azienda che ha creato Java. Problema: Java è business, e lo è sempre stato. Quando Java è stato introdotto, le sue prestazioni erano buone (o almeno sufficienti per fare anche elaborazioni grafiche), ma non erano eccelse. Sun era probabilmente tranquilla: poteva dominare il mercato con il monopolio sul linguaggio. Eppure l'interesse attorno a Java ha attirato altre grandi aziende, così IBM incaricò OTI di sviluppare un ambiente (e prima una libreria) ad altre prestazioni per Java: nasce SWT ed Eclipse. Allora Sun deve controbattere: aumenta le prestazioni di Swing e si focalizza su Netbeans (sto andando in fast-forward con la storia...). IBM aveva anche creato un compilatore, Jikes, che produceva codice piu' ottimizzato di quello Sun, unico ambiente dove effettivamente l'azienda deteneva il monopolio. Con l'avvento delle aziende e tecnologie che ruotavano attorno a Java, Sun si vide costretta a inventarsi qualcosa di nuovo: J2EE. Che nelle prime specifiche aveva molte bruttezze analoghe a quelle che gli ingegneri Sun attribuivano al rivale C++.
Nel frattempo diversi sforzi vengono fatti per rendere OpenSource Java, i compilatori, le librerie e perfino le virtual machine.
Allora Sun, forse per mantenersi il favore degli sviluppatori e usufruire della comunità rilascia Java come OpenSource. Ma questo produce un calo delle azioni della compagnia, e Jonathan Schwartz inizia a scalare la compagnia. La compagnia viene poi comprata da Oracle, la quale intenta una causa contro Google. Se tutto ciò è corretto Jonathan possiede azioni a basso presso che si rivalutano non per il maggior potere tecnologico, ma per la causa intentata.
Ovviamente la causa Oracle-vs-Google ha suscitato molte reazioni: c'è chi sostiene che C# (e in particolare Mono) sia piu' sicuro di Java, essendo non in mano ad una azienda. In realtà non è così: C# è di fatto Microsoft. O meglio, è uno standard ECMA, ma le feature sono di fatto decise da Microsoft, mentre per Java le feature sono decise da una comunità. O almeno è stato così con JCP, vedremo ora. Intanto si può leggere l'ottimo post di Miguel De Icaza.
La morale? Non credo ci sia, diciamo che non esiste un linguaggio o una tecnologia davvero sicura. La pervasività della tecnologia (o del linguaggio) fanno la differenza. Ma un pizzico di oggettività non guasta mai...

Nessun commento: