Copertina
Autore Ron Petrusha
Titolo Visual Basic 2005
SottotitoloLa guida completa
EdizioneMcGraw-Hill, Milano, 2007 , pag. 926, cop.fle., dim. 17x24x4 cm , Isbn 978-88-386-4469-6
OriginaleVisual Basic 2005: The Complete Reference [2006]
TraduttoreAnna Rizzon, Alessandro Valli
LettoreCorrado Leonardo, 2008
Classe informatica: linguaggi
PrimaPagina


al sito dell'editore


per l'acquisto su IBS.IT

per l'acquisto su BOL.IT

per l'acquisto su AMAZON.IT

 

| << |  <  |  >  | >> |

Indice


    Introduzione                                            XV


Capitolo 1 - Introduzione a Visual Basic 2005                1

1.1 Da Visual Basic 1.0 a Visual Basic 6.0                   1
1.2 Visual Basic .NET                                        2
    Sistema di tipi comune                                   3
    Libreria di classi .NET Framework                        4
1.3 Common Language Runtime di .NET                          5
1.4 Visual Basic e l'indipendenza dal linguaggio             5

Capitolo 2 - Tipi di dati e variabili                        7

2.1 Tipi di dati di Visual Basic                             7
    Il Common Type System e la funzionalità condivisa       10
    Tipi di dati scalari                                    12
    Tipi di dati complessi                                  22
    Convenzioni di denominazione di Visual Basic            28
2.2 Le variabili in Visual Basic                            29
    Dichiarazione delle variabili                           29
    Inizializzazione di variabili                           31
    Ambito di una variabile                                 32
    Durata di una variabile                                 37
    Binding anticipato e ritardato                          38
    Conversione fra tipi di riferimento e tipi di valore    38

Capitolo 3 - Struttura del programma                        41

3.1 Punto di ingresso dell'applicazione                     41
3.2 Subroutine e funzioni                                   44
    Subroutine                                              44
    Funzioni                                                45
3.3 Parametri                                               46
    Parametri per riferimento e per valore                  47
    Esclusione di un parametro ByRef                        51
    Costruzione di elenchi dei parametri                    52
3.4 Eventi                                                  56
    Eventi di form Windows                                  58
    Eventi di una pagina ASP.NET                            58
3.5 Accesso agli assembly .NET                              58
    Aggiunta di riferimenti agli assembly                   59
    Spazi dei nomi e nomi di tipi completi                  62

Capitolo 4 - Programmazione a oggetti                       65

4.1 I tipi .NET                                             65
4.2 Membri dei tipi .NET                                    66
4.3 Ereditarietà                                            69
    Prevalere sui membri                                    71
    Sovraccarico dei membri                                 72
    Costruttori                                             73
    Distruttori                                             76
    Riferimenti interni: Me e MyClass                       78
    Riferimento alla classe base: MyBase                    81
4.4 Polimorfismo                                            81
    Casting con DirectCast e TryCast                        85
    Occultamento (shadowing)                                86
4.5 Interfacce                                              88
4.6 Membri condivisi                                        92

Capitolo 5 - Programmazione a eventi                        95

5.1 Gestione degli eventi                                   95
    Definizione dei gestori di eventi durante
    la fase di progettazione                                96
    Gestione dinamica degli eventi                         100
5.2 Definizione di eventi                                  101
    Dichiarazione di un evento                             101
    Sollevare un evento                                    102
    Esempio di definizione di un evento                    102
    Esempio di gestione di un evento con un delegato       104

Capitolo 6 - Gestione delle eccezioni                      107

6.1 Controllo del carattere di Visual Basic                107
    Istruzione Option Explicit                             107
    Istruzione Option Strict                               110
6.2 Gestione strutturata delle eccezioni                   112
    Oggetto Exception                                      112
    Blocchi Try... Catch... Finally                        117
    Eccezioni nidificate                                   121
6.3 Generazione di eccezioni                               122
    Istruzione Throw                                       122
    Generazione di un'eccezione definita dall'applicazione 122

Capitolo 7 - La libreria di classe del framework .NET      125

7.1 Raccolta di informazioni sul file system               126
    My Computer e l'oggetto FileSystemObject               126
    Navigazione nel file system                            127
    Recupero di informazioni su un oggetto del file system 127
    Le classi per le informazioni sui file di .NET         129
