64 votes

Devrions-nous choisir VB.NET ou C # lors de la mise à niveau de nos applications héritées?

Dans l'entreprise où je travaille, nous avons un certain nombre d'applications héritées écrit en Visual Basic 6.0. Sans dénigrer sur les développeurs qui les écrit, il suffit de le dire, nous avons décidé de réécrire les applications à partir de zéro en raison de plusieurs facteurs déterminants:

1.) Le manque de documentation.

2.) L'absence de gestion des exceptions.

3.) L'absence de l'enregistrement.

4.) Manque d'extensibilité.

Parce que ces applications ont beaucoup de code dupliqué partagé entre eux (copier-coller de la réutilisation), nous voulons réécrire d'une façon qui met l'accent sur la réutilisabilité, la testabilité, et de l'extensibilité. Je suis donc en considérant un déplacement loin de VB 6.0 et dans .NET. Qui me laisse avec un choix entre VB.NET et C#. L'équipe de développement est ouvert à la suggestion. Cependant, ils n'ont pas de familiarité avec le C#, et sont de plus en plus familiarisé avec Visual Basic (classique). Dans les deux cas, ils auraient à apprendre .NET.

L'enseignement n'est pas mon problème. Je l'ai fait avant, et je n'ai aucun scrupule à le faire à nouveau.

Il est à noter que le code source va être réécrit, en raison d'une refonte. Donc, à ce stade, nous obtenons de choisir la langue que nous voulons utiliser. Personnellement, je suis penchée vers C#, avec le sentiment qu'elle met en application plus rigoureuse des pratiques de codage (c'est un plus intrinsèquement type-safe de la langue et est livré avec un beaucoup plus strictes compilateur).

Cependant, je suis très intéressé dans les pensées de mes pairs avant de me prendre une décision. Donc, si vous avez fait cela avant, ou si vous avez des mots d'esprit ou de la sagesse à transmettre, j'apprécierais vraiment.

Je suppose que, à la clôture, que la question est de savoir quelle langue voulez-vous aller avec si vous avez eu l'occasion de faire une rupture nette à partir de Visual Basic 6.0 et de la déplacer .NET?

Mise à JOUR: je m'excuse d'avance si quelqu'un pense que j'ai commencé ce fil de discussion pour le seul but d'être argumenté. C'était la chose la plus éloignée de mon esprit. Au lieu de cela, je voulais m'assurer que j'avais pris la bonne décision à un point crucial dans notre société de prise de décision procesesses. Pour ce faire, j'ai pensé qu'il valait mieux chercher à obtenir les commentaires de ceux qui ont été à travers le processus d'eux-mêmes. Attiser les dissensions était la dernière chose que je voulais faire.

Merci à tous pour votre entrée. Il a été fait réfléchir, et je vais avec mes collègues que nous avons sélectionnez une langue pour notre développement futur.

90voto

Joel Coehoorn Points 190579

Vous aurez beaucoup de personnes ici, dites-vous d'utiliser le C#. Il y a certains avantages à cela. D'une part, VB.Net fournira une plus-syntaxe familière et il est occasionnellement (rares) cas où vous pouvez simplement copier/coller d'un ancien module dans le nouveau projet et il fonctionne, tout simplement. D'autre part, c'est juste suffisamment différentes pour que les développeurs de continuer d'essayer de faire les choses à l'ancienne et de se retrouver avec le pire de code comme un résultat, parce qu'ils ne comprenaient pas comment VB.Net était différent.

La chose importante à retenir de ce n'est pas que vous devez choisir le C#, mais que si vous choisissez de C# ou de VB.Net vous devez le traiter comme vous êtes l'apprentissage d'une nouvelle langue. VB.Net est très similaire à VB6, mais le moment de vous faire une hypothèse que quelque chose fonctionne de la même manière qu'il l'a fait pour VB6 aussi souvent que pas, vous vous faites une erreur à propos de la façon dont il est censé être fait.

Personnellement, j'ai détesté VB6, mais j' aime vraiment VB.Net — encore plus qu'en C# et j'ai appris à programmer à l'aide de C++. Je pense VB.Net obtient une mauvaise réputation, parfois, à cause de son vb6 patrimoine, principalement à partir de C# développeurs qui n'ont pas utilisé tous, ou au moins pas assez longtemps pour l'apprécier. Mais je suis bizarre cette façon; il n'y en a pas beaucoup avec mon fond qui préfèrent VB.Net en C#. D'ailleurs, certains — pas tous — de mes plaintes au sujet de C# dans le premier lien de ce paragraphe ont été réglés depuis.

Mise à jour:
Voir aussi mon additif dans une réponse distincte.

33voto

user54650 Points 3004

Lors de ma dernière entreprise, nous avions conclu qu'il serait plus difficile pour VB6-ers d'apprendre VB.NET que C #. Pourquoi? VB.NET est presque exactement différent de VB6, enregistrez la syntaxe. Cette syntaxe peut devenir plus un défi que le rendre plus facile à apprendre.

27voto

Iain Holder Points 7930

D'après mon expérience, la plupart des anciens développeurs VB n'hésitent pas à passer à C #.

Les développeurs C, C ++, Perl, etc. préféreraient se creuser les yeux plutôt que du code en VB.NET.

Si cela ne vous dérange pas de le faire, je dirais d'aller en C #. Il semble y avoir beaucoup plus de soutien pour cela dans la communauté et à cause de ce que j'ai dit ci-dessus, cela ne va pas s'inverser de si tôt.

19voto

CubanX Points 3603

Je pense que la principale raison d'utiliser le C# sur VB.Net c'est que presque tous les exemples de code, des discussions, etc. sur le web en C# lorsque vous discutez de l' .Net framework.

Si vous êtes sur un MME site, ils montrent toujours les deux, mais sur des sites comme ces choses que vous trouverez à la recherche Google, vous trouverez presque tous les exemples sont en C#.

Vous pouvez obtenir de bons à les traduire dans votre tête, mais qui se fatiguer après un certain temps.

Comme un mineur de côté, C# sera aussi sans doute l'air mieux sur vos, et vos coéquipiers, reprend.

De toute façon, bonne chance rampe, l'apprentissage vrai OO va être assez dur. :)

19voto

Konrad Rudolph Points 231505

Lors d'un déplacement .NET, la "similarité" entre VB6 et VB.NET pas de réel avantage, dans mon expérience. C'est parce que VB.NET est en réalité beaucoup plus semblable à C# que c'est à VB6, en dépit de leurs différences syntaxiques.

Donc, de ce point de vue, il est tout à fait sans importance. Cependant, ceci:

... le sentiment que [C#] met en application plus rigoureuse des pratiques de codage (c'est un plus intrinsèquement type-safe de la langue et est livré avec un beaucoup plus strictes compilateur).

Je ne peux pas d'accord avec. En fait, VB, il est tout aussi stricte que C#, d'autant plus avec un peu de discipline (en faisant allusion à la conversion entre les types). Tout ce qui est nécessaire pour cela est de s' Option Explicit On et Option Strict On une exigence pour tous les projets. Qui doit l'être dans toute société qui se respecte.

Option Strict peut être désactivée de manière sélective lorsque vous traitez avec beaucoup de retard de liaison Api (voir PIA). Option Explicit, jamais.

Lorsque cette simple contrainte est considérée, VB.NET est très strict, très explicite et donc extrêmement expressive de la langue.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X