View Single Post
Old 10-05-2011, 07:44   #63
^TiGeRShArK^
Senior Member
 
L'Avatar di ^TiGeRShArK^
 
Iscritto dal: Jul 2002
Città: Reggio Calabria -> London
Messaggi: 12112
Quote:
Originariamente inviato da PGI-Bis Guarda i messaggi
Su questo siamo d'accordissimo. D'altronde è in cima al forum il mio suggerimento sul linguaggio che propongo come entry level, e non è Java.

Ritengo assurdo pensare che quel meglio (anche senza i molto) sia C# che è l'agglomerato di tutti i difetti dei linguaggi che l'hanno preceduto.

Mi dicessi F# se ne potrebbe anche parlare ma C# neanche per idea.

Circa la m@#, c'è un'altra divertente coincidenza . Io scriverei infatti:

Codice:
Calendar time = new StringExt("31.3.2011").toDate();
Dubito di avere una semplificazione già sperimentata e infilata nella mia libreria personale per ogni problema tu possa aver incontrato tuttavia è sintomatico il fatto che alcuni "problemi" siano comuni (ti anticipo: non inveire contro swing, input/output, collections e riflessione perchè ho una batteria di precotti, avrei anche qualcosa sui database ma lì potresti effettivamente fregarmi perchè non sono tanto convinto del mio BeanStore, sebbene io lo usi ormai da tempo ).

La necessità di usare le classi anonime. Eh, lì qualcosa che sa di vecchio c'è. Uno non dovrebbe dire che sia un problema di codice perchè fa tutto l'ide (fun1, fun2, fun3 + tab e netbeans mi piazza la funzione) ma visivamente anche io ne sono un po' inorridito. Ogni tanto cerco di dargli un aspetto diverso, tipo scrivere:

Codice:
new VFunction1<Integer>() { public void apply(Integer x) {
    ...codice
}};
Ma è un diverso grado di schifo. Mi piacerebbe poter scrivere:

(x: Integer) => codice

Sì. Mi piacerebbe quello che gli va dietro? Non ne sono tanto sicuro. Il fatto è che quando si inizia ad avere una forma contratta per le funzioni ti arrivano anche le funzioni di ordine superiore.

E quando arrivano quelle allora ti puoi aspettare che capiti questo:

(f: (a1) ⇒ (a2) ⇒ (a3) ⇒ (a4) ⇒ (a5) ⇒ b): (a1, a2, a3, a4, a5) ⇒ b

Aggiungi i generici (che in C# sono molto più complicati di Java, che già è esoterico sull'argomento, pur essendo stati scritti da un genio assoluto - lo possino...) e fai i tuoi conti.
guarda che anche in quel modo che usi tu se scrivi 31 marzo 2011 nel calendar e poi stampi subito dopo il risultato di ritrovi un bell'1 aprile 2011...
E un bug della madonna del genere in un linguaggio tra i piu' usati e' qualcosa di inconcepibile per me.
Per quanto riguarda le inner class per me i delegate e le lambda function sono un deciso passo avanti.
__________________
^TiGeRShArK^ è offline   Rispondi citando il messaggio o parte di esso