.NET : êtes-vous plus C# ou VB ?
Entretien avec le PDG de SoftFluent qui envisage de réactiver l'option Visual Basic dans CodeFluent Entities
En tant qu’éditeur de CodeFluent Entities, SoftFluent a concentré ses efforts de R&D et surtout de test sur la génération de code C#. Néanmoins, le produit a également été conçu de manière compatible avec Visual Basic .NET.
« Et nous envisageons de réactiver cette option », explique Daniel COHEN-ZARDI, PDG de SoftFluent.
L'occasion de revenir avec lui sur ces deux langages, leurs points communs, leurs différences et pourquoi choisir l'un plutôt que l'autre.
Comment choisir entre VB et C# pour mener un projet ?
Daniel COHEN-ZARDI : Beaucoup de gens débattent avec passion des vertus techniques de chaque langage. Personnellement, il me semble que ce choix ne devrait pas être une décision technique.
Car techniquement, il est important de se rappeler que les deux langages dans leurs versions actuelles ont été conçus pour la plateforme. NET. 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.
Ce sont plus les facteurs opérationnels qui 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 la syntaxe de C# ou VB 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 par exemple 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 en effet que statistiquement les développeurs les plus avancés utilisent C# plutôt que Visual Basic.
Il existe aussi des cas où l'on peut prendre la décision de lancer un projet « hybride » ?
Daniel COHEN-ZARDI : Oui. Dans certains cas, le mélange des langages peut ê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 que Microsoft déclare officiellement « qu'il s'agit de deux langages de programmation de première classe qui s'appuient sur le Framework .NET, et qui sont tout aussi puissants l'un que l'autre », il existe des différences entre Visual Basic NET et Visual C # NET. Quelles sont, d'après vous, les conséquences de ces différences dans les choix de conception ?
Daniel COHEN-ZARDI : 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, et 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. Mais il n'existe aucun fait technique pour appuyer cette affirmation.
Vous semblez néanmoins avoir une petite préférence pour C# ?
Daniel COHEN-ZARDI : Chez SoftFluent nous n'avons aucune préférence. Mais l'argument ultime qui pousse souvent la décision vers C# est la communauté.
Beaucoup d’exemples de code, publiés par Microsoft ou par la communauté, sont en C#. Ce qui, dans de nombreux scénarios, pourra rendre les équipes beaucoup plus productives. Vous trouvez 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.
Ceci dit il ne faut pas en faire une religion. Si l’équipe est majoritairement à l'aise avec Visual Basic et ce style de programmation, pourquoi se compliquer la vie ?
Pas plus C# que VB donc, SoftFluent étudie très sérieusement l'activation de l'option Visual Basic dans CodeFluent Entities. « Nous réfléchissons à la mise en priorité de cette partie de notre feuille de route », conclut Daniel COHEN-ZARDI.
Une bonne idée ?
Et aussi
CodeFluent, la première fabrique logicielle pilotée par les modèles (page officielle)
«Comment le développement logiciel piloté par les modèles peut vous aider à réussir vos projets», un Livre Blanc de SoftFluent
Et vous ?
Êtes-vous plus C# ou VB ?
Partager