J'ai besoin de faire des aveux. Avant de devenir un développeur respectable travaillant avec des langages modernes tels que C # et Java (et le chaos bouillonnant que nous connaissons sous le nom de JavaScript), j'étais un fan enthousiaste du
Visual Basic incroyablement populaire et maladroit.
Mon amour était sincère. Enfant, j'ai appris à programmer en BASIC. Mais pas seulement BASIC. J'ai commencé avec un incroyable environnement Microsoft appelé QuickBASIC sur un ancien système d'exploitation DOS. Je me souviens encore d'avoir tapé du texte blanc sur son fond bleu énergique.
Pour la programmation en 1988, QuickBASIC était une chose magique. Il était possible d'écrire du code sans numéros de ligne encombrants, de détecter des erreurs de syntaxe pendant le processus de saisie et d'exécuter des programmes directement à partir de l'environnement de développement sans avoir à se soucier de la ligne de commande. Après avoir terminé le programme, vous pouvez le partager avec vos amis avec l'aide de ces gars:
De nos jours, QuickBASIC n'est qu'un autre gadget d'un passé lointain. Mais en est-il ainsi? Un projet innovant appelé
QB64 a créé la réplique de pointe QuickBASIC. Il fonctionne sous Windows, MacOS et Linux et ne nécessite pas d'émulateur. Lorsque le programme démarre en QB64, l'environnement effectue une astuce délicate: il traduit d'abord le code BASIC en C ++,
puis le compile.
VB classique et l'âge visuel
QuickBASIC était un support impressionnant pour les jours lointains des systèmes informatiques à base de texte. Mais tout a changé lorsque Microsoft a sorti Windows et plongé les utilisateurs de PC dans le monde graphique des boutons et des clics. Simultanément à la sortie de Microsoft Windows 3.0 (la première version qui a connu un vrai succès), Visual Basic 1.0 a été publié.
C'était quelque chose de complètement nouveau. L'utilisateur peut créer des boutons pour les programmes,
en les
dessinant sur la surface de la fenêtre, comme sur la toile de l'artiste. Pour forcer le bouton à effectuer une action, il suffisait de double-cliquer dessus dans l'environnement de développement et d'écrire le code. Et le code n'a pas été écrit en C ++ cryptique avec des tas de classes, une gestion de la mémoire compliquée et des appels d'API Windows obscurs. En tant que personne civilisée, vous avez écrit du code sur un VB d'aspect convivial.
Tous ces gadgets graphiques étaient impressionnants, mais le vrai secret du succès de VB était sa praticité. Il n'y avait tout simplement aucun autre outil dans lequel un développeur pouvait esquisser une interface complète et commencer à coder aussi rapidement qu'en VB. Et bien que les historiens aiment spéculer sur la partie
visuelle de Visual Basic, ses compétences inimitables n'avaient rien à voir avec les widgets graphiques. VB est devenu célèbre grâce à la légendaire fonction d'édition et de poursuite, qui a permis aux développeurs d'exécuter des programmes, de trouver des erreurs, de les corriger et de
continuer à travailler avec du nouveau code. C'était très différent de presque tous les autres environnements de programmation connus de l'humanité, ce qui obligeait les développeurs à recompiler le travail et à recommencer après chaque changement.
Le Visual Basic d'origine a prospéré pendant une douzaine d'années. Ayant émergé comme un environnement convivial pour les débutants, il s'est transformé en un outil qui a suffisamment de fonctionnalités pour les programmeurs sérieux. Au moment de la sortie de VB 6, la dernière version du Visual Basic classique, il y avait environ dix fois plus d'encodeurs VB dans le monde qu'en C ++ sévère dans le monde. Et ils n'ont pas simplement créé des maquettes d'applications de jouets. Visual Basic a fait son chemin dans les bureaux de l'entreprise et même sur Internet avec ASP (Active Server Pages), une autre technologie monstrueusement populaire. Grâce à lui, vous pouvez créer des pages Web qui peuvent communiquer avec des composants VB, communiquer avec des bases de données et écrire du HTML à la volée.
Tout cela s'est passé avec pratiquement aucune structure, sauf si vous avez décidé de le créer vous-même. C'était une règle non écrite en Visual Basic - elle vous a donné la liberté, que vous regretterez plus tard.
Le problème du VB classique
Dans de nombreux milieux, le VB classique avait une mauvaise réputation. Les fanatiques de POO se sont souvent plaints que VB manquait de support d'héritage. (C'était une plainte étrange, car l'héritage est souvent un excellent moyen pour les développeurs inexpérimentés de se tirer une balle dans le pied - ce n'est
pas ce dont VB avait besoin.) En fait, le VB classique n'était pas enclin à l'orientation d'objet. Vers la fin de sa vie, il a déjà pris en charge les interfaces, le polymorphisme et les bibliothèques de classes. Tout cela a été emprunté à COM - l'élément fondamental de la technologie des composants, «flashé» dans chaque version de Windows.
Le vrai problème avec le VB classique était qu'il était
trop réussi. Il a si efficacement réduit les obstacles pour les nouveaux programmeurs que presque tout le monde pouvait y travailler. Les débutants insouciants, les employés fatigués de l'entreprise et les étudiants ont résolu des problèmes qui auraient été beaucoup plus complexes sur n'importe quelle autre plate-forme et ont suspendu du code spaghetti partout.
En d'autres termes, puisque VB était assez facile à utiliser, même si vous n'étudiez pas en tant que programmeur, il était utilisé par de nombreuses personnes qui
n'avaient pas appris à être programmeurs. Et VB n'a rien fait pour empêcher l'enracinement de leurs mauvaises habitudes.
VB.Fred et la plateforme .NET
Avance rapide, en 2002: Microsoft est déterminé à faire ce que Microsoft fait de mieux: il détruit son propre écosystème de développeurs en introduisant une toute nouvelle façon de travailler.
Cette fois, le projet a été un changement majeur dans l'architecture de COM, une technologie de composant prenant en charge Windows (et, indirectement, le VB classique). C'était un taux forfaitaire pour une société mégalithique qui avait déjà effectué plusieurs fois de tels changements risqués.
Microsoft a appelé ce «redémarrage» la plate-forme .NET pour de nombreuses raisons douteuses, notamment parce que la technologie Internet à l'époque était encore fraîche et excitante, et aussi parce que .NET comprenait la fonction de services Web que Microsoft fermement décidé de promouvoir. Le produit a été créé sous la forte influence de Java et possédait une gamme complète d'outils pour communiquer avec des bases de données, créer des sites Web, écrire des programmes multithreads, établir des connexions via des sockets - pour presque toutes les applications que les développeurs commerciaux pouvaient imaginer.
Le seul problème était que pour implémenter toutes ces fonctions, Microsoft devait se débarrasser de presque tous les VB classiques.
Si vous plissez les yeux, la nouvelle version appelée VB.NET était presque la même. Mais de nombreux grands et petits changements révolutionnaires y sont apparus. Large: les anciens programmes VB sont restés piégés dans le monde des anciens programmes, et l'assistant de migration étonnamment faible ne pouvait guère y remédier. Petit: les programmeurs VB classiques devaient s'habituer à une nouvelle façon de compter les éléments du tableau. Ils ne pouvaient plus commencer à 1, comme les gens ordinaires. Maintenant, ils devaient commencer à 0, comme les programmeurs officiels.
Autre changement important: plus de fonction d'édition et de poursuite.
Les développeurs adorent se plaindre, et les développeurs VB sont particulièrement connus pour cela. Presque immédiatement, un groupe de développeurs VB influents a surnommé le nouvel environnement de programmation de Microsoft VB.Fred, pour souligner le fait que ce nouveau langage n'est pas Visual Basic.
Qu'est-ce qui a condamné Visual Basic à la mort
Vous pouvez supposer que les modifications .NET ont provoqué des fissures dans la fondation VB et entraîné une baisse inévitable. Mais tout était différent. En fait, malgré le fait que VB.NET ait évolué dans une nouvelle direction et apporté des changements critiques, il a fait des orphelins un code complètement bon pour le VB classique, il a acquis une immense popularité. Cela est dû au fait que VB.NET a donné quelque chose que les développeurs du VB classique ne pouvaient pas obtenir auparavant - le respect.
Dans le monde .NET, les langages VB et C # ont le même poids. Chaque ligne de code dans VB peut être traduite en une ligne de code équivalente en C # et vice versa. Les deux langues ont les mêmes fonctionnalités, utilisent les mêmes composants et compilent exactement sous la même forme (en quelque chose appelé
langage intermédiaire ). VB s'est enfin libéré de son affreux syndrome des canetons.
Mais se transformer en un autre langage de programmation respectable a créé un problème. L'enthousiasme qui a fait de VB la langue préférée d'un groupe aussi vaste de personnes a disparu. Non pas parce que VB a changé, mais parce que C # a changé.
Dès que VB a obtenu la même puissance que C #, C # a également adopté la commodité de Visual Basic. Par exemple, la présence de fonctionnalités de sécurité de type et de gestion de la mémoire .NET signifiait que les développeurs C # n'avaient plus à se soucier des fuites de mémoire, tout comme les développeurs VB.
En d'autres termes, C # dispose désormais d'un «filet de sécurité» qui protège les amateurs, les étudiants et les débutants, et n'affaiblit pas sa puissance. Soudain, VB a cessé d'être quelque chose de spécial. Il est devenu juste un autre outil d'un ensemble de programmeurs qualifiés.
État actuel de Visual Basic
Aujourd'hui, Visual Basic est dans un état étrange. Chez les développeurs professionnels, il occupe environ 0% de l'attention - VB n'apparaît même pas dans les
sondages des développeurs professionnels ou dans
les référentiels GitHub . Cependant, il est toujours en vie - il gère les macros Office, les anciennes bases de données Access et les anciennes pages Web ASP, et attire également les nouveaux arrivants vers .NET. L'indice TIOBE, qui mesure la popularité des langues par les résultats de recherche, place toujours VB dans la liste des
cinq langues les plus discutées.
Mais il semble que l'inertie du développement du langage ait récemment pris fin. En 2017,
Microsoft a annoncé qu'il commencerait à ajouter de nouvelles fonctionnalités de langage à C # qui pourraient ne pas apparaître dans Visual Basic. Cette modification ne renvoie pas à VB le statut d'un vilain petit canard, mais il nuit à son statut dans le cadre de .NET.
Franchement, la tendance à pousser VB sur la touche a commencé il y a quelques années. Les développeurs sérieux savent que les éléments clés de .NET sont écrits en C #. Ils savent que C # est le langage préféré pour les présentations, les livres, les cours et les ateliers. Si vous voulez parler VB, cela ne nuira pas aux applications que vous créez, mais peut limiter la capacité de communiquer avec d'autres développeurs.
Le marché de l'éducation est l'une des niches dans lesquelles Visual Basic devrait se sentir naturel. Mais même là, il reste un mouton noir. Les langages modernes comme C # et Python sont assez simples et sûrs pour être choisis comme la première langue à apprendre. Si vous avez besoin de quelque chose de plus simple pour les enfants, alors le marché est rempli d'outils de programmation graphique comme Scratch. Les langages à accolades sont également attrayants: C #, C, JavaScript et Java. Ils ont une syntaxe similaire, et une personne qui a appris l'un d'eux se sentira en confiance avec l'autre.
Dans le domaine du développement Web, Microsoft étudie le vide des opportunités manquées. Qui ne serait pas séduit par une version de VB aussi simple à utiliser que VB 6, mais aussi capable de compiler en JavaScript et de se combiner avec un concepteur de formulaire HTML? Oui, vous ne créerez pas de nouvelles cartes Google Maps dans un tel outil, mais cela pourrait raviver l'attrait de Visual Basic en permettant aux développeurs commerciaux, aux étudiants et aux amateurs de créer des applications en ligne simples sans avoir besoin de JavaScript encombrant. Au lieu de cela, Microsoft a créé un produit basé sur VB appelé
LightSwitch , qui a disparu avec la mort du plug-in de navigateur Silverlight. Si Microsoft commence à créer un autre produit de classe «codage pour les masses», ce sera très probablement un outil basé sur des modèles avec un peu de code comme
PowerApps .
Visual Basic utilisé pour faire face à différents dangers. Mais cette fois, semble-t-il, tout est différent. Il semble que le soleil se couche réellement sur l'un des langages de programmation les plus populaires au monde. Si cela est vrai, Visual Basic ne disparaîtra pas au fil des décennies. Il deviendra un autre produit Legacy, un outil sous-estimé sans l'amour des utilisateurs et du futur. Que nous ayons perdu quelque chose de spécial ou simplement sauvé la technologie tourmentée des tourments, c'est à vous de décider.