KULT Underground

una della più "antiche" e-zine italiane – attiva dal 1994

Microsoft Visual Basic.NET

3 min read

Microsoft Visual Basic.NET
(parte prima)


Finalmente è arrivato il momento che molti sviluppatori VB aspettavano da anni: il Visual Basic si evolve in maniera decisa, pure drastica in certi casi, portandosi allo stesso livello di linguaggi ben più blasonati quali il C++ e Delphi.
La prossima versione sarà quindi un linguaggio completamente ad oggetti, che offrirà le stesse funzionalità di tutti gli altri linguaggi basati sul framework .NET, vale a dire C++ e C# (il nuovo linguaggio di programmazione creato da Microsoft ed in fase di standardizzazione).

Ma che cos’è questo framework .NET di cui si sente tanto parlare?

Beh, semplificando necessariamente vista la vastità dell’argomento, è un insieme di classi che forniscono accesso e funzionalità a diverse parti del sistema operativo. Il framework stesso è diviso in varie aree.
Al livello più basso troviamo la BCL (Base Class Library) che contiene, come dice il nome stesso, le classi base che forniscono accesso agli oggetti e all’API del sistema oltree ai tipi di dati del framework.
Un altro blocco importante è costituito dai WinForms, che è in pratica una raccolta di classi per la gestione dell’interfacce Windows (finestre, controlli, ecc…), e dai WebForms per le interfacce web.
Ad esempio la vecchia MsgBox di VB6 potrebbe essere scritta in VB.NET con questa sintassi:

System.WinForms.MessageBox.Show

La MsgBox è ancora presente in VB.NET (almeno nella beta 1) ma non è nient’altro che un wrapper sulla classe vista sopra.
A fianco di questi gruppi abbiamo ADO.NET che fornisce accesso e connettività a database e ASP.NET per le funzioni di comunicazione web.
Sopra tutto questo, quindi al livello più alto troviamo uno strato d’interfaccia per far comunicare il framework con i vari ambienti di sviluppo. In soldoni cosa vuol dire tutto questo?
Vuol dire che tutti i linguaggi .NET si equivalgono ed hanno le stesse potenzialità.
Ovviamente per poter fare questo salto così importante, Visual Basic ha dovuto sacrificare una buona parte della compatibilità all’indietro.
Poco male… le migliorie introdotte valgono ben questo piccolo sacrificio. Certo non sarà facile essere immediatamente produttivi con il nuovo ambiente, ma neanche tanto ostico, e poi la beta 1 è stata ampiamente distribuita a tutti coloro che hanno partecipato ad una qualsiasi conferenza Microsoft riguardante il framework .NET (io stesso ho partecipato a quella gratuita del 30 Gennaio scorso a Roma).
Inoltre è possibile ordinarla direttamente da Microsoft al costo di 15$.

Alcuni di voi avranno forse letto che VB.NET non compilerà in codice macchina nativo, ma in una sorta di pseudo-codice. E per questo avranno storto il naso immagino; ma non preoccupatevi, la verità è un’altra per fortuna.

VB.NET, come tutti gli altri linguaggi .NET, non compilerà in codice macchina nativo, è vero, ma in un qualcosa che assomiglia ad un p-code e si chiama IL (Intermediate Language). Quest’ultimo però, al contrario del vecchio p-code di VB, non verrà interpretato a run-time ma tradotto in linguaggio macchina tramite il compilatore JIT (Just-In-Time) integrato nel framework stesso.
Questo compilatore potrà compilare l’eseguibile in diversi modi:

  • durante l’esecuzione del programma, compilandolo incrementalmente man mano che il flusso passa attraverso le singole routines. Una volta compilata una routine, il compilatore non la compilerà mai più, ed il processo utilizzerà il codice già compilato in precedenza;
  • durante l’installazione, compilando l’eseguibile in una volta per tutte;
  • durante la creazione del pacchetto di distribuzione, compilando anche in questo caso l’eseguibile per intero.
    ·

    Vale a dire che, scegliendo una delle prime due opzioni, sarà possibile utilizzare un unico setup per tutti i sistemi operativi che ospiteranno il framework .NET senza bisogno di modificare alcunchè. A tal riguardo pare che Corel, per conto di Microsoft, stia sviluppando la versione Linux del framework .NET.

    E le prestazioni?

    Beh, ancora non è possibile effettuare delle prove su questo punto (non avrebbe senso dato che tutto il codice è in debug mode), visto che ho per le mani solo una beta 1. Però, essendo stato accettato tra i beta-tester ufficiali di Microsoft per l’intero Visual Studio.NET, avrò modo di seguirne lo sviluppo sino alla fine; quindi vi terrò informati.

    A presto
    Byee 🙂

  • Maurizio Benvenuti

    Commenta