Visual Basic possède quelques caractéristiques
inhabituelles :
· La constante booléenne True a la valeur
numérique 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) ;
lorsque on effectue l'opération Non Logique sur un entier signé
de 16 bits valant 0, on obtient -1. En d'autre 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 COMAL.
· 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 nombre 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 Double, ! pour Single, & pour Long, % pour Integer,
$ pour String and @ pour Currency). 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.
2.6.10 Evolution 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 Shell programmable pour
Windows 3.0, sous le nom de code Ruby (aucun lien avec le langage de
programmation Ruby).
· Visual Basic 1.0 (mai 1991) pour Windows est
présenté au Comdex/Windows à Atlanta, Géorgie.
· à Atlanta, Géorgie.
· Le projet `Thunder' est lancé
· Visual Basic 1.0 pour DOS est présenté
en septembre 1992. Le langage n'était pas totalement compatible avec
Visual Basic pour Windows, car il était en fait la nouvelle version des
compilateurs Microsoft BASIC pour DOS, Quick Basic et BASIC Professional
Development System. L'interface était en mode texte et utilisait le jeu
de caractères ASCII étendu pour simuler une interface
graphique.
· Visual Basic 2.0 est présenté en
novembre 1992. L'environnement de développement était plus facile
à utiliser et la vitesse avait été
améliorée. Un fait marquant était que les formulaires
étaient devenus des objets instanciables, posant ainsi le concept de
base de modules de classe, qui devinrent plus tard disponibles dans VB4.
· Visual Basic 3.0 fut présenté pendant
l'été 1993, disponibles en édition Standard ou
Professionnelle. VB3 intégrait la version 1.1 du moteur de base de
données Microsoft Jet, qui pouvait lire et écrire les bases de
données Jet (ou Access) 1.x.
· Visual Basic 4 (août 1995) a été
la première version qui pouvait générer des programmes
Windows 16 et/ou 32 bits. Cette version introduisait également la
possibilité d'écrire des classes sans interface utilisateur. Des
incompatibilités entre les différentes versions de VB4
causèrent des problèmes d'installation et de fonctionnement.
· La version 5.0 de Visual Basic, sortie en 1997 ne
fonctionnait plus qu'avec les versions 32 bits de Windows. Les programmeurs
préférant développer des applications 16-bits pouvaient
importer les programmes de VB4 vers VB514, et inversement. Visual
Basic 5.0 a aussi introduit la possibilité de créer des
contrôles utilisateurs personnalisés ainsi que la
possibilité de générer des exécutables Windows
natifs, ce qui améliorait la vitesse d'exécution des programmes
effectuant beaucoup de calculs.
· Visual Basic 6.0 (mi-1998) a apporté de
nombreuses améliorations dans différents domaines, notamment la
possibilité de créer des applications Web-based. VB6 n'est plus
supporté par Microsoft depuis mars 2008.
14 Alexandre Guidet, Programmation Objet en
langage C++, Ellipses, (ISBN 978-2-7298- 3693-1), 364 pages
· Microsoft a cessé le support grand public pour
Visual Basic 6.0 le 31 mars 2005. Le support étendu a pris fin en mars
2008. En réaction, La communauté des utilisateurs Visual Basic a
fait part de ses préoccupations à ce sujet et a incité les
utilisateurs à signer une pétition afin de permettre de maintenir
le produit en vie. A ce jour, Microsoft a refusé de modifier sa position
à ce sujet. Ironiquement, il fut révélé au
même moment que le nouvel Anti-Spyware de Microsoft, Microsoft
AntiSpyware (racheté à GIANT Software Company) était
écrit en Visual Basic 6.0. Windows Defender Beta 2 a été
réécrit en C++/CLI. Il est difficile de dire quel impact pourrait
avoir cette décision sur les futures offres Microsoft, si la perception
se faisait jour que des applications pérennes ne peuvent être
écrites avec des produits Microsoft pour cause d'obsolescence
programmée.