|
|
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. |
|
|