7.2 Classi collezione e strutture di dati                  130
    La classe ArrayList                                    130
    La classe Hashtable                                    131
    La classe Queue                                        133
7.3 Collezioni tipizzate in modo sicuro e classi generiche 136
7.4 Stringhe e StringBuilder                               139
7.5 Accesso al Registro di sistema                         140
7.6 Riflessione                                            143
    Recupero di un oggetto Assembly                        144
    Istanziazione di un oggetto Type                       144
    Descrizione di un tipo                                 145
    Descrizione dei membri di un tipo                      146
7.7 Attributi                                              148

Capitolo 8 - Guida di riferimento al linguaggio            153

    Direttiva #Const                                       154
    Direttiva #ExternalSource                              159
    Direttiva #If... Then... #End if                       161
    Direttiva #Region                                      163
    Istruzione AddHandler                                  165
    Parola chiave Alias                                    169
    Parola chiave Ansi                                     171
    Subroutine AppActivate                                 174
    Parola chiave As                                       176
    Funzioni Asc, AscW                                     181
    Parola chiave Assembly                                 183
    Parola chiave Auto                                     185
    Subroutine Beep                                        187
    Parole chiave ByRef, ByVal                             189
    Istruzione Call                                        196
    Funzione CallByName                                    198
    Parola chiave Case                                     202
    Parola chiave Catch                                    204
    Funzione CBool                                         205

    [...]

    Funzione UBound                                        829
    Funzione UCase                                         831
    Parola chiave Unicode                                  833
    Subroutine Unlock                                      835
    Istruzione Using                                       837
    Funzione Val                                           840
    Funzione VarType                                       841
    Attributo vbFixedArray                                 844
    Attributo vbFixedString                                848
    Funzione VbTypeName                                    849
    Funzione Weekday                                       851
    Funzione WeekdayName                                   853
    Costrutto While... End While                           854
    Parola chiave Widening                                 856
    Costrutto With... End With                             857
    Parola chiave WithEvents                               860
    Subroutine Write, WriteLine                            860
    Parola chiave WriteOnly                                863
    Funzione Year                                          863


Capitolo 9 - Spazio dei nomi My                            865

9.1 Classe Application  866
    Proprietà ApplicationContext                           866
    Metodo ChangeCulture                                   867
    Metodo ChangeUlCulture                                 867
    Proprietà CommandLineArgs                              867
    Proprietà Culture                                      868
    Proprietà Deplo.vment                                  868
    Metodo DoEvents                                        868
    Metodo GetEnniromnentVariable                          869
    Proprietà IO,                                          869
    Proprietà IsNeiu orkDeployed                           871
    Proprietà Log                                          871
    Metodo Main                                            873
    Proprietà MininuunSplashScreenDisplayTime              873
    Evento Nelu'orkAvailahilityChanged                     873
    Proprietà OpenEonns                                    874
    Metodo Run                                             874
    Proprietà SaveMvSettingsOnExit                         874
    Evento Shutdoa'n                                       874
    Proprietà SplashScreen                                 875
    Evento Startup                                         875
    Evento StartupNextlnstance                             875
    Proprietà UlCulture                                    876
    Evento UnhandledException                              876
9.2 Classe Computer                                        876
    Proprietà Audio                                        877

    [...]


    Indice analitico                                       921


 

 

| << |  <  |  >  | >> |

Pagina XV

Introduzione


Questo libro è una guida di riferimento al linguaggio Visual Basic .NET. In particolare, è stato scritto con in mente l'ultima versione di questo linguaggio, ossia Visual Basic 2005.


Di che cosa tratta questo libro

Il termine "guida di riferimento" può essere impiegato per svariati testi, dai dizionari, che contengono brevi definizioni di singole parole, a enciclopedie specializzate in più volumi, che esaminano approfonditamente gli aspetti più importanti di determinati argomenti. Se si colloca questo libro all'interno di questo continuum, esso dovrebbe appartenere più all'ultima categoria che alla prima. In effetti, esiste già, nella Guida in linea, un riferimento succinto come quello del primo tipo. Chi sta usando Visual Basic .NET 2005 o Visual Basic 2005 Express, le tecnologie IntelliSense e il browser oggetti possono già da soli fornire la sintassi e la funzionalità di base di un particolare elemento del linguaggio, dando per scontato che se ne conosca il nome. La documentazione in linea fornisce una descrizione un po' più approfondita, spesso con un esempio di codice.

