Après 28 ans, assistons-nous enfin au début de la fin pour l’un des langages les plus populaires au monde ?

Matthew MacDonald

Follow

Juin 10, 2019 – 9 min de lecture

.

J’ai une confession à faire. Avant de devenir un développeur respectable travaillant avec des langages modernes à accolades comme C# et Java (et ce désordre chaud d’une plateforme que nous appelons JavaScript), j’étais un fan dévoué de l’inadapté follement populaire Visual Basic.

Mon engouement a commencé honnêtement. En tant que préadolescent, j’ai appris à programmer avec le langage BASIC. Mais pas n’importe quel BASIC. J’ai commencé dans l’environnement révolutionnaire QuickBASIC de Microsoft sur l’ancien système d’exploitation DOS. Je me souviens encore d’avoir écrit du code en texte blanc sur son fond bleu réjouissant.

Pour la programmation en 1988, QuickBASIC était magique. Vous pouviez écrire du code sans numéros de ligne encombrants, corriger les erreurs de syntaxe au fur et à mesure de la saisie et lancer votre programme directement à partir de l’environnement de développement, sans avoir recours à la ligne de commande. Et lorsque vous aviez terminé, vous pouviez partager votre programme avec vos amis en utilisant l’un de ces mauvais garçons :

.

Max Pixel / CC0

De nos jours, QuickBASIC n’est plus qu’une curiosité d’un lointain passé. Ou bien l’est-il ? Un projet innovant appelé QB64 a créé une réplique moderne de QuickBASIC. Il fonctionne sous Windows, MacOS et Linux, sans émulateur. Lorsque vous exécutez un programme dans QB64, celui-ci effectue un habile tour de passe-passe : il traduit d’abord votre code BASIC en C++, puis il le compile.

QuickBASIC était un exploit impressionnant pour l’époque ancienne des systèmes informatiques en mode texte. Mais la donne a changé lorsque Microsoft a sorti Windows, et a catapulté les utilisateurs de PC dans un monde graphique de boutons et de clics. En même temps que Microsoft a publié Windows 3.0 – la première version qui a vraiment été un succès – ils ont également lancé Visual Basic 1.0.

Voici quelque chose d’entièrement nouveau. Vous pouviez créer des boutons pour vos programmes en les dessinant sur la surface d’une fenêtre, comme s’il s’agissait d’une sorte de toile d’art. Pour qu’un bouton fasse quelque chose, tout ce que vous aviez à faire était de double-cliquer dessus dans l’environnement de conception et d’écrire un peu de code. Et vous n’utilisiez pas de code C++ cryptique, avec des piles de classes, une gestion complexe de la mémoire et des appels obscurs à l’API Windows. Au lieu de cela, vous avez écrit du code VB à l’aspect sympathique, comme une personne civilisée.

Tout ce piquant graphique était impressionnant, mais le vrai secret du succès de VB était son côté pratique. Il n’existait tout simplement aucun autre outil qu’un développeur pouvait utiliser pour esquisser une interface utilisateur complète et commencer à coder aussi rapidement que VB. Et bien que les historiens aiment parler de la partie visuelle de Visual Basic, sa signature n’avait rien à voir avec les widgets graphiques. Au contraire, VB est devenu célèbre grâce à une fonction légendaire appelée edit-and-continue, qui permettait aux développeurs d’exécuter leurs programmes, de trouver les problèmes, de les corriger, puis de continuer avec le nouveau code. C’était une différence marquée par rapport à presque tous les autres environnements de programmation connus de l’humanité, qui obligent les développeurs à recompiler leur travail et à recommencer après chaque modification.

Le Visual Basic original a prospéré pendant environ une décennie. Ce qui a commencé comme un environnement convivial pour les débutants s’est transformé en un outil suffisamment capable pour les programmeurs sérieux. À la sortie de VB 6 – la dernière version du Visual Basic classique – on estimait qu’il y avait dix fois plus de codeurs écrivant en VB que dans l’impitoyable langage C++. Et ils ne se contentaient pas de créer des applications jouets. Visual Basic a fait son chemin dans les bureaux des entreprises et même sur le web grâce à l’ASP (Active Server Pages), une autre technologie monstrueusement populaire. Vous pouviez désormais créer des pages web qui parlaient à des composants VB, appelaient des bases de données et écrivaient du HTML à la volée.

Tout cela se passait sans pratiquement aucune structure, à moins que vous ne choisissiez d’en créer une vous-même. C’était le thème non écrit de Visual Basic – il vous donnait la liberté maintenant que vous regretteriez plus tard.

