LINQ 2.0 e VBx

LINQ 1.0 non è ancora stato rilasciato, così come Visual Basic 9 sarà rilasciato senza tutte le funzionalità che avrebbe dovuto avere… e già si parla di cosa ci sarà dopo. Avendo da poco terminato un libro su LINQ (scritto prima ancora della beta così da richiedere alcune rettifiche prima ancora di essere stampato), mi sembra strano fare questi discorsi, ma si sa… una volta all’uscita della RTM il team già lavorava alla versione successiva, ora siamo al punto in cui questo avviene quando un prodotto è ancora (o addirittura non ancora) in Beta.

Visual Basic 10.0 viene abbreviato in VBx e costituirà un cambiamento ancora più grande di quello avuto nel passaggio tra Visual Basic 6 e Visual Basic .NET. La differenza non sarà però nella direzione “object oriented”, ma nella direzione dei linguaggi dinamici, che definiscono un rapporto di amore-odio (più spesso amore O odio) rispetto a chi è nato, cresciuto e vissuto con i linguaggi fortemente tipizzati. Un aspetto interessante è che il compilatore di VBx sarà scritto in VBx: fino alla versione attualmente in Beta (Visual Basic 9.0), il codice del compilatore era sempre stato in C++.

Visual Basic e C# stanno prendendo strade diverse, giustificando una scelta tra i due linguaggi più legata all’utilizzo che non a questioni di stile. Non credo (ma sono pronto a essere smentito!) che C# seguirà una direzione simile, almeno nel breve termine (una versione o due). Resta il fatto che passare tra l’uno e l’altro sia più una questione sintattica che di librerie (il motore resta CLR) e quindi essere “bilingue” (conoscere bene entrambi) potrà avere un significato pratico oltre che essere un vezzo (come in parte è oggi).