TUTORIEL TECHNOS .NET 
Les principales différences entre VB et VB.NET
C# n'est pas la principale révolution apportée par le framework .NET : Visual Basic, qui a subi un sérieux lifting, n'a plus forcément grand-chose à voir avec sa précédente version. (06/09/2005)
L'arrivée du framework .NET comme standard de fait pour toutes les futures applications Microsoft, impliquait la modification des langages existants pour qu'ils puissent utiliser les capacités du framework - et prouver en passant que n'importe quel autre langage pouvait en profiter. C++, VB et J++ ce sont donc pliés aux règles imposées par leur nouveau chef, ce qui nous a donné C#, Managed C++, VB.NET, JScript.NET, J#...et bien sûr ASP.NET pour le développement Web.

Le grand problème du passage du Visual Basic connu (VB6 ou VB Classic) à VB.NET a été le bouleversement des fondations mêmes du langage, compliquant grandement toute tentative de moderniser une application existante, ce malgré le convertisseur automatique fourni par Microsoft. VB.NET est une version largement modernisée de VB, profitant des nombreux progrès réalisés depuis sa conception initiale, et par conséquent largement remaniée pour se plier aux nouvelles conceptions.

À l'arrivée de VB.NET, le plus gros grief des développeurs VB, encore valable aujourd'hui, a été l'impossibilité de faire fonctionner du code VB6 sur .NET tel quel. Microsoft fournit avec l'outil Visual Basic .NET un outil de conversion automatique, mais au lieu de convertir intégralement le code, il permet seulement de cerner les problèmes possibles, et ajoute des commentaires pour les retrouver - à charge au développeur de tout corriger ensuite. Son plus gros défaut est probablement de ne pas savoir tirer partie des avantages de .NET.

Les différences entre les deux versions, bien avant la syntaxe et le traitement des commandes, se situent à un niveau fondamental.

> Pour commencer, VB6 utilise le fameux VB Runtime, tandis que VB.NET nécessite, bien sûr, .NET.

> VB.NET est par ailleurs un langage très orienté Objet, alors que VB6 était décrit comme "basé sur les Objets", une manière de dire que son support était limité (VB utilise surtout un programmation par évènement).

> VB passe entre les deux versions d'une architecture COM à une architecture basée sur les assemblages, commune aux langages .NET (et raison de l'interopérabilité de ses langages).

Viennent ensuite les différences au niveau du code :
> L'accès aux bases de données se fait via ADO.NET, qui diffère sensiblement de ADO

> Le système de typage change du tout au tout : VB dispose d'un typage faible, tandis que VB.NET utilise un type fort

> Le "On Error Goto" de VB6 pour gérer les exceptions, est remplacé par un "Try...Catch...Finally" dans VB.NET

> Le passage de paramètre se fait, par défaut, par référence pour VB6 (ByRef), et par valeur pour VB.NET (ByVal)

Ce ne sont là que les plus visibles parmi une large liste.

  Forum

Réagissez dans les forums de JDN Développeurs

En définitive, les différences sont suffisamment importantes, à tous les niveaux, pour justifier de dissocier les deux langages. VB.NET est effectivement un "BASIC visuel", mais on ne peut pas dire qu'il soit dans la lignée des VB précédents. Malgré les ressemblances conservées en surface, il s'agit d'un langage différent.

En contrepartie, les applications créées à l'aide de VB.NET profitent de tous les avantages d'un vrai langage de programmation, et ceux qui auront le courage de réapprendre à programmer en Visual Basic via VB.NET deviendront meilleurs développeurs.
 
Xavier Borderie, JDN Développeurs
 
Accueil | Haut de page
 
 





Quand achetez-vous le plus en ligne ?
Du lundi au vendredi
Le samedi
Le dimanche

Tous les sondages