Le problème du VB classique

Le VB classique avait une mauvaise réputation dans de nombreux cercles. Les fanatiques de l’orientation objet se plaignaient souvent que VB manquait de support pour l’héritage. (C’était une critique étrange, considérant que l’héritage est souvent un excellent moyen pour les développeurs moins qualifiés de se tirer dans le pied – exactement le genre de fonctionnalité dont VB n’avait pas besoin). En fait, le VB classique n’était pas un boulet orienté objet. À la fin de sa vie, il supportait les interfaces, le polymorphisme et les bibliothèques de classes, autant d’éléments qu’il a empruntés à COM, une pièce maîtresse de la technologie des composants qui est câblée dans chaque version de Windows.

Le vrai problème de VB classique était qu’il avait trop de succès. Il était si efficace pour abaisser les barrières pour les nouveaux programmeurs que littéralement n’importe qui pouvait l’utiliser. Les petits nouveaux imprudents, les employés d’entreprise qui s’ennuient et les étudiants d’été s’y piétinaient, résolvant des défis qui auraient été beaucoup plus difficiles sur n’importe quelle autre plateforme, et pulvérisant du code spaghetti partout.

En d’autres termes, parce que VB était assez facile à utiliser même si vous n’étiez pas un codeur qualifié, il était utilisé par plein de gens qui n’étaient pas des codeurs qualifiés. Et VB ne faisait rien pour les encourager à corriger leurs mauvaises habitudes.

VB.Fred et la solution .NET

En 2002, Microsoft faisait ce qu’elle fait le mieux : perturber son propre écosystème de développeurs en introduisant une toute nouvelle façon de faire les choses.

Cette fois, le projet était une réarchitecture massive de COM, la technologie des composants qui sous-tendait Windows (et, indirectement, VB classique). C’était un moment « bet-the-company » pour un mégalithe du logiciel qui avait déjà fait plusieurs paris de ce type.

Microsoft a appelé ce redémarrage .NET pour un certain nombre de raisons douteuses, notamment parce que les technologies Internet étaient encore récentes et passionnantes, et parce que .NET comprenait une fonction de services Web que Microsoft était bien décidé à promouvoir. Il était fortement influencé par Java, et regorgeait d’outils permettant de communiquer avec des bases de données, de construire des sites web, d’écrire des programmes multithreads, d’établir des connexions sur des sockets – à peu près tous les cas d’utilisation qu’un développeur commercial pouvait imaginer.

Le seul problème était que pour obtenir toutes ces nouvelles fonctionnalités, Microsoft a dû jeter presque tout le VB classique.

La nouvelle version, appelée VB.NET, avait un peu la même apparence, si on louchait bien. Mais elle comportait de nombreux changements de rupture, petits et grands. Du côté des grands changements : Les anciens programmes VB étaient piégés dans l’ancien monde de la programmation, et un assistant de migration étonnamment pauvre ne faisait pas grand-chose pour changer cela. Du côté des petits changements : Les programmeurs VB classiques ont dû changer la façon dont ils comptaient les éléments des tableaux. Ils ne pouvaient plus commencer à 1, comme les gens ordinaires. Maintenant, ils devaient commencer à 0, comme les programmeurs officiels.

Aussi du côté des grands : Il n’y avait plus de fonction edit-and-continue.

Les développeurs sont connus pour se plaindre, et les développeurs VB sont un groupe particulièrement plaintif. Il n’a pas fallu longtemps avant qu’un groupe de développeurs VB influents n’ait baptisé le nouvel environnement de programmation de Microsoft VB.Fred pour souligner que, quel qu’il soit, ce nouveau langage n’était pas Visual Basic.

Ce qui a condamné Visual Basic

On pourrait supposer que les changements de .NET ont fissuré les fondations de VB et mis en branle son déclin inévitable. Mais ce n’est pas ce qui s’est passé. En fait, même si VB.NET a plongé dans une nouvelle direction, et a apporté des changements cassants qui ont rendu orphelin du code VB classique parfaitement bon, il est devenu massivement populaire. C’est parce que VB.NET a donné quelque chose que les développeurs VB classiques n’avaient jamais eu auparavant – le respect.

Dans le monde .NET, VB et C# étaient sur un pied d’égalité. Chaque ligne de code VB pouvait être traduite en une ligne équivalente de code C#, et vice versa. Les deux langages avaient les mêmes capacités, utilisaient les mêmes composants et se compilaient exactement sous la même forme (ce qu’on appelle le langage intermédiaire). VB était enfin libéré du syndrome du vilain petit canard.

