Microsoft donne des indications sur les orientations de l'évolution des langages de l'écosystème .NET
C# sera plus puissant et VB plus simple et accessible

En 2001, Microsoft a présenté son langage de programmation Visual Basic.NET, à la syntaxe similaire à celle de Visual Basic 6, pour développer en .NET via Visual Studio sur les systèmes d'exploitation Windows. Un an plus tard, l’entreprise a proposé le langage de programmation orienté objet C#, dérivé du C++ et très proche du Java, pour le développement sur la plateforme Microsoft .NET. Cette même année, Microsoft Research a finalisé le développement de la première version publique de F#, un langage de programmation fonctionnel, impératif et orienté objet pour la plateforme .NET dont le noyau est dérivé du langage OCaml (avec lequel il est fortement compatible).

Trois langages pour la plateforme .NET qui n’ont pas forcément la même audience et qui ont vu Microsoft prendre des approches stratégiques différentes pour chacun d’eux. À ce propos, l’entreprise a fait un billet pour donner plus de précision, aux développeurs et professionnels de l’informatique, sur ses intentions dans le développement de ces langages.

C#

Après avoir rappelé que C# est utilisé par des millions de personnes et a figuré parmi les langages de programmation les plus populaires sur des baromètres, Microsoft a rappelé la diversité de cas d’utilisation de son langage. Ce dernier est par exemple utilisé dans le développement de jeux avec Unity, les applications mobiles avec Xamarin, les applications web avec ASP.NET, les applications commerciales sur Windows, les microservices .NET Core sur Linux, Azure et AWS pour ne citer que ces cas d’utilisation.

« Nous continuerons de développer C # pour répondre aux besoins changeants des développeurs et rester à l’état d'art du langage de programmation. Nous allons innover de manière agressive, tout en veillant à ne pas nous éloigner de l’esprit du langage. Étant donné la diversité de la base de développeurs, nous préférerons améliorer le langage et la performance, ce qui profitera à tous ou à la plupart des développeurs, évitant ainsi une focalisation excessive sur un segment donné. Nous continuerons de renforcer l'écosystème et de renforcer son rôle dans l'avenir de C #, tout en maintenant une gestion rigoureuse des décisions de conception pour assurer une cohérence continue », a expliqué Mads Torgersen, Program Manager du langage C#.

D’ailleurs, il a rappelé que chaque version de C # a apporté une évolution majeure du langage : les génériques avec C # 2.0, les requêtes intégrées de langage (ainsi que des nouveautés au niveau fonctionnel) avec C # 3.0, le type dynamique avec C # 4.0, async avec C # 5.0 et un tas de petites fonctionnalités utiles dans C # 6.0.

« De nombreuses fonctionnalités ont servi de scénarios émergents, et depuis C # 5.0 il ya eu une forte concentration sur les périphériques connectés et les services, la latence de ces connexions et le travail avec les données qui passent par eux. C # 7.0 ne sera pas une exception, avec les tuples et le pattern matching comme fonctionnalités majeures, sans compter la transformation et la rationalisation du flux de données et de contrôle dans le code », a-t-il assuré.

Visual Basic

Utilisé par des centaines de milliers de personnes selon Microsoft, la plupart des utilisateurs se servent de ses WinForms pour créer des applications d'entreprises dans Windows et quelques-uns s’en servent dans la conception des sites web en grande majorité à l'aide ASP.NET Web Forms. Une grande partie des utilisateurs est également sur C#.

« Nous allons garder Visual Basic simple et accessible. Nous ferons tout ce qui est nécessaire pour en faire un citoyen de première classe de l'écosystème .NET : lorsque les formes d'API évoluent à la suite de nouvelles fonctionnalités C #, par exemple, utiliser ces API devrait être naturel dans VB. Nous allons continuer à nous concentrer sur l'expérience de l'outillage cross-language, reconnaissant que de nombreux développeurs VB utilisent également C #. Nous concentrerons l'innovation sur les scénarios principaux et les domaines où VB est populaire ».

Il s’agit d’un changement dans la stratégie établie en 2010 par Microsoft qui voulait que les deux langages soient en coévolution pour les garder similaires en termes de capacités. « Si VB devait suivre C # dans son évolution agressive, non seulement il allait rater le coche, mais en plus il allait détruire l'accessibilité directe qui est l'une de ses forces clés », a reconnu Torgersen.

Dans VS 2015, C # 6.0 et VB 14 étaient encore largement en coévolution et partageaient de nombreuses nouvelles fonctionnalités : les opérateurs conditionnels Null ? ., NameOf, etc. cependant, bien que d’une part C # et VB ont apporté des solutions à un certain nombre de nuisances qui étaient spécifiques au langage (par exemple VB a ajouté des littéraux de chaîne multiligne, des commentaires après la continuation de ligne implicite), d’autre part ils ont apporté d'autres fonctionnalités qui ne répondent pas à un besoin ou ne s'insèrent pas naturellement dans VB.

F#

Le troisième langage .NET, F #, a toujours été développé selon un chemin plus indépendant, reflétant son héritage très différent. Pour F #, l'objectif principal est de rendre la langue plus facile à utiliser, avec par exemple de meilleurs messages d'erreur et de meilleurs messages d'erreur du compilateur. Microsoft indique que le langage est utilisé par des dizaines de milliers de développeurs.

« Nous allons permettre et encourager une forte participation de la communauté en F # en continuant de développer l'infrastructure et l'outillage nécessaires pour compléter les contributions communautaires. Nous allons faire de F # le langage fonctionnel le mieux adapté sur le marché, en améliorant la langue et l'expérience de l'outillage, en supprimant les blocages aux contributions et en nous attaquant à des points difficiles pour réduire l'écart d'expérience avec C # et VB. Lorsque de nouvelles fonctionnalités de langage apparaissent en C #, nous veillerons à ce qu'il y ait une interopérabilité avec F #. F # continuera de cibler les plateformes qui sont importantes pour sa communauté ».

Source : Microsoft

Et vous ?

Quel langage utilisez-vous ? Pour quel type de projet ?
Que pensez-vous de ces orientations ?