Visual Basic (VB) est un langage de programmation événementielle de troisième génération ainsi qu'un environnement de développement intégré, créé par Microsoft pour son modèle de programmation COMVB est remplacé par Visual Basic .NET, cependant la conversion d'applications depuis VB vers VB .NET peut ne pas être triviale. .). Visual Basic est directement dérivé du BASIC et permet le développement rapide d'applications, la création d'interfaces utilisateur graphiques, l'accès aux bases de données en utilisant les technologies DAO, ADO et RDO, ainsi que la création de contrôles ou objets ActiveX. Les langages de script tels que et VBScript sont syntaxiquement proches de Visual Basic, mais s'utilisent et se comportent de façon sensiblement différentePar exemple : S="ABC" : S = S & "DEF" : S = S & "GHI" est une pratique courante en VB, mais peut causer de graves ennuis si utilisée sur une page ASP, car les constantes statiques sont traitées différemment par les deux langages..
Un programme en VB peut être développé en utilisant les composants fournis avec Visual Basic lui-même. Les programmes écrits en Visual Basic peuvent aussi utiliser l'API Windows, ceci nécessitant la déclaration dans le programme des fonctions externes.
Dans une étude conduite en 2005, 62 % des développeurs déclaraient utiliser l'une ou l'autre forme de Visual Basic. Selon la même étude, les langages les plus utilisés dans le domaine commercial étaient Visual Basic, C++, C# et Java].
La dernière mise à jour de Visual Basic est la version 6.0, sortie en 1998. Le support étendu Microsoft a pris fin en 2008. À partir de la version 7, le Visual Basic subit des changements substantiels le rapprochant de la plate-forme « », et qui amènent Microsoft à le commercialiser sous le nom de Visual Basic .NET.
Fonctionnalités du langage Visual Basic a été conçu pour être facile à apprendre et à utiliser. Le langage permet de créer des applications graphiques de façon simple, mais également de créer des applications véritablement complexes. Programmer en VB est un mélange de plusieurs tâches, comme disposer visuellement les composants et contrôles sur les formulaires, définir les propriétés et les actions associées à ces composants, et enfin ajouter du code pour ajouter des fonctionnalités. Comme les attributs et les actions reçoivent des valeurs par défaut, il est possible de créer un programme simple sans que le programmeur ait à écrire de nombreuses lignes de code. Les premières versions ont souffert de problèmes de performance, mais avec l'apparition d'ordinateurs plus rapides et grâce à la compilation en code natif, ce problème de performance s'est estompé.
Bien que les programmes puissent être compilés en code natif depuis la version 5, ils requièrent toujours pour fonctionner la présence du moteur d'exécution ou , pour une taille d’environ . Ce moteur d'exécution est inclus par défaut dans Windows 2000 et versions ultérieures sous forme de bibliothèques dynamiques. Pour les versions précédentes de Windows, le moteur d'exécution doit être distribué avec l’exécutable lui-même.
Dans l'IDE, les formulaires sont créés en utilisant la technique de glisser-déposer, permettant de disposer des contrôles (boîte de saisie, case à cocher, bouton, etc.) sur le formulaire. Les contrôles possèdent tous des attributs et des gestionnaires d’événements associés. Des valeurs par défaut sont attribuées, qui peuvent être modifiées par le programmeur. De nombreux attributs peuvent être modifiés dynamiquement lors de l’exécution, en réponse à des actions de l’utilisateur ou à des changements dans l’environnement. Par exemple, il est possible d’ajouter du code dans le gestionnaire de l’événement redimensionnement du formulaire, afin de maintenir celui-ci en permanence au centre de l’écran ou encore d’agrandir le formulaire afin qu’il occupe toute la surface de l’écran. En ajoutant du code dans le gestionnaire de l’événement « » (touche enfoncée) d'une boîte de saisie, le programme pourrait automatiquement convertir les minuscules en majuscules ou inversement, ou encore interdire l'insertion de certains caractères.
Visual Basic permet de créer des exécutables (fichiers .EXE), des contrôles ActiveX ou des DLL, mais son usage premier est la réalisation d’applications Windows et l’interfaçage Web avec des bases de données. On peut utiliser des boîtes de dialogue simplifiées (par exemple pas de ) pour fournir des fonctionnalités de type pop-up. Les contrôles fournissent les fonctionnalités de base de l’application, les programmeurs ajoutant simplement le fonctionnel supplémentaire en insérant du code dans les gestionnaires d’événements appropriés. Par exemple, une boîte de sélection déroulante est directement capable d’afficher sa liste et de permettre à l’utilisateur de choisir l’un de ses éléments. Un gestionnaire d’événement est appelé lorsqu’un élément est sélectionné, par exemple pour remplir une liste associée.
Un composant Visual Basic peut aussi ne pas avoir d’interface utilisateur et fournir à la place des objets ActiveX aux autres programmes, au travers du (COM). Le langage dispose d'un mécanisme de récupération de mémoire (Ramasse-miettes), utilisant le mécanisme de « comptage de référence ». Il dispose également d’une grande bibliothèque d’utilitaires et offre les bases du support de la Programmation Orientée Objet. Dans la mesure où les composants les plus communs sont inclus par défaut dans le modèle de projet standard, il est rarement nécessaire pour le programmeur d’utiliser des bibliothèques additionnelles. À la différence de beaucoup d’autres langages de programmation, Visual Basic n’est en général pas sensible à la casse (l’usage des majuscules ou des minuscules est indifférent), bien qu’il transforme automatiquement l’écriture des mots-clés selon une convention standard et qu’il force l’écriture des variables dans le code à être identique à l’écriture employée lors de la déclaration. En revanche, les comparaisons de chaînes de caractères sont elles sensibles à la casse par défaut, mais ce comportement est modifiable à volonté.
Caractéristiques de Visual Basic
Visual Basic possède quelques caractéristiques inhabituelles :
Rétrocompatibilité avec les (anciennes) versions du BASIC de Microsoft (QBasic/QuickBasic) permettant le portage de vieux programmes. Possibilité d'utiliser à la fois des méthodes procédurales à l'ancienne (via des branchement avec des labels. Ex.: <label>: GOTO <label> ; et des sous-procédures du type GOSUB <label> ... RETURN), et à la fois des techniques plus modernes comme la programmation orientée objet (avec des modules de classe...). Optionnalité d'un grand nombre de déclarations (typage, référencement, portées...) ainsi qu'une syntaxe souple (espaces facultatifs). La constante booléenne True a la valeur numérique -1Dans la plupart des langages, True est représenté par une valeur numérique différente de zéro, souvent 1 ou -1. Ceci est dû au fait que le type booléen est codé comme un entier de 16 bits signé. Dans cette représentation, -1 est codé comme une suite de 16 « 1 binaires » (la valeur booléenne True), et que 0 est codé comme 16 « 0 binaires » (la valeur booléenne False) ; lorsqu'on effectue l’opération Non Logique sur un entier signé de 16 bits valant 0, on obtient -1. En d’autres termes, True = Not False. Cette caractéristique intrinsèque devient particulièrement utile lorsque l’on effectue des opérations logiques bit à bit sur un entier, telles qu’And, Or, Xor et Not. Cette définition est également globalement cohérente avec les implémentations de BASIC depuis Microsoft Basic, au début des années 1970. C’est également en adéquation avec les caractéristiques des microprocesseurs de cette période. Les opérateurs bit à bit et les opérateurs logiques sont les mêmes. Ce n’est en revanche pas le cas dans tous les langages dérivés de C (tels que Java et Perl) qui disposent d’opérateurs différenciés pour les opérations logiques et les opérations bit à bit. Ceci est également une caractéristique traditionnelle du langage BASIC. Base de tableaux variable. Les tableaux sont déclarés en spécifiant les bornes inférieures et supérieures, de la même façon qu’en Pascal ou qu’en Fortran. Il est également possible d’utiliser l’instruction « Option Base » pour spécifier l’indice de borne inférieure par défaut. L’usage de cette instruction peut prêter à confusion lors de la lecture de code Visual Basic et il est préférable d’éviter son utilisation ; on lui préférera la déclaration explicite de la borne inférieure du tableau. Cette borne inférieure n’est pas limitée aux seules valeurs zéro ou un, elle peut aussi être spécifiée explicitement lors de la déclaration de la variable. Ainsi, les bornes inférieures et supérieures sont toutes deux programmables. Dans d’autres langages, la borne inférieure des tableaux n’est pas programmable. Cette caractéristique n’existe pas dans Visual Basic .NET ni dans VBScript. L’instruction Option Base a été introduite dans la norme ANSI, avec la norme ANSI pour BASIC minimal, à la fin des années 1970. L’extension permettant d’utiliser la forme de DIM A(1976 TO 2002) a été introduite pour la première fois dans le BBC Basic, disponible dans le BBC micro, lui-même influencé par . Forte intégration avec le système d’exploitation Windows ainsi qu’avec le modèle COM. L’arrondi bancaire est utilisé par défaut lors de la conversion de nombres réels en entiers. Les nombres entiers sont automatiquement convertis en nombres réels dans les expressions où apparaît l’opérateur de division normale (/) afin que la division d’un entier impair par un entier pair produise le résultat intuitivement espéré. Il existe un opérateur spécifique pour la division entière (\) qui lui tronque le résultat. Par défaut, si une variable n’est pas déclarée du tout ou si elle est déclarée sans spécification explicite de type, elle prend le type « Variant ». Cependant, ce comportement peut être modifié par l’utilisation d’instructions DefType telles que DefInt, DefBool, DefObj, DefStr, etc. Il existe 12 instructions DefType dans Visual Basic 6.0. Un type par défaut peut être remplacé dans une déclaration spécifique en utilisant un suffixe spécial accolé au nom de la variable (# pour , ! pour , & pour Long, % pour , $ pour and @ pour ). Il est aussi possible d’utiliser la forme As (type). Il est également possible de configurer VB afin qu’il exige la déclaration explicite de toutes les variables, en utilisant la commande Option Explicit.
Évolution de Visual Basic VB 1.0 a vu le jour en 1991. Le principe de connexion d’un langage de programmation avec une interface utilisateur graphique est dérivé d’un prototype appelé Tripod, développé par Alan Cooper. Microsoft avait alors contacté Cooper et ses associés pour développer un programmable pour Windows 3.0, sous le nom de code Ruby (aucun lien avec le langage de programmation Ruby).
Tripod ne contenait aucun langage de programmation et Ruby contenait uniquement un processeur de commandes rudimentaire suffisant pour tenir le rôle d’un Windows. Finalement, Microsoft décida d’utiliser le simple comme pour Windows 3.0, à la place de Ruby, et de combiner Ruby avec le langage Basic pour créer Visual Basic.
Ruby a fourni la partie « Visual » de Visual Basic – l’éditeur de fenêtres et les outils d’édition – associé avec la possibilité de charger des bibliothèques dynamiques, contenant des contrôles additionnels (qui s’appelaient alors des « gizmos »). Les extensions « gizmos » de Ruby devinrent par la suite l’interface VBX.
Visual Basic, de VB1 à VB6 Le projet est lancé. Visual Basic 1.0 () pour Windows est présenté au Comdex/Windows à Atlanta, Géorgie.