Visual Basic

Da Wikipedia, l'enciclopedia libera.
Visual Basic
Autore Microsoft
Data di origine 1991[1][2]
Ultima versione 6.0 (1998)
Utilizzo Applicazioni stand-alone e client-server
Paradigmi Programmazione a oggetti
Tipizzazione forte
Estensioni comuni bas, cls, ctl, vbp
Influenzato da BASIC
Implementazione di riferimento
Implementazione interprete e compilatore
Sistema operativo Windows 98, 2K, XP, Vista, Seven
Lingua inglese
Licenza Proprietaria

Il Visual Basic (formalmente abbreviato VB) è un linguaggio di programmazione event driven arrivato fino alla versione 12, la cui sintassi deriva dal BASIC.

Caratteristiche[modifica | modifica sorgente]

  • Facilità d'uso (non utilizza formalità di punteggiatura tipica di quasi tutti gli altri linguaggi);
  • il suo ambiente di lavoro RAD che permette di realizzare in breve tempo interfacce GUI anche complesse;
  • il pratico accesso alle basi dati;
  • la creazione di controlli ActiveX con il linguaggio stesso (anche se nelle prime versioni si doveva usare il linguaggio C).

Tramite l'integrazione dei controlli VBX (nelle versioni a 16 bit), dei controlli OCX (presenti nelle versioni a 32 bit) e dei collegamenti OLE presenti nell'ambiente di lavoro o realizzati da altri programmatori, è possibile aggiungere potenzialità al linguaggio, aggiungendo nei propri progetti nuove funzioni o ampliando funzioni già esistenti.

Versioni[modifica | modifica sorgente]

  • Visual Basic 1.0 per Windows (maggio 1991). L'approccio per collegare il linguaggio di programmazione con l'interfaccia grafica è derivato da un sistema chiamato Tripod, sviluppato in origine da Alan Cooper.
  • Visual Basic 1.0 per DOS (settembre 1992). Il linguaggio in sé non era compatibile con quello di Visual Basic per Windows. L'interfaccia utilizzava i caratteri ASCII estesi per simulare l'apparenza di una interfaccia grafica.
  • Visual Basic 2.0 (novembre 1992). L'ambiente di sviluppo era stato semplificato e la velocità aumentata.
  • Visual Basic 3.0 (Estate 1993). Venne rilasciato nelle versioni Standard e Professional. Includeva un motore di database che poteva leggere e scrivere basi dati Access.
  • Visual Basic 4.0 (agosto 1995). È stata la prima versione che permetteva di creare applicazioni a 16 bit o 32 bit. È stata inoltre introdotta la possibilità di scrivere classi in Visual Basic.
  • Visual Basic 5.0 (febbraio 1997). Viene rilasciata una versione esclusivamente per lo sviluppo a 32 bit. Visual Basic 5.0 offriva anche la possibilità di compilare in eseguibili Windows nativi, in modo da migliorare la velocità rispetto agli eseguibili compilati in P-Code.
  • Visual Basic 6.0 (Estate 1998-2006). Sono state aggiunte numerose funzionalità, fra cui la possibilità di creare applicazioni web. VB6 ha smesso di essere supportato da Microsoft nel marzo 2008. Sono stati rilasciati diversi Service pack per correggere o aggiungere funzionalità. L'ultimo service pack installabile è il 6. Il supporto a Visual Basic 6 termina con questa versione, in quanto non ne verranno sviluppate di nuove.

Linguaggi derivati e implementazioni[modifica | modifica sorgente]

Visual Basic .NET o Visual Basic[modifica | modifica sorgente]

Exquisite-kfind.png Per approfondire, vedi Visual Basic (2002-2010).

Con l'uscita del .NET Framework, Microsoft ha introdotto una nuova "visione" del suo più famoso linguaggio di sviluppo. Non è, perciò, un aggiornamento del vecchio VB6, ma un nuovo linguaggio che integra tutte le classi di base del framework .NET, mantenendo una sintassi simile a quella di Visual Basic. Questo cambiamento ha interrotto la compatibilità verso il basso di Visual Basic, ma ha colmato tutte quelle carenze tipiche del VB6 descritte in precedenza. Sono state introdotte tutta una serie di funzionalità tipiche del .NET Framework, come "remoting", "Web Service", "Servizi Windows", ADO.NET e il completo supporto alla programmazione a oggetti (ereditarietà, polimorfismo, ecc.). Anche se esiste un tool per la migrazione delle applicazioni, alcune funzionalità non possono essere convertite automaticamente, richiedendo quindi uno sforzo successivo per completare la migrazione.

