• Choisir entre C# et VB.NET

    Par: Daniel COHEN-ZARDI (Président, SoftFluent)

    Cette question apparaît de temps en temps sur des sites web communautaires ou lorsque certains clients sont confrontés à ce choix. Bien que beaucoup de gens débattent avec passion des vertus techniques de chaque langage, il me semble que cela ne devrait pas être une décision technique.

    Sur le plan technique, il est important de se rappeler que les deux langages dans leur version actuelle ont été conçus pour la plateforme. NET. Pour cette raison, Visual Basic .NET et C# utilisent le « Common Langage Runtime » et n’ont aucune différence significative en termes de performances, à l'exception de différences marginales sur certains points très précis du compilateur. Quelques petites choses manquaient dans Visual Basic avant .NET version 2, mais cela fait assez longtemps maintenant. Pour les personnes qui veulent en savoir plus sur le côté technique, nous vous recommandons cette comparaison technique ( lien ), ainsi que ce comparateur de syntaxe ( lien ).

    Certaines décisions de conception, en particulier au niveau syntaxe, ont été prises pour faciliter la transition des communautés existantes : C# cible principalement C++ et Java, alors que VB.NET cible plutôt les anciens développeurs Visual Basic. Parce que C++ était plus puissant que Visual Basic - dans le sens que l'on pouvait faire des choses en C++ que l'on ne pouvait pas faire en VB - il subsiste encore une perception que C# s’adresse aux développeurs professionnels alors que Visual Basic NET s’adresserait aux amateurs.

    Il n'existe aucun fait technique pour appuyer cette affirmation, comme en témoigne la déclaration de Microsoft sur le site officiel : « Bien qu'il existe des différences entre Visual Basic NET et Visual C # NET, les deux sont des langages de programmation de première classe qui sont basés sur le Framework .NET, et sont tout aussi puissants ».

    Cela dit, certains facteurs opérationnels sont à prendre en considération lors d’une prise de décision sur le choix d’un langage de programmation.

    D’une part, les compétences de l’équipe de développement et son expérience avec une syntaxe ou une autre sera d'une importance primordiale pour la productivité, surtout si l’équipe est stable et s'est engagée sur le long terme. Il serait contre-productif d'imposer un changement de langage alors que les gens sont à l'aise avec leur style de programmation et qu’il n'y a pas de raison majeure de changer.

    D'autre part, si un projet nécessite plusieurs nouvelles embauches, il sera vraisemblablement plus facile de recruter pour un projet C# que pour un projet Visual Basic. On constate statistiquement que les développeurs les plus avancés utilisent C# plutôt Visual Basic. NET.
    Dans certains cas, le mélange des langages peut également être réalisé grâce à l'interopérabilité. Cela nécessite une masse critique de code et de ressources sur les deux langages pour que cela soit économiquement justifié, faute de quoi il ne sera pas optimal de maintenir le code sur le long terme.

    Bien souvent, il existe un historique et un héritage Visual Basic, mais une décision a été prise de migrer vers NET tout en revisitant l'approche : passage d'une approche procédurale à l’orienté-objet, bascule d’une méthode en cascade vers les méthodes agiles, déploiement de Visual Studio Team System, embauche de nouvelles ressources et mise à jour de l'organisation. Dans ce scénario très courant, il pourrait ne pas être pertinent de s'en tenir à Visual Basic comme langage juste à cause de l'héritage historique. En fait, formaliser le changement en passant à C# peut être un moyen de marquer une rupture, car l’équipe ne devra pas utiliser les mêmes structures du programme de toute façon.

    L'argument ultime qui pousse souvent la décision vers C# est la communauté. Beaucoup d’exemples de code, publiés par Microsoft, ou la communauté, sont en C#, ce qui rendra votre équipe beaucoup plus productive dans de nombreux scénarios. Vous trouverez un écosystème plus complet de composants tiers et d'outillage pour C#. C'est ce que nous constatons en situations réelles chez de nombreux clients en France et à l’international.

    Mais n'en faites pas une religion. Si la plupart de votre équipe est à l'aise avec Visual Basic et ce style de programmation, pourquoi se compliquer la vie ?

    Pour conclure, si vous avez besoin de passer d’un langage à l’autre pour votre épanouissement personnel, Visual Studio Magazine est votre ami.
    - Ce que les développeurs C# doivent savoir sur Visual Basic : Lien
    - Ce que les développeurs Visual Basic doivent savoir sur C# : Lien

    Enfin, nous profitons de cet article pour recueillir votre opinion. En tant qu’éditeur de CodeFluent Entities, nous avons concentré nos efforts de de test sur la génération de code C# dans un premier temps. Néanmoins, le produit a été conçu de manière compatible avec Visual Basic .NET et nous envisageons de réactiver cette option

    Cette possibilité vous intéresse-t-elle ? Si oui, n’hésitez pas à nous écrire à info@softfluent.com, nous envisageons de mettre en priorité sur notre feuille de route le rétablissement du support de VB.NET


  • Commentaires

    Aucun commentaire pour le moment

    Suivre le flux RSS des commentaires


    Ajouter un commentaire

    Nom / Pseudo :

    E-mail (facultatif) :

    Site Web (facultatif) :

    Commentaire :