Precisione, pignoleria o semplice delirio?

A mio avviso, il .NET framework ed il linguaggio C# sono caratterizzati da un design decisamente brillante, anche se ogni tanto qualche pecca  (o presunta tale) salta fuori. Ricordo ancora quando intervistammo Eric Gunneerson (allora PM di C#) chiedendo lumi sull'uso (ambiguo?) della keyword using sia come direttiva sia come statement ricavandone, a dire il vero, una risposta tutt'altro che soddisfacente. Ecco un paio di considerazioni sulle quali mi piacerebbe conoscere alcune opinioni.

Parlando del Dispose Pattern, mi chiedo spesso se abbia senso definirlo tale (pattern, appunto) o se non sarebbe più corretto riferirsi ad esso definendolo un idioma. Se è vero che: " Idioms are language-specific in that the problem they solve, or the context in which those problems are encountered, are caused by the language" allora credo che forse la riflessione sia fondata e non fuori luogo.

Vogliamo parlare di array? In C#, un array di interi (ma potremmo anche utilizzare un altro tipo) si può definire e costruire in questo modo:
int[] i = new int[101];
Quel int[] lascia chiaramente intendere che l'array si possa considerare un vero e proprio tipo, oltretutto derivato da System.Array, visto che è possibile chiedere:
Array a = i;
E che:
i.GetType().BaseType.Name
Restituisce "Array". Ciò che appare in qualche modo incoerente è vedere accanto al metodo costruttore new un tipo differente, ossia int[101] Probabilmente, una espressione formalmente più corretta sarebbe stata:
int[] i = new int[](101); 
Immaginando di utilizzare quindi un costruttore parametrico in overload.

Idee? Opinioni? Commenti? (Non sparate sul pianista...)

posted @ giovedì 31 marzo 2005 02:33

Print

Comments on this entry:

No comments posted yet.

Your comment:



 (will not be displayed)


 
 
 
Please add 3 and 1 and type the answer here:
 

Live Comment Preview:

 
«luglio»
domlunmarmergiovensab
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910