Molte delle originali carenze sono state colmate, ma questo ha reso Visual Basic .Net un linguaggio più complesso del suo predecessore, al tempo stesso estremamente più potente e versatile. Alcuni ritengono che il supporto per Visual Basic .NET diminuirà nel tempo a favore del C#, che diventerà il linguaggio più utilizzato in ambito .NET. Tuttavia, al momento, Microsoft non ha rilasciato alcuna dichiarazione ufficiale al riguardo e fornisce il pieno supporto a Visual Basic .Net così come agli altri linguaggi integrati (C++, F#, ecc.). Inoltre, essendo un'archiettura basata sul .NET Framework, i linguaggi condividono le stesse identiche potenzialità; di conseguenza, la scelta di utilizzare l'uno o l'altro linguaggio è una cosa influenzata più dalla cultura degli sviluppatori che dalle reali necessità tecniche. Analizzando la presenza di Visual Basic .NET in Internet è chiaro che questo linguaggio rimane tuttora il punto di riferimento e la prima scelta della maggior parte dei programmatori.

Visual Basic for Applications[modifica | modifica sorgente]

Exquisite-kfind.png Per approfondire, vedi Visual Basic for Applications.

Abbreviato in VBA, è una implementazione inclusa nei programmi Microsoft Office.

Controversie[modifica | modifica sorgente]

Molti programmatori hanno un rapporto difficile con Visual Basic in quanto è stato progettato per essere un linguaggio semplice e molte caratteristiche che sono presenti in linguaggi come Java non sono disponibili in Visual Basic. Nell'interesse della convenienza e del rapido sviluppo, alcune funzionalità come la verifica del "cast" dei dati e la dichiarazione obbligatoria delle variabili (anche se è possibile rendere questa dichiarazione obbligatoria) sono disabilitate. Questo rende Visual Basic molto semplice da utilizzare, ma i programmi così realizzati possono essere distribuiti con errori nascosti dovuti a questa mancanza di controlli.

Molti critici di Visual Basic spiegano che la sua natura semplice è dannosa nel lungo periodo. Innanzitutto, è spesso utilizzato per insegnare la programmazione proprio a causa della sua semplicità, ma imparare a programmare in Visual Basic non introduce i programmatori a molte delle tecniche e dei costrutti fondamentali della programmazione. In secondo luogo, come già detto in precedenza, la possibilità di disabilitare errori e avvertimenti in fase di compilazione, può rendere difficoltosa la ricerca degli errori.

Molti dei suoi sostenitori insistono, invece, sul fatto che la sua semplice natura è il suo punto di forza, in quanto permette un rapido sviluppo di applicazioni da parte di programmatori esperti e una curva di apprendimento piuttosto breve per i programmatori che provengono da altri linguaggi. Inoltre, le applicazioni Visual Basic possono essere integrate con le basi dati in maniera molto semplice.

Visual Basic è, inoltre, un agglomerato di funzionalità e sintassi diverse con meno consistenza, ma con più tolleranza degli altri moderni linguaggi di programmazione. Alcune istruzioni come "gosub", "on error" e la dichiarazione del tipo di variabile con l'ultimo carattere del nome (ad esempio miaStringa$ per le stringhe), sono retaggi delle origini del Basic che sono state incluse per avere retrocompatibilità.

Il linguaggio continua ad attirare molti apprezzamenti e molte critiche, ma la grande base "storica" di programmatori che lo hanno utilizzato e che basano su di esso la propria produttività fa sì che continui ad avere una grande diffusione, nonostante l'uscita del successore Visual Basic .Net.

