Claudio Brotto

VB.NET to the rescue

Ho sempre sostenuto che VB.NET fosse un linguaggio creato più per ragioni di mercato che per reali necessità tecnica/tecnologica.

Giudizio, a dire il vero, anche motivato (e che in parte sostengo tuttora).

Non credo, ad esempio, che l'aver incluso (o meglio dire lasciato ?) costrutti sintattici stile On Error Resume/Goto sia una scelta dovuta a ragioni di implementazione del linguaggio. C'è perchè c'era (in VB6), per agevolare la conversione ... anche se sarebbe stata una buona occasione per far passare certe brutte abitudini :-P

A dire il vero, comunque, non sono mai stato un amante (neanche un grande utente) di VB e un po' di parzialità in questo giudizio la riconosco tutta ... soprattutto nel momento in cui lo devo ritrattare :-)

Mi sono trovato ad indagare più nel profondo VB.NET in maniera abbastanza casuale.

Yet another language ? Non la penso più così radicalmente come prima.

Ha ragione Marco quando dice che conoscere bene entrambi, ora come ora, non sia solo un vezzo. E che in effetti VB e C# stanno divergendo anche e soprattutto per il target di utilizzo (qui il post a cui mi riferisco).

Però ...

Ho la sensazione che VB9+ possa essere un competitor vincente anche senza uscire dal contesto "classico" di linguaggio statico (quindi anche prima della "divergenza").

Ci sono funzionalità che il compilatore VB mette a disposizione e che possono da sole determinare una scelta, probabilmente più di quanto l'overload di operatori (per dirne una) abbia fatto con C#1.0 vs VB.NET 7.0.

Gli Xml Literals sono un esempio.

Un altro (e credo più rilevante, nel suo piccolo): mutable anonymous types.

Perchè più rilevante ?

Perchè rendere immutable gli anonymous types (come farà il team di C#) non è una caratteristica che un domani si cambia. Punto.

Molto migliore, dal mio punto di vista, la scelta del team di VB.NET (Paul Vick, qui).

Obiettivamente non ho idea di quali siano in realtà *tutti* i motivi che determinano le scelte di progettazione per linguaggi che, ricordiamocelo, sono abbastanza utilizzati ...

Però di sicuro la mia opinione di oggi è:

  • Amo la sintassi di C#, forse perchè sono cresciuto da quel lato del fiume, magari perchè trovo le parentesi graffe visivamente gradevoli (sic).
  • Non esordirò più dicendo "cosa volete fare, VB o C#, tanto sono uguali": magari lo restano nel contesto specifico, postilla che credo sia, ora,  doveroso aggiungere.
  • Sto iniziando a dimenticarmi qualche punto e virgola a fine riga ... vorrà dire qualcosa ?

P.S. Nel mentre non nascondo di aver perso di vista C++/CLI ... Domani chiedo lumi :-)

Comments

Claudio Brotto said:

Ritorno sull'argomento per segnalare questo post di TimNG (direttamente dal team di sviluppo del linguaggio),

# maggio 30, 2007 8.02