Newsgroup: it.comp.java
Titolo: [j2se1.5]Preparativi in casa(?)

Ciao a tutti
ormai l'arrivo del piccolo nuovo j2se1.5 dovrebbe essere imminente, visto 
che la Sun lo dava per la fine di quest'anno.
Le modifiche sono tante e alcune di spessore tale che, a mio modo di vedere, 
cambieranno visibilmente il modo di programmare in Java.
Mi piacerebbe conoscere la realtà nei nostri ambienti di lavoro, soprattutto 
ovviamente in quelli dove Java è lo strumento principe. Come ci si sta 
organizzando? Si svolgono dei corsi, si studia... si ha intenzione di fare 
il "porting" del vecchio codice o ci si accontenterà che resti compatibile? 
Si continuerà a sviluppare "alla 1.4" (conosco qualcuno che lavora ancora 
alla 1.1 :-( ) oppure ci si lancerà tutti sui templates e sui nuovi "loop a 
iteratore nascosto" ?
Mi sembra che se ne parli relativamente poco in giro... l'evento non è in 
realtà così importante come appare a me? :-/
ciao!
pole
-- 
Note: Some input words use a deprecated author.
Note: Read with -deprecation to understand.

 wrote in
news:bp25ss$4ek$
1...@lacerta.tiscalinet.it
: 

Il punto e' che la tecnologia e' rilevante fino ad un certo punto. Ormai 
c'e' in giro una massa sufficiente di codice java in produzione per cui 
e' sempre piu' difficile passare immediatamente alla release successiva. 
Da quanto vedo io la 1.3 e' la release piu' usata al momento. 
Nel mio piccolo, ho gia' una bel' po' di problemi per esser passato alla 
1.4 nel mio codice open source: non passa settimana che qualcuno si
lamenta per "(Unsupported major.minor version 48.0)". :)
-- 
You dont know what to do when you dont know what you're doing.
http://space.tin.it/computer/csadun

 lamenta per "(Unsupported major.minor version 48.0)". :)
La mia opinione (forse fissazione :-)) è che stavolta sia un cambiamento 
molto più importante, forse -la sparo lì- il più grosso che abbia mai avuto 
Java finora. A ben vedere infatti dopo l'introduzione delle inner classes 
non mi pare ci siano più state modifiche sintattiche nel linguaggio, se 
escludiamo gli assert del jdk1.4 che credo non siano largamente utilizzati.
Un esempio: io conosco molti programmatori che non utilizzano/conoscono le 
inner classes. Quando leggo il loro codice provo una certa impressione di 
"inadeguatezza", almeno paragonabile alla loro quando leggono il mio :-)
Immagino che questa situazione possa ora ripetersi amplificata per la grande 
diffusione ormai raggiunta dal linguaggio. Chi rimane all'1.4 continuerà a 
pensare in List e a usare iteratori, mentre i nuovi penseranno in 
List<Integer> e useranno i for modificati? La grossa mole di codice in rete 
in vecchio stile non contribuirà ancora di più a ingarbugliare la 
situazione? Avremo uno spaccamento tra la comunità dei programmatori 
Java_old e quella dei programmatori Java_new simile a quella tra C e C++?
Ora chiamo Gosling... :-)
pole
-- 
Note: Some input words use a deprecated author.
Note: Read with -deprecation to understand.
http://web.tiscali.it/meridies

 Ora chiamo Gosling... :-)


pole wrote:

Non mi sono ancora letto le novità della 1.5, ma da quel che ho sentito dire 
dovrebbe incorporare sia J2SE e J2EE, e questo mi sembra abbastanza 
rilevante. In ogni caso se la compatibilità verso il basso è garantita, 
potrei spendere un pomeriggio a testare il codice che ho in produzione 
sulla nuova versione, altrimenti non se ne parla (per ora).
Per quanto riguarda i Generics mi sarebbero serviti quando ho imparato java 
e passavo il 50% del tempo a correggere errori di cast. Certo quelli che 
abbracceranno java per la prima volta troveranno molto "comodo" poter 
dichiarare liste generiche. In ogni caso credo che non aiuteranno molto a 
scrivere "buon" codice.

 scrivere "buon" codice.