Spesso, però, mentre si sta programmando, è necessario conoscere diversi dettagli su un elemento del linguaggio, che però non vengono trattati nella documentazione; oppure, può capitare che si desideri vedere un esempio che non mostri semplicemente un ovvio valore di proprietà sulla console di sistema. Ancora, si potrebbe aver bisogno di leggere qualcosa di strettamente correlato con un argomento del linguaggio. In questo libro, si troveranno tutte queste cose. Per ciascuna voce, infatti, si troveranno moltissimi dettagli non presenti nella Guida in linea di Visual Basic. Per esempio, si può leggere la voce relativa al ciclo For...Next non tanto per conoscerne la sintassi, ma perché si vuole sapere che cosa occorre per rendere enumerabile il proprio contenitore personalizzato. La documentazione in linea tace su questo punto: questo libro no. Il libro contiene altresì una gran quantità di codice di esempio, molto più di un singolo esempietto per ciascun elemento del linguaggio. Per illustrare ogni tema trattato vengono impiegati brevi frammenti di codice, mentre gli esempi più lunghi servono a illustrare l'uso dell'elemento di linguaggio in una situazione di programmazione reale.

Questo volume deve servire da riferimento a cui ci si può rivolgere ogniqualvolta occorrano informazioni dettagliate, suggerimenti per il debug, tecniche di scrittura dei programmi e idee su come e quando usare un elemento.

Poiché il volume è inteso come guida di riferimento, non è adatto ai programatori inesperti che vogliono imparare le basi del linguaggio. Comprende sette capitoli introduttivi che trattano argomenti come il sistema dei tipi di Visual Basic, la programmazione a oggetti, quella a eventi e la libreria di classe del framework .NET. Questi capitoli sono però forzatamente molto brevi e danno per scontato che si abbia almeno un minimo di familiarità con la programmazione.

Questo tipo di approccio va bene per i programmatori che abbiano un po' di esperienza, compresi coloro che hanno già realizzato programmi in versioni precedenti di Visual Basic o VBScript, ma anche per i programmatori .NET che conoscono C#. Chi invece è totalmente digiuno di programmazione in Visual Basic .NET, potrebbe essere più utile una guida che spieghi più a fondo i concetti base della programmazione in Visual Basic .NET.

Poiché stiamo parlando di ciò che è e che non è questo libro, è importante sottolineare ancora una volta che questa è una guida di riferimento a Visual Basic .NET, ossia tratta degli elementi del linguaggio implementati dal compilatore Visual Basic e di quelli implementati dalle parti fondamentali dell'assembly Microsoft.VisualBasic.dll e dello spazio dei nomi corrispondente Microsoft.VisualBasic. Non si tratta pertanto di una guida ai tipi della libreria di classe del framework .NET e ai loro membri.

Ovviamente, si parlerà spesso, nel corso del testo, dei tipi e dei membri del framework e spesso la funzionalità di un particolare elemento del linguaggio verrà confrontata con altri elementi simili del framework. Inoltre, l'Appendice G, "Riferimento dei tipi di dati .NET", elenca i membri di tutti i tipi di dati primitivi della libreria di classe del framework .NET. Il framework non è quindi trattato in modo esaustivo, ma se ne fanno ampi accenni.


A chi è dedicato questo libro

Questo libro è scritto per i programmatori con un discreto livello di conoscenza della programmazione alla ricerca di una guida di riferimento molto completa.

Il libro è incentrato soprattutto sulle necessità dei programmatori Visual Basic, compresi quelli che vengono dagli ambienti Visual Basic 6.0 o VBScript e che si stanno aggiornando per la prima volta all'ambiente .NET. Per costoro, molti elementi del linguaggio nel Capitolo 8 hanno il proprio paragrafo "Differenze con VB6" che illustra come ogni elemento si differenzia fra le due versioni del linguaggio. Inoltre, i Capitoli da 1 a 7 sono una breve introduzione alle novità di Visual Basic .NET e dimostrano che Visual Basic è un linguaggio di programmazione a oggetti, nonché un eccellente linguaggio per lo sviluppo di applicazioni .NET, avendo a disposizione l'enorme libreria di classe del framework .NET.

Questa guida di riferimento è indispensabile anche per i programmatori Visual Basic che hanno sviluppato con versioni precedenti di Visual Basic .NET. Oltre alla trattazione dettagliata degli elementi di Visual Basic 2005, il libro tratta anche dei corrispondenti elementi di Visual Basic .NET 2002 e Visual Basic .NET 2003. L'Appendice A, "Novità di Visual Basic 2005", parla proprio delle nuove caratteristiche introdotte in Visual Basic 2005.

I programmatori si stanno sempre più rivolgendo verso un modello di programmazione indipendente dal linguaggio, o, se vogliamo, stanno imparando a programmare con più linguaggi. Per gli ambienti che possono contare su una vasta libreria di classe come .NET, la programmazione in più linguaggi è particolarmente semplice, poiché molto del codice consiste di chiamate ai membri della libreria di classe, mentre le chiamate agli elementi del linguaggio sono relativamente poche. A causa della sempre maggior necessità di conoscere più linguaggi di programmazione, il libro è utile anche ai programmatori che lavorano principalmente in un altro linguaggio .NET e solo di tanto in tanto con Visual Basic.


File aggiuntivi

Sul minisito di McGraw-Hill, all'indirizzo http://www.informatica.mcgraw-hill.it/minisito.asp, è possibile scaricare del tutto gratuitamente otto appendici, contenenti molto materiale aggiuntivo su Visual Basic 2005.

Le appendici, pensate per completare il contenuto libro, trattano delle novità di Visual Basic 2005, contengono un elenco degli operatori e degli elementi del linguaggio, delle enumerazioni principali e delle costanti, spiegano l'uso del compilatore a riga di comando, riportano un riferimento delle conversioni e dei tipi di dati .NET e una guida sugli elementi del linguaggio eliminati da Visual Basic .NET.

| << |  <  |  >  | >> |

Pagina 1

Capitolo 1

Introduzione a Visual Basic 2005


Visual Basic 2005 è la versione più recente di un linguaggio di programmazione e di un ambiente di sviluppo rilasciati in origine nel mese di maggio 1991. Anche se Visual Basic è relativamente nuovo in confronto a molti linguaggi di programmazione come C e C++, ha subito molte modifiche nella sua breve storia.


1.1 Da Visual Basic 1.0 a Visual Basic 6.0

Quando è stato rilasciato nel 1991, molti critici hanno descritto Visual Basic come un "giocattolo" e, visto il supporto per il posizionamento degli oggetti di interfaccia tramite trascinamento, come "programma di disegno" per l'interfaccia utente. Nonostante lo scetticismo, la popolarità di Visual Basic è notevolmente aumentata; Microsoft ha continuato a migliorare il prodotto ad ogni rilascio. Per questo motivo, il numero di sviluppatori Visual Basic nel mondo è notevolmente aumentato e Visual Basic è divenuto il linguaggio di programmazione più diffuso al mondo.

Il successo di Visual Basic risiede nelle funzioni che i critici hanno deriso. Visual Basic combina in un unico pacchetto un linguaggio di programmazione e un ambiente di sviluppo, al fine di creare applicazioni grafiche per l'ambiente Windows, supportando il trascinamento dei controlli. Un programmatore può progettare l'interfaccia utente e quindi associare il codice agli eventi attivati da particolari controlli utilizzando il mouse. Pertanto, una semplice applicazione "Hello, world!" per Windows, che richiederebbe almeno 100 righe di codice C, necessita solamente di tre righe in Visual Basic:

    Private Sub Form Load()
        Label1.Caption = "hello, World!"
    End Sub

Di queste tre righe di codice, la prima e l'ultima costituiscono la struttura del gestore di eventi e sono fornite automaticamente dall'editor di Visual Basic. Per creare questa applicazione, il programmatore deve scrivere una sola riga di codice (in effetti, questa applicazione può essere creata senza che il programmatore scriva una riga). Tutti i dettagli rimanenti (creazione della finestra per l'applicazione, creazione dei controlli, definizione del nome e della dimensione del carattere per la visualizzazione del testo) sono gestiti automaticamente da Visual Basic: il programmatore trascina gli elementi da una casella degli strumenti e li rilascia nel form, oppure seleziona o inserisce i valori in una finestra di dialogo delle proprietà.

Vista la facilità d'uso per lo sviluppo di applicazioni Windows complete, Visual Basic è divenuto uno dei primi e più significativi strumenti di programmazione di un nuovo genere, chiamato ambiente RAD (Rapid Application Development, sviluppo rapido di applicazioni). E come si può supporre dalle critiche rivolte a Visual Basic (linguaggio giocattolo e programma di disegno dell'interfaccia utente), l'applicazione è stata criticata proprio in quanto programma RAD e ha ottenuto il suo successo da questo.

Nonostante Visual Basic, nelle versioni da 1.0 a 6.0, ha reso facilissimo lo sviluppo di applicazioni Windows e componenti, questa facilità d'uso ha richiesto un prezzo. Anziché chiedere allo sviluppatore di gestire i dettagli di basso livello (definizione e creazione delle finestre, gestione dei cicli di messaggi), Visual Basic ha protetto lo sviluppatore dai componenti interni di Windows e dalla sua complessità. Gli sviluppatori Visual Basic possono pertanto concentrarsi sulla struttura dell'applicazione da scrivere e sulla sua logica. Nello stesso tempo, però, viene imposto solamente uno strato sottile tra gli sviluppatori e l'ambiente Windows; i programmatori che devono controllare le funzioni di basso livello di Windows dai loro programmi ritengono che Visual Basic offra gli "agganci" per accedere alle funzionalità necessarie.


1.2 Visual Basic .NET

Nel 2002 Microsoft ha introdotto una nuova piattaforma di sviluppo e un nuovo ambiente di esecuzione runtime, chiamato .NET, e ha rilasciato Visual Basic .NET 2002, una nuova versione di Visual Basic sviluppata per lavorare con la piattaforma. Sotto molti aspetti, Visual Basic .NET è notevolmente diverso dai suoi predecessori. Come parte del processo di sviluppo delle nuove versioni, i singoli elementi del linguaggio Visual Basic sono stati rivalutati e il linguaggio stesso è stato semplificato. Sono state introdotte nuove funzioni, per esempio l'orientamento agli oggetti. La struttura di base dei programmi Visual Basic è cambiata.

Nello stesso tempo, il fatto che Visual Basic .NET sia diverso dai suoi predecessori non oscura le somiglianze. La storia di Visual Basic è importante, perché Visual Basic stesso ha svolto un ruolo fondamentale nel cambiamento della modalità di scrittura delle applicazioni e sotto molti aspetti ha stabilito lo standard di sviluppo per applicazioni e componenti. Indipendentemente dal linguaggio in uso, all'apertura di Visual Studio 2005 per sviluppare un'applicazione o un componente .NET, viene visualizzato un ambiente di sviluppo molto simile, nell'aspetto e nel comportamento, al vecchio ambiente di sviluppo integrato di Visual Basic, con il posizionamento dei controlli e degli oggetti di interfaccia utente mediante il trascinamento, un agevole accesso al codice e soprattutto ai gestori di eventi, e un ambiente di debug integrato. In fase di esecuzione, .NET fornisce un ambiente di esecuzione gestita che, in modo simile al vecchio runtime di Visual Basic, protegge gli sviluppatori dalla complessità della piattaforma sottostante. Sotto molti aspetti, .NET è il proseguimento logico di Visual Basic.

Nello stesso tempo, vista l'integrazione con .NET, Visual Basic è un partner perfetto della piattaforma .NET. Si tratta di un linguaggio conforme alle specifiche del linguaggio comune di .NET e offre l'accesso completo a tutte le funzioni di .NET, proprio come qualsiasi altro linguaggio compatibile con .NET. Sono compresi un sistema di tipi comune, la disponibilità di una libreria di classi esauriente e un ambiente di esecuzione gestita.


Sistema di tipi comune