È bene ricordare che Visual Basic .NET non è una semplice evoluzione di VB6, ma è a tutti gli effetti un altro linguaggio, ad oggetti, basato su classi, costruttori e forti tipizzazioni che lo rendono un sofisticato strumento di sviluppo per la nuova generazione di software e di sistemi operativi.

Funzionalità non supportate[modifica | modifica sorgente]

  • Programmazione orientata agli oggetti. Visual Basic, fino alla versione 4, non supporta la programmazione orientata agli oggetti. Successivamente con la versione 5 e 6 vi è un supporto limitato alla programmazione orientata agli oggetti. Non si può per esempio implementare l'ereditarietà degli oggetti ed altro. In Visual Basic .Net però la programmazione orientata agli oggetti è pienamente supportata.
  • Multithreading. Nelle versioni "pre .NET", non esiste un supporto diretto per la programmazione multithread.
  • Puntatori. La gestione dei puntatori è molto più limitata rispetto a molti altri linguaggi.
  • Numerici senza segno. I tipi di dati numerici supportati da Visual Basic sono esclusivamente quelli con il segno (da 8 a 32 bit), mentre molti altri linguaggi supportano nativamente i numerici senza segno.

Molte di queste lacune sono state colmate con l'uscita di Visual Basic .Net, una nuova versione di Visual Basic basata sulla piattaforma .NET Framework (Vedi sotto).

Peculiarità[modifica | modifica sorgente]

  • Indice di base degli array. Il primo elemento di un array può essere referenziato con l'indice 0 o con l'indice 1 (in base alle impostazioni del parametro "option base"); questo può causare una certa confusione quando si legge del codice di Visual Basic. L'indice inferiore inoltre non è limitato al valore di 0 od 1 in quanto può essere definito diversamente al momento della dichiarazione dell'array. In questo modo sia il limite inferiore dell'array che quello superiore sono personalizzabili.
  • Possibilità di eseguire un'applicazione senza effettuare una compilazione completa; in questo modo è possibile cambiare il codice e continuare l'esecuzione direttamente in fase di debug.

Programma di esempio[modifica | modifica sorgente]

Hello World![modifica | modifica sorgente]

Il seguente esempio, inserito nell'evento Form_Load() (l'evento che scatta al caricamento del form) fa apparire un popup (con il solo bottone OK, per chiuderlo) e la scritta "Hello World!".

MsgBox ("Hello World!")

Un secondo campo del MsgBox, non presente nell'esempio in quanto facoltativo, modifica l'icona del tipo di messaggio che si vuole visualizzare (es: VBCritical, VBInformation) e il suono di attivazione della form che corrisponderà ai parametri di Windows.

Se si vuole scrivere "Hello World!" in un campo di testo del proprio progetto, al caricamento del main form, occorrerà trascinare un controllo Label sul form, e nell'evento Form_load() scrivere il seguente codice:

[NOMEOGGETTO].text = "Hello World!"

Oppure si può stampare il testo nella finestra stessa con il seguente codice :

Print "Hello World!"

Es. in VB .Net 2008: Il seguente esempio, inserito nell'evento Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load (l'evento che scatta al caricamento del form) fa apparire un popup (con il solo bottone OK, per chiuderlo) e la scritta "Hello World!".

MsgBox("Hello World!")

Un secondo campo del MsgBox, non presente nell'esempio in quanto facoltativo, modifica l'icona del tipo di messaggio che si vuole visualizzare (es: MsgBoxStyle.Critical, MsgBoxStyle.Information) e il suono di attivazione della form che corrisponderà ai parametri di Windows.

Se si vuole scrivere "Hello World!" in un campo di testo del proprio progetto, al caricamento del main form, occorrerà trascinare un controllo label sul form, e nell'evento Form_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load scrivere il seguente codice:

[NOMEOGGETTO].text = "Hello World!"

In questo caso non si può stampare il testo nella finestra stessa.

Note[modifica | modifica sorgente]

  1. ^ Visual Basic, una storia lunga 20 anni, Programmazione.it™, 27 maggio 2011. URL consultato il 21 gennaio 2014.
  2. ^ History of Visual Basic, Copyright © 2009-2010 Max Visual Basic. URL consultato il 21 gennaio 2014.

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]

Collegamenti esterni[modifica | modifica sorgente]