Mais il y avait un problème à être un autre langage de programmation respectable. L’enthousiasme qui avait fait de VB le langage de choix de tant de personnes avait disparu. Non pas parce que VB avait changé, mais parce que C# avait changé.

De même que VB a acquis la même puissance que C#, C# a récupéré les mêmes commodités que Visual Basic. Par exemple, les fonctions de sécurité des types et de gestion de la mémoire de .NET signifiaient que les développeurs de C# n’avaient jamais à s’inquiéter des fuites de mémoire, tout comme les développeurs de VB.

En d’autres termes, C# avait maintenant les garde-fous pour protéger les amateurs, les étudiants et les nouveaux programmeurs sans renoncer à sa puissance. Tout d’un coup, VB n’était plus quelque chose de spécial. C’était juste un autre outil dans la boîte à outils d’un programmeur capable.

L’état de Visual Basic aujourd’hui

Aujourd’hui, Visual Basic est dans une position étrange. Il a à peu près 0 % du mindshare parmi les développeurs professionnels – il ne figure même pas dans les enquêtes sur les développeurs professionnels ou n’apparaît pas dans les dépôts GitHub. Pourtant, il est toujours là, dans la nature, à assurer la cohésion des macros Office, à alimenter les vieilles bases de données Access et les anciennes pages Web ASP, et à attirer les nouveaux venus sur .NET. L’indice TIOBE, qui tente d’évaluer la popularité d’un langage en examinant les résultats de recherche, classe toujours VB dans le top 5 des langages les plus parlés.

Mais il semble que la dynamique ait changé pour la dernière fois. En 2017, Microsoft a annoncé qu’elle commencerait à ajouter de nouvelles fonctionnalités de langage à C# qui pourraient ne jamais apparaître dans Visual Basic. Ce changement ne renvoie pas VB au statut de vilain petit canard, mais il lui enlève une partie de son statut .NET.

Sincèrement, la tendance à mettre VB sur la touche existe depuis des années. Les développeurs sérieux savent que les parties clés de .NET sont écrites en C#. Ils savent que C# est le langage de choix pour les présentations, les livres, les cours et les ateliers de développeurs. Si vous voulez parler VB, cela ne nuira pas aux applications que vous construisez, mais cela pourrait handicaper votre capacité à parler à d’autres développeurs.

Un endroit où Visual Basic aurait dû avoir une place naturelle est le marché de l’éducation. Mais même là, il reste un mouton noir. Les langages modernes comme C# et Python sont maintenant assez faciles et sûrs pour que les débutants puissent les prendre comme premier langage. Si vous avez besoin de quelque chose de plus simple pour les jeunes enfants, le marché est encombré d’outils de programmation graphique comme Scratch. Les langages à accolades comme C#, C, JavaScript et Java présentent également un autre intérêt. Comme ils partagent leur syntaxe, une personne qui en apprend un peut se sentir rapidement à l’aise avec un autre.

Avec le développement web, Microsoft regarde dans le vide d’une opportunité perdue. Qui ne serait pas tenté par une version de VB aussi facile à utiliser que VB 6, mais qui pourrait être compilée en JavaScript, et jumelée à un concepteur de formulaires HTML ? Oui, ce ne serait pas un outil approprié pour construire le prochain Google Maps, mais il aurait pu ressusciter l’attrait de Visual Basic, permettant aux développeurs commerciaux, aux étudiants et aux amateurs de créer des applications en ligne simples sans la lourdeur de JavaScript. Au lieu de cela, Microsoft a créé un produit alimenté par VB appelé LightSwitch qui a disparu avec la mort du plug-in de navigateur Silverlight. Si Microsoft construit un autre produit de codage pour les masses, il est plus probable qu’il s’agisse d’un outil à faible code piloté par des modèles comme PowerApps.

Visual Basic a déjà été menacé auparavant. Mais cette fois-ci, c’est différent. Il semble que le soleil se couche enfin sur l’un des langages de programmation les plus populaires au monde. Même si c’est vrai, Visual Basic ne disparaîtra pas avant des décennies. Au contraire, il deviendra un autre produit hérité, un outil négligé sans passion ni avenir. C’est à vous de décider si nous avons perdu quelque chose de spécial – ou si nous avons finalement mis un vieux chien hors de sa misère.

Catégories : Articles

0 commentaire

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *