Osservazione 1: "Finora, invece, i profitti li ha fatti proprio chi si è dedicato ad una solo sistema
operativo, ottimizzando il software solo per quello! (leggi Bill Gates)."
R.: L'esempio di MicroSoft è indubbiamente eclatante, ma proprio per questo non è calzante. Quante
aziende, infatti, hanno avuto grande successo come l'azienda di Bill Gates? Inoltre MicroSoft non si è
mai sforzata di ottimizzare più di tanto il proprio software: basti pensare alla gestione della memoria in
Windows, alle immagini bitmap non compresse, al formato ingombrante dei documenti di Word per
Windows, etc. Il successo di MicroSoft è legato alla grande diffusione del PC IBM, più che alla
qualità del software (DOS e Windows) prodotto da essa. Probabilmente, la fortuna di Microsoft è
scaturita proprio dalla collaborazione con il colosso dell'informatica IBM. In altre parole, la grande
occasione capitata alla Microsoft è da condiderarsi molto rara e quasi unica. Quando si è apprezzata la
portabilità del software implementato in Java si intendeva dire che per una azienda di piccole-medie
dimensioni (tipica in Italia) risulta vantaggioso poter rivendere con costi aggiuntivi minimi i propri
prodotti per diversi ambienti operativi (da febbraio 1996, fra l'altro, il JDK è diponibile pure per
McIntosh, OS/2 e AIX). Nella relazione non si alludeva certo a quelle poche aziende di grandi
proporzioni in grado di condizionare il mercato. Parimenti, non si intendeva fare riferimento
nemmeno a quelle pochissime e fortunatissime aziende che nel giro di pochi anni sono cresciute
enormemente grazie a circostanze molto particolari e dunque irripetibili.
Osservazione 2: "Non è che i buoni programmatori C++ crescano sugli alberi..."
R.: Nella relazione, non si intende dire che per imparare Java bisogna prima imparare il C++ (cosa
ovviamente molto gravosa!). Si intende dire invece che un programmatore C++ è facilitato
nell'apprendere Java, e ciò è un vantaggio. Siccome Java è un linguaggio ad oggetti, chi ha già
maturato una certa esperienza di programmazione ad oggetti è favorito nell'apprenderlo. Coloro
invece che non hanno esperienza di programmazione ad oggetti, devono compiere lo sforzo di entrare
nella logica di tale programmazione. Indubbiamente ciò non è proprio facile e "indolore". D'altro
canto, però, Java è un linguaggio con caratteristiche avanzate, e gli sforzi necessari per imparare a
maneggiarlo forniscono al programmatore inesperto l'occasione per acquisire le conoscenze
fondamentali della moderna programmazione. Java, in altre parole, non è una specie di Visual Basic.
Esso, invece, mira ad essere un linguaggio di programmazione di una certa qualità. Ciò, come
giustamente si può arguire, può essere un ostacolo alla sua diffusione. Difficilmente, infatti, un utente
di Visual Basic sarà disposto a passare a Java. Java dunque è uno strumento adatto ai programmatori
di livello medio-alto, e per questa ragione il suo mercato rimarrà meno esteso di altri strumenti più
semplici e popolari.
Osservazione 3: "Non penso che il Java sia in concorrenza con il C++. Il suo successo è legato ad
Internet, e per ora non si vedono grandi vantaggi dal suo avvento."
R.: Ciò che si intendeva mettere in evidenza è che Java è un vero e proprio linguaggio di
programmazione, e non un semplice "attrezzo" per il browser Netscape. Il progetto di Sun è infatti
più ambizioso di quello di creare un "tool" per Internet. Semmai, Internet è stata abilmente sfruttata
per diffondere e far apprezzare Java. Il successivo commento "Ovviamente Sun mira a destabilizzare
lo strapotere Intel" apposto nel paragrafo "Evoluzione del linguaggio Java", conferma questa visione
delle cose. Oltre a ciò, le caratteristiche di Java sono state giudicate interessanti da molte parti. Si
legga per esempio il commento "Java vs. C++" di Greg Winkins, programmatore C++ alla Telstra
Corporation. Si riporta una parte saliente di tale commento: "The way I use C++ looks like it would
transfer to Java very easily, giving me access to the features of C++ I like, without the danger of the
many extra C++ features" (il commento intero si trova in Usenet Faq "Comp. Object FAQ Version
1.0.8 (05-31) Part 13/13"). Ad ogni buon conto, nella relazione sono stati citati pure gli svantaggi di
Java. In particolar modo è stato fatto notare che esso è, almeno per adesso, un linguaggio solo
interpretato. La progettazione e la messa a punto di un compilatore Java in grado di generare
direttamente eseguibili per le più svariate piattaforme operative sarà un compito delicato. A tal punto,
per esempio, sarà ben difficile mantenere il link dinamico, possibile grazie alla natura di linguaggio
interpretato propria di Java. Si noti pure che nella relazione la possibilità di generare eseguibili da
sorgenti Java è considerata conditio sine qua non Java stesso possa divenire competitivo rispetto al
C++. Per quanto riguarda la possibilità che Java possa divenire un concorrente del C++, senza che
necessariamente Java lo sostituisca, essa è da considerarsi reale e non fantasiosa. Si legga a tal
proposito l'articolo, apparso sul Dr Dobb's Journal di Marzo 1996, "Moving from C++ to Java" di
Gary Aitken, ingegnere del software alla Integrated Computer Solutions.
Osservazione 4: "Ormai lo fanno tutti i browser, senza Java."
R.: Anche se è vero che in generale tutti i browser hanno la possibilità di gestire in qualche maniera i
video e i messaggi sonori, solamente Java fornisce la possibilità di inserire, in maniera efficiente,
animazioni all'interno di pagine HTML.
Osservazione 5: "La Common Gateway Interface non c'entra nulla con la multimedialità."
R.: Di per sé stessa, infatti la CGI non a niente a che vedere con la multimedialità. Però, attraverso
essa è possibile far lanciare al server applicazioni in grado di generare nella finestra del client Web
servizi multimediali, come grossolane animazioni.
Osservazione 6: "Questo esempio è un po' strampalato. Attualmente i processori non riescono a
decomprimere il video in modo efficiente neanche con programmi Assembler, figuriamoci con del
codice interpretato."
R.: L'unico problema nel realizzare l'applicazione Java per audio-video è la velocità. In linea di
principio non vi alcun altro impedimento, la cosa è possibilissima. In futuro i browser compatibili con
Java potrebbero mettere a disposizione degli applet dei metodi nativi per la decompressione del video
con routine ottimizzate scritte in Assembler. Inoltre, la velocità dei processori aumenta costantemente
e i prezzi si abbassano. L'esempio quindi può essere considerato ardito, ma non strampalato.
Osservazione 7: "Ciò produrrebbe la creazione di infiniti Java. Ingestibile."
R.: E' sottointeso che le modifiche a Hotjava riguardano l'interfaccia grafica e alcune funzionalità del
browser. Non si tratta di alterazioni al linguaggio Java (interpretato da Hotjava) che ovviamente
porterebbero molta confusione.
Osservazione 8: "Questo è interessante! Ovviamente Sun mira a destabilizzare lo strapotere Intel!"
R.: L'unico commento positivo che rende ragione della validità di Java. Se Java fosse solo un "tool"
per Internet, difficilmente potrebbe "destabilizzare lo strapotere Intel". La Sun Microelectronics (ex
Sparc Tecnologies Business) ha già annunciato l'uscita di una famiglia di microprocessori (picoJava,
microJava e UltraJava) ottimizzati per Java. Secondo quanto annunciato, il microprocessore picoJAva
sarà disponibile per la metà del 1996, microJava per gli inizi del 1997 e UltraJava per la fine del 1997.
Osservazione 9: "Java è la marca di caffè distribuita dalle macchinette alla Sun!"
R.: Ciò non toglie che sia stata fatta un ricerca di mercato per il nome da attribuire al nuovo
linguaggio di programmazione. Altrimenti non si spiegherebbe il fatto che è stato abbandonato il
vecchio nome Oak. Le ricerche di mercato sono la norma per lanciare i nuovi prodotti. Dal nome,
infatti, dipende spesso il buon esito della vendita di un prodotto. Il nome Java non deve certo
meravigliare. Altrimenti dovremmo meravigliarci anche dei nomi dati alle nuove automobili, che pur
essendo spesso strambi, sono però tutti frutto di scrupolose ricerche di mercato. E poi, perché
meravigliarci di Java e non meravigliarci della Sun, una azienda che si chiama Sole? L'acronimo
S.U.N. non è stato certo scelto a caso...
Osservazione 10: "Proprio questa Applet mostra i limiti del Java per applicativi come animazioni, in
quanto la "scattosità" dell'animazione è rilevante in tutte le piattaforme viste (Intel, Sun). Java, per la
sua genericità, non può accedere direttamente al buffer video, né inviare i suoni in tempo reale alla
scheda audio."
R.: Per quanto riguarda l'animazione, forse durante le prove non è stata tolta la pausa nei parametri
passati allo applet Animator (il tag relativo nel documento HTML è: <param name=pause
value=200>). La velocità dell'animazione decuplica se si pone value = 0. Ancora una volta, la vera
critica verso Java è la velocità. Riguardo a quest'ultima, però, si può fare ancora molto per migliorare
la situazione.