Generalmente, i tipi di dati disponibili in un linguaggio di programmazione sono definiti dalle specifiche del linguaggio o persino da un singolo compilatore del linguaggio in isolamento dagli altri linguaggi. Anche se due linguaggi dispongono di un tipo di dati String, per esempio, il formato effettivo di un valore String può differire notevolmente. Il risultato è che l'interoperabilità dei linguaggi (vale a dire la capacità di un'applicazione o componente scritto in un linguaggio di effettuare chiamate ai metodi nei componenti scritti in un altro linguaggio, e di inviare e ricevere dati da questi componenti) è spesso limitata.

La piattaforma .NET affronta il problema dell'interoperabilità dei linguaggi utilizzando il sistema di tipi comune. È .NET, e non i singoli linguaggi o i singoli compilatori dei linguaggi, a definire i tipi di dati di base disponibili sulla piattaforma e a metterli a disposizione attraverso la sua libreria di classi. Un singolo linguaggio può assegnare loro nomi diversi, ciò nonostante si tratta dei tipi fondamentali forniti da .NET. Visual Basic 2005, per esempio, mantiene gli stessi nomi per la maggior parte dei tipi di dati di Visual Basic 6.0 (dei principali tipi di dati di Visual Basic 6.0, solo Variant e Currency sono stati eliminati dal linguaggio). Tuttavia, anche se i nomi sono gli stessi, il contenuto è cambiato. Un Integer, per esempio, è ora un intero a 32 bit, mentre in Visual Basic 6.0 era un intero a 16 bit. In effetti, una nuova aggiunta al linguaggio Visual Basic (in Visual Basic .NET 2002) è la funzione SystemTypeName, che restituisce il nome del tipo .NET corrispondente a un particolare tipo di Visual Basic .NET. Per esempio, la chiamata al metodo

    Console.WriteLine(SystemTypeName(Long))

indica che il tipo di dati Long di Visual Basic .NET corrisponde al tipo di dati .NET System.Int64.

Le implicazioni del sistema di tipi comune sono enormi. Finché un'applicazione o un componente viene sviluppato utilizzando il sistema di tipi comune, può effettuare chiamate ai metodi dei componenti sviluppati con il sistema di tipi comune. Il passaggio di argomenti e la ricezione di dati diventano semplici. È persino possibile creare progetti in più linguaggi, in cui alcune routine di un assembly (una libreria a collegamento dinamico o un eseguibile contenente codice che Common Language Runtime può eseguire) sono scritte in un linguaggio e altre routine sono scritte in un altro linguaggio. L'appendice E presenta un breve esempio di creazione di un singolo assembly con codice Visual Basic e C#.


Libreria di classi .NET Framework

I tipi di dati primitivi definiti da .NET sono tipi singoli nella libreria di classi .NET Framework, vale a dire la libreria di classi messa a disposizione da .NET in fase di progettazione (quando gli sviluppatori scrivono il codice) e in fase di esecuzione (quando vengono eseguiti i programmi). Il framework stesso è costituito da migliaia di tipi organizzati in spazi dei nomi (uno spazio dei nomi è un nome logico utilizzato per dividere i tipi in modo gerarchico, al fine di impedire conflitti di denominazione). Questi tipi contengono decine di migliaia di membri che forniscono i servizi di base e le funzionalità fondamentali offerte da .NET. Oltre ai tipi di dati, i tipi forniti da .NET comprendono classi di eccezioni, form e classi di controlli Windows, form e classi di controlli Web, classi di dati ottimizzate per OLE DB, SQL Server e Oracle, classi XML, classi di I/O per i file, classi per le comunicazioni interprocesso e remote, solo per citarne alcune. Per ulteriori informazioni, vedere il Capitolo 7.

Insieme alle funzionalità esaurienti in tutte le aree della programmazione, è importante notare che i tipi definiti nella libreria di classi del framework sono disponibili per tutti i linguaggi che supportano la piattaforma .NET. Non accade più, come prima di .NET, che alcune librerie di classi fossero accessibili solamente dai progetti C++ e altre principalmente dai progetti Visual Basic. Ogni linguaggio .NET può accedere ugualmente ai tipi definiti nella libreria di classi del framework.

È interessante notare che gran parte del linguaggio Visual Basic (tutte le sue funzioni e le subroutine, oltre alle funzioni di conversione implementate direttamente dal compilatore) è implementata direttamente in un assembly, Microsoft.VisualBasic.dll, che fa parte della libreria di classi del framework. Significa che questi elementi del linguaggio Visual Basic possono essere chiamati sia dal codice Visual Basic, sia dal codice non Visual Basic. La funzione InputBox, che visualizza una finestra di dialogo con una casella di testo e attende l'input dell'utente, è da lungo tempo una caratteristica di Visual Basic, ma in genere non è disponibile in altri linguaggi e non è implementata altrove nella libreria di classi del framework. Tuttavia, è davvero facile chiamare la funzione InputBox da altri linguaggi, per esempio C#.

Le funzionalità esaurienti messe a disposizione dalla libreria di classi del framework permettono di affermare che la programmazione spesso consiste nella scrittura del codice "collante", che tiene insieme le chiamate ai vari metodi della libreria di classi del framework, e che la maggior parte del codice vero e proprio è costituita da chiamate ai metodi del framework (che in minima parte fungono da collante). È interessante notare che, nelle applicazioni in cui questo collante è ridotto al minimo, la conversione dal codice Visual Basic al codice C#, per esempio, è piuttosto banale e spesso il codice ha un aspetto quasi identico (tranne, naturalmente, per il punto e virgola richiesto da C# alla fine delle istruzioni).


1.3 Common Language Runtime di .NET

Per finire, .NET fornisce un ambiente di runtime in cui viene eseguito il codice. .NET stesso gestisce la maggior parte dell'allocazione delle risorse. La memoria viene allocata quando necessario e disallocata nel momento in cui può essere rilasciata (il processo è chiamato garbage collection), e in genere .NET gestisce la vita utile di tutte le risorse acquisite mediante chiamate ai metodi della libreria di classi del framework. Nel farlo, viene eseguita l'astrazione dello sviluppo dalla piattaforma sottostante a un livello superiore a quello delle piattaforme precedenti.


1.4 Visual Basic e l'indipendenza dal linguaggio

Tutto questo significa che la piattaforma .NET rende meno importante il linguaggio in cui viene scritto il codice. Con .NET, sono finiti i giorni in cui si dedicavano mesi a un progetto solo per scoprire che è stato scelto il linguaggio sbagliato per l'applicazione richiesta. .NET realizza la promessa dell'indipendenza dal linguaggio in modo superiore alle tecnologie precedenti.

Uno sviluppatore Visual Basic può quindi concentrarsi sull'applicazione da realizzare, senza dover pensare a quale linguaggio è più adatto per costruirla. È possibile scrivere il codice nel linguaggio con cui si ha maggiore familiarità, ottenendo la libertà di concentrarsi sui problemi che l'applicazione deve risolvere, con la consapevolezza di poter accedere a tutte le risorse messe a disposizione da .NET. Significa inoltre che è possibile lavorare sulla base di altri componenti e librerie di classi che, finché sono conformi alle specifiche del linguaggio comune, possono essere richiamati dal codice come se fossero scritti in Visual Basic.

Molti programmatori Visual Basic hanno visto .NET come una minaccia. La sua introduzione è coincisa con quella di un nuovo linguaggio popolare, C#, che sembra acquisire slancio. Secondo loro erano state eliminate le caratteristiche distintive di Visual Basic 6.0. Tuttavia, questa visione cinica ha poco a che vedere con la realtà. Con i miglioramenti introdotti in Visual Basic 2005, è chiaro che Microsoft non solo mantiene il suo impegno nei confronti di Visual Basic, ma è costantemente impegnata nel rendere Visual Basic uno strumento importante per lo sviluppo delle applicazioni. Nello stesso tempo, ora Visual Basic presenta due nuove caratteristiche di base che in passato ne limitavano lo sviluppo: una facile interoperabilità con componenti e strumenti scritti in altri linguaggi, e un accesso più o meno completo, aperto e uguale alla piattaforma .NET sottostante.

Anziché una minaccia, .NET deve essere considerato come un'enorme opportunità per gli sviluppatori Visual Basic. Pone tutte le risorse di un ambiente di sviluppo ricercato, di una libreria di classi completa e di un linguaggio di programmazione familiare a disposizione del programmatore Visual Basic. Nello stesso tempo, sfida gli sviluppatori a utilizzare queste risorse per creare una nuova generazione di fantastiche applicazioni software.

| << |  <  |