Microsoft a développé des langages
dérivés, pour des usages de langages de Script :
· Visual Basic pour Applications (VBA) est inclus dans
de nombreuses applications Microsoft (Microsoft Office) ainsi que dans de
nombreux produit tiers tels qu'AutoCAD, WordPerfect Office 2002, etc. Il y a de
petites incohérences dans la façon dont VBA est
implémenté dans les différentes applications, mais VBA
reste un langage très proche de VB6 et utilise le même moteur
d'exécution.
· VBScript est le langage par défaut pour Active
Server Pages (ASP) et peut être utilisé pour faire du scripting
Windows ainsi que du scripting web côté client. Bien qu'il
ressemble syntaxiquement à VB, c'est un langage différent et
séparé, qui utilise vbscript.dll pour son exécution au
lieu du moteur d'exécution VB. Ces différences peuvent affecter
les performances d'un site web ASP. ASP et VBScript ne doivent pas être
confondus avec ASP .NET, qui utilise Visual basic .NET ou tout autre langage
destiné au .NET Common Language Runtime (CLR).
· Visual Basic .NET est le successeur
désigné de Microsoft à Visual Basic 6.0, et fait partie de
la plate-forme Microsoft .NET. Celui-ci se compile et s'exécute sur
l'architecture architecture .NET(le framework .NET). Visual Basic .NET n'est
pas rétrocompatible avec VB6. Un outil de conversion existe, mais pour
de nombreux projets, la conversion automatique est impossible.
2.6 .12 Performances et autres
problèmes
Les premières versions de Visual Basic (avant la
version 5.0) généraient uniquement du P-Code ou pseudo code.
Visual Basic 5 et 6 sont capables de compiler en P-code ou en code natif, au
choix de programmeur. Le P-code est interprété par le runtime du
langage, aussi appelé machine virtuelle. L'avantage réside dans
la portabilité et la petitesse du code. Cependant, ceci ralentit
généralement l'exécution des programmes, car cela ajoute
une couche supplémentaire d'interprétation. Il est possible de
construire de petites portions de codes ou certains algorithmes qui
s'exécutent plus rapidement en P-code qu'en code natif.
Les applications Visual Basic requièrent la
présence du Microsoft Visual Basic Runtime MSVBVMxx.DLL, où xx
est le numéro de versions, soit 50 ou 60. MSVBVM60.DLL est fourni en
standard avec toutes les versions de Windows suivant Windows 98, alors que
MSVBVM50.DLL était présents avec toutes les éditions de
Windows postérieures à Windows 95. Ainsi, pour une machine sous
Windows 95, il était obligatoire que les programmes Visual basic soient
distribués avec la Dll appropriée.
Visual Basic est critiqué pour sa gestion
mémoire peu performante et pour la possibilité qu'il offre de
pouvoir construire du code utilisant des constructions peu académiques,
pouvant donner de mauvaises habitudes de programmation et permettant
d'écrire du code peu performant. En Visual basic, il peut parfois
être difficile de dire si une variable est une référence
à un objet ou bien l'objet lui-même.
Dans le même ordre d'idée, il est parfois
difficile de dire si une opération va copier la référence
d'un objet ou bien copier l'entièreté de l'objet. Cette
ambiguïté peut être la cause de comportements non
prévus, ou résulter en un programme aux piètres
performances.