VB.NET ou C# : quelle est la différence ?

27 08 2012

Découvrez pourquoi VB.NET est un langage de con…

Avant d’expliquer les différences entre VB.NET et C#, voici un petit rappel historique.

Il y a fort longtemps, c’est à dire dans les années 90, l’une des solutions les plus utilisées pour développer des applications pour windows était le Visual Basic 6 (VB6), un langage inventé par microsoft en 1991.

À l’époque les gens utilisaient VB6 car c’était un langage assez simple comparé au C++ par exemple. Il faut dire que ni Delphi, ni Qt, ni même Java n’existaient, donc VB6 était une solution de développement intéressante.

Mais un beau jour, le monde a changé.

Chez microsoft, le monde a changé en 2001, avec la sortie du tout nouveau .NET Framework, qui allait révolutionner la manière dont on développe des applications sous windows, en offrant un ensemble de bibliothèques bien structurées et bien documentées, le tout fonctionnement sur une machine virtuelle (comme Java) : la CLR.

Microsoft a accompagné la sortie de son .NET Framework d’un tout nouveau langage de programmation destiné à devenir le langage de prédilection pour les développements en .NET : le C# (prononcer C sharp), un langage moderne, complétement orienté objet, à la syntaxe inspirée de celle du C et de Java.

Mais pour ne pas frustrer les utilisateurs de VB6, microsoft a aussi créé un autre langage dont la syntaxe est très proche de celle de VB6, ils ont naturellement appelé ce nouveau langage VB.NET.

Techniquement, C# et VB.NET sont presque identiques, la seule différence se trouve principalement au niveau de la syntaxe, qui est elle, par contre, radicalement différente.

Et c’est là que les ennuis commencent.

Certains esprits faibles et conservateurs (voire même étriqués) n’ont absolument pas saisi le changement majeur induit par .NET.

Pour eux, VB.NET était la solution de facilité pour passer de VB6 à .NET, ils ont réduit le langage à sa seule syntaxe.

Du coup, ils ont continué à développer en VB.NET de la même manière qu’ils développaient en VB6, passant totalement à côté de toutes les conventions et des nombreuses facilités apportées par le framework.

Sans parler, bien sûr, du recyclage de code VB6 dans des applications .NET !

C’est ainsi qu’on se retrouve avec des applications extrêmement mal architecturées, impossibles à maintenir et très mal écrites.

Voilà pourquoi VB.NET est un langage de con, car les utilisateurs doués d’une intelligence certaine ont bien compris ce que représente .NET et ont donc naturellement choisi C#.

Ce que je raconte ici c’est bien sûr du vécu… J’ai récemment été amené à développer des évolutions sur ce genre d’application spaghetti, et je dois dire que je n’ai jamais rien vu de merde pareille auparavant, j’ai été surpris de voir à quel point une incompétence abyssale peut habiter certains “ingénieurs”, c’est absolument impressionnant, c’est même Olympique !

Avant de finir ce billet, voilà une petite liste des différences entre C# et VB.NET qui font de ce dernier un langage antiproductif :

  • VB.NET ne permet pas de déclarer une chaîne de caractère (String) sur plusieurs lignes. En effet, en VB.NET il n’y a pas de caractère qui délimite la fin d’une instruction, comme le ; en C# ou en PHP. Du coup chaque nouvelle ligne correspond à une nouvelle instruction.Certes il est possible de concaténer chaque ligne avec l’opérateur & suivi d’un _ pour indiquer que l’instruction se poursuit sur la ligne suivante, mais c’est absolument pas pratique, pour écrire des requêtes SQL par exemple (lorsqu’on ne peut pas utiliser Linq bien sûr).

  • VB.NET possède une syntaxe lourde et assez complexe (utilisation de majuscules et de minuscules dans les statements).Exemple : If, For Each, End Sub
    C’est tellement verbeux, que c’est comme si votre clavier avait la chiasse carabinée…

  • VB.NET ne prend pas en charge la syntaxe lambda. En C#, la syntaxe lambda est une façon rapide et élégante de, par exemple, déclarer une fonction anonyme destinée à trier une collection grâce à IComparable.

  • VB.NET ne permet pas d’écrire des commentaires bloc. Mais en même temps qui utilise les commentaires…

Si vous en avez d’autres, faites tourner.

En revanche si vous n’êtes pas d’accord, argumentez, ou alors allez vous faire… ^^


Partager :

Ces icônes sont des liens vers des sites de partage de signet sociaux où les lecteurs peuvent partager et découvrir de nouveaux liens.
  • Digg
  • del.icio.us
  • Facebook
  • Digg -fr
  • Live
  • MisterWong Fr
  • Scoopeo
  • StumbleUpon
  • Technorati
  • Wikio FR

Actions

Informations

Et maintenant je fais quoi ?

Aucun commentaire

Une réponse à “VB.NET ou C# : quelle est la différence ?”

2 03 2016
MONTMARTIN (17:35:04) :

Perso, je connais au moins un programmeur C# qui est con !
Si si, je vous assure

Laisser un commentaire

Vous pouvez utiliser ces balises html : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>