Perché? 


 compatibile all'indietro? Cioe', i generics sono risolti a compilazione?
AFAIK sì, c'è un precompilatore che produce automaticamente i cast dove 
servono, per cui il bytecode prodotto alla fine è lo stesso. Io stesso ho 
scritto un po' di roba con il compilatore modificato per i generics, e il 
codice creato girava senza problemi sulla normale JVM. E' quanto si deduce 
anche da qui:
http://tinyurl.com/uzn2


 
Grazie! Interessante. Mi pare che parli di compatibilita' source level
pero'. Non sapevo dei foreach, quella e' un'altra cosa che apprezzero'
molto: io *odio* scrivere for con indici (o iteratori) "solo" per
scorrere una lista o un array di oggetti tutti uguali e fare la stessa
cosa su tutti. E i varargs! Io scrivo un sacco di codice che fa cose
divertenti (e talvolta intelligenti) via reflection e il fatto di avere
argomenti fissi e' spesso noioso. S'ha da vedere come e' implementata. 


 argomenti fissi e' spesso noioso. S'ha da vedere come e' implementata.
Esatto... se ci aggiungiamo boxing e unboxing automatico per i tipi 
primitivi, i Typesafe enums, i metadata... ci rendiamo conto che il Java 
che ci aspetta è realmente molto diverso da quello a cui siamo abituati. 
Oserei dire anche un po' più complesso: ecco perché mi aspettavo che ci si 
stesse preparando adeguatamente all'evento. 
pole


pole wrote:

Non mi sono ancora letto le novità della 1.5, ma da quel che ho sentito dire 
dovrebbe incorporare sia J2SE e J2EE, e questo mi sembra abbastanza 
rilevante. In ogni caso se la compatibilità verso il basso è garantita, 
potrei spendere un pomeriggio a testare il codice che ho in produzione 
sulla nuova versione, altrimenti non se ne parla (per ora).
Per quanto riguarda i Generics mi sarebbero serviti quando ho imparato java 
e passavo il 50% del tempo a correggere errori di cast. Certo quelli che 


 pole
Perchè la teoria insegna che le liste non sono tipizzate. Quelli tipizzati 
sono gli array, tutto qui.

 iteratore nascosto" ?
Nell'azienda in cui lavoro si sta passando ora alla 1.4.
Il fatto e' che abbiamo clienti con centinaia di postazioni di lavoro 
che andrebbero aggiornate contemporaneamente e quindi cambiare JRE non 
e' un'operazione da fare a cuor leggero.
Inoltre siccome si utilizzava JBuilder cambiare JDK significava anche 
aggiornare l'ambiente di sviluppo con conseguenti costi delle licenze.
Adesso abbiamo iniziato ad utilizzare Eclipse e lo sviluppo si sta 
spostando verso applicazioni web, quindi e' decisamente arrivato il 
momento di fare questo passo.
E' un peccato che la 1.5 non sia gia' disponibile, ma comunque non si 
sarebbe adottata da subito (non e' il caso di rischiare con prodotti non 
ancora maturi).
Andrea Polci


Quello e' solo l'inizio. Il top lo raggiungi quando cominci ad usare gli iteratori interni
stile smalltalk, con operazione come inject, detect, select (usando i cosidetti functor,
mi sembra si chiamino cosi anche in C++, ma qui sei piu' competente tu :-)
Con un po' di googling ho scoperto che le collection di jakarta le implementano, per la
precisione dentro commons-functor 1.0
http://jakarta.apache.org/commons/sandbox/functor/
In particolare:
http://jakarta.apache.org/commons/sandbox/functor/apidocs/org/apache/commons/functor/core/collection/CollectionAlgorithms.html
L'argomento e' vasto, comunque :-)
I generics? Mah...
Ciao,
    Bruno.
-- 
| Bruno Bossola 
| A Java Software Engineer :-)
| 
http://digilander.iol.it/bbossola
| Membro del JUG Torino - 
http://www.jugtorino.it