Non son sicuro che ci sia qualcuno che legge quello che scrivo
, ma se c’è si sarà di sicuro accorto che non scrivo nulla da un mese. Sono andato in giro per il mondo a vedere come si lavora (in ambito informatico) negli altri Paesi… Inghilterra, Germania, Francia, Australia (bellissima! Prima o poi mi ci trasferirò!).
Erano anni che ne avevo il sospetto, ma ora che sono finalmente riuscito ad andare a vedere come si lavora all’estero posso dire di averne la certezza: in Italia i professionisti nella programmazione ad oggetti sono pochi, molto pochi, troppo pochi (almeno in ambito java)! Sono invece molto, ma molto diffusi i quaqquaraqquà! Ciò che colpisce e che ferisce è che molti di questi “quaqquaraqquà” vorrebbero non esserlo perché non lo sono né per indole né per formazione, ma si sono dovuti “piegare” alla realtà italiana… ![]()
Andiamo con ordine.
Da sempre mi trovo fianco a fianco con persone che utilizzano tecnologie evolute e utili come struts, spring, hibernate, jsf e chi più ne ha più ne metta. Da sempre ho il sospetto che queste persone, chiamate “professionisti”, usino tali tecnologie senza sapere perché sono state pensate, realizzate e perché sono così diffusamente utilizzate. Ora il mio sospetto è una certezza: non lo sanno!
Non lo sanno e non si pongono il problema di saperlo perché in Italia è giudicato “poco produttivo” porsi domande, migliorarsi, evolvere… In Italia non vengono assunte le menti delle persone, in Italia si cercano manovali, ossia uomini e donne che si siedono ad una scrivania ed eseguono ordini!
Prosegui nella lettura di “Dissertazione sulla programmazione in Italia” »
Questo è un argomento ostile, nel quale è facile perdersi, ma nello stesso tempo è la prima porta da aprire se si vuole entrare a pieno titolo nel mondo della programmazione java…
Innanzitutto distinguiamo tra reference value e object reference.
Un reference value rappresenta un valore (value) e precisamente il valore che viene restituto quando viene creato un particolare oggetto.
Un object reference (o semplicemnte reference) rappresenta invece una variabile che può memorizzare un reference value.
Questa differenza deve essere chiara perché altrimenti niente sarà mai chiaro con i reference in java!
Ora traduciamo questi concetti in codice.
Creiamo 2 object reference di tipo MiaClasse:
1 | MiaClasse refOggetto1, refOggetto2; |
Scrivendo questa riga di codice abbiamo comunicato a java di creare due variabili (nella RAM del calcolatore) di tipo MiaClasse e gli abbiamo anche detto che in queste 2 variabili DOVRANNO essere inseriti dei valori che si riferiranno (reference) a 2 oggetti di tipo MiaClasse. Stiamo parlando di “reference”! Questo significa che in queste 2 variabili java NON inserirà MAI gli oggetti veri e propri, ma il rifeimento a tali oggetti!!!
Rileggete bene l’ultimo paragrafo: è molto importante!
Bene. Inseriamo allora tali riferimenti ai 2 oggetti:
1 2 | refOggetto1 = new MiaClasse(1); refOggetto2 = new MiaClasse(2); |
A questo punto java assegna un valore a refOggetto1 e un altro valore a refOggetto2. Ribadisco ancora che tale valore NON indica l’oggetto vero e proprio, ma indica la posizione (in RAM) dell’oggetto; il suo “riferimento”.
Si può rappresentare graficamente quanto detto con la seguente figura (scusate la poca eleganza).

In questa figura c’è rappresentato tutto quello che bisogna sapere sui reference!
Prosegui nella lettura di “Java, i reference e la RAM” »




