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

6 réponses à “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

10 04 2019
Audi Viet Nam (05:18:31) :

It’s actually a cool and helpful piece of info. I’m happy that you simply shared this
helpful info with us. Please keep us informed like this. Thanks
for sharing.

13 03 2020
PatrickCloum (07:40:16) :

married couple pirn http://typossulka.rom/halva

21 01 2021
Adr (10:14:28) :

J’ai lis ce billet… et je le trouve nul. C’est la vielle gueguerre de “qui est mieux”. Et le seul argument que vous avancez, c’est : Comme les gens écrivent du VB.NET comme du VB6, VB.NET est nul… mais Whatt ?
Qu’est ce qui empêche à des idiots d’écrire du C++ en C# et ne pas faire d’objet ?
Ou encore de nous dire que “vous avez vu une fois du code VB.NET pourri… Et donc V.NET est nul ?
C’es complétement hors de propos. J’argumente mon propos, mais il serait temps que vous écriviez un billet qui compare ces deux langages, avec de vrias arguments techniques… et pas pour savoir qui est le meilleur, mais lequel est mieux pour moi. Et tant qu’à faire, enlever tous les mots vulgaires qui ne font pas professionnel.

23 05 2023
Danna (04:02:58) :

Thanks for another excellent article. Where else may just
anyone get that type of info in such a perfect means of writing?
I’ve a presentation subsequent week, and I am on the look for such information.

24 05 2023
신용대출 (05:16:50) :

Similar too other loans, you have to apply for a payday loan very first.

Here is my pag :: 신용대출

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>