Je développe en Visual Basic .Net depuis 2001 et je l'adore et je le déteste !!!
L'ordre de présentation de ces points est simplement basé sur l'ordre dans lequel il m'est venu à l'esprit ...
Dans vb.net avec visual studio, il y a un saut de ligne visuel entre chaque méthode, propriété. Pour beaucoup de gens, ce n'est pas une bonne raison de préférer vb.net à c # mais je ne comprends pas pourquoi l'équipe c # de Microsoft ne l'a pas implémenté. Il existe un complément qui dessine cette ligne en c # mais merci encore à Microsoft d'avoir une équipe ac # et une équipe Visual Basic qui ne se parlent pas.
Dans vb.net, lorsque vous créez un winform, vous avez deux combobox dans visual studio en haut de l'éditeur et vous pouvez générer automatiquement un événement automatiquement lorsque vous sélectionnez un événement dans la combobox droite. Lorsque vous attachez des dizaines d'événements chaque jour, il peut être très fastidieux de ne pas disposer de cette fonctionnalité. Avec c #, vous avez un petit bouton en haut de la grille de propriétés qui peut générer un événement mais ce n'est pas rapide comme dans vb.net. De plus, si vous attachez un événement de contrôle en c # et supprimez le contrôle sur le formulaire, le délégué créé sur le code généré automatiquement pour gérer l'événement doit être supprimé manuellement. Merci encore Microsoft.
Dans vb.net, lorsque vous essayez de modifier une méthode qui contient une requête linq sans modifier la requête elle-même, aucun problème mais en c #, tout le code de la méthode est verrouillé. Si vous avez beaucoup de requêtes linq ou d'expression lambda, la fonction d'édition et de poursuite sera rapidement une bonne vieille chose. D'accord, un peu d'exagération ... mais :)
Dans vb.net, lorsque vous créez un nom de méthode et appuyez sur Entrée, le 'end sub' sera automatiquement créé. En c #, faites-le vous-même. Ok, si vous avez installé resharper ou devexpress, ce sera mieux, mais pourquoi toutes ces petites mais grandes fonctionnalités n'ont pas été implémentées en c #.
Dans vb.net, lorsque vous avez des erreurs sur votre code, les erreurs sont automatiquement affichées et lorsque vous les corrigez, ces erreurs sont supprimées de la pile en temps réel. En c #, vous devez construire votre projet pour réaliser que vous avez correctement corrigé ou non les erreurs spécifiées. Pourquoi l'équipe c # n'a pas mis d'option pour vérifier les erreurs en temps réel comme dans vb.net. Avec une grande solution, aucune vérification d'erreur en temps réel ne peut être une très belle optimisation des performances mais j'aime voir une pile d'erreur disparaître pendant que je la corrige.
Comme d'autres personnes l'ont mentionné, je pense qu'il est plus facile de lire la condition de vb.net if..end if, select case ... end select mais avec le support de peinture devexpress, oubliez ce que j'ai dit.
Avec vb.net, il existe de nombreux bogues dans Visual Studio. Pour n'en citer qu'un dans Visual Studio 2010, les intellisens ne filtrent pas correctement l'énumération si vous avez activé le mode "commun" au lieu de "tous".
Avec vb.net, vous êtes perçu comme un mannequin parce que statiquement, plus de mauvais programmeurs utilisent vb.net au lieu de c # car c # est plus difficile à apprendre et à promouvoir de meilleures pratiques de programmation.
Comme d'autres l'ont dit, le programmeur c # a plus de chances d'avoir un bon travail avec plus d'argent.
Dans la tête du client, vb.net = gars qui programme dans son sous-sol avec un bol de spaghetti de code. c # = wow, vous êtes très intelligent. Le fait est que ce n'est pas parce que vous programmez en c #, que vous faites un bon programme mais statiquement, oui.
Avec tous ces points, j'ai choisi de convertir tout mon code vb en c #. Je programme avec toutes les meilleures pratiques orientées objet, design pattern, code propre avec standards et syntaxe stricte et je peux programmer comme ça depuis 50 ans mais aux yeux de la communauté, je ne suis pas un bon programmeur. Je vais convertir mon code en c # sans autres bonnes pratiques et je serai une autre personne; un grand gars que vous devez respecter ..... :( quelle blague ... !!! mais c'est la réalité.