<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2015-07-28 18:41 GMT+01:00 Manlio Perillo <span dir="ltr"><<a href="mailto:manlio.perillo@gmail.com" target="_blank">manlio.perillo@gmail.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>Come elimineresti null in un linguaggio che supporta i puntatori come tipi primitivi ed in cui ogni variabile è inizializzata al suo valore di default?</div><div></div></blockquote></div><br>Ma infatti io parlavo di Java, non di C. Non e' esattamente facile togliere il concetto di NULL da C o da C++. </div><div class="gmail_extra">Se *oggi* si riscrivesse "Java-like", sarebbe possibile, se non eliminare, ridurre tantissimo lo scope di uso di null. Per esempio, si potrebbe avere roba final di default (che ti costringe ad inizializzare le cose a qualcosa di sensato, perche' poi non lo cambi piu'). Per molti altri casi, Optional.</div><div class="gmail_extra">Certo, come dicevo, all'epoca non lo si poteva fare per vari motivi.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Detto questo, se hai un linguaggio che ha i puntatori, diventa molto complicato non avere il null pointer. Pero' se riesci a fare in modo che i casi in cui ti servono veramente i puntatori sia ristretto (per esempio perche' e' piu' comodo usare "reference" well behaved) stai riducendo molto l'area in cui puoi avere bachi.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Siccome in Java essenzialmente tutte le variabili che non sono tipi primitivi (quindi una fetta bella grossa di quello che scrivi) sono potenzialmente null, hai un problema di una certa larghezza. Gia' se dovessi dichiarare esplicitamente il fatto che qualcosa e' nullable, stai riducendo molto lo scope del problema pratico da risolvere.<br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"> .<br>..: -enrico-</div>
</div></div>