Le BASIC se découvre une nouvelle jeunesse
se découvre une nouvelle jeunesse
Indissociable des années 80 et de l’épopée de la micro, le Basic reste l’un des langages de programmation les plus connus, à défaut de figurer parmi les plus utilisés. Loin d’avoir disparu des radars, ce langage est aujourd’hui décliné sur tous types d’appareils mobiles, web ou IoT…
Ceux qui ont connu les premières heures de la micro, celles des ZX80 et ZX81, celles des Apple II, des Ti 99/4A, des TRS-80, des Acorn Atom, ont souvent fait leurs premiers pas dans le développement par le biais du langage Basic intégré en standard dans ces ordinateurs mythiques. Aujourd’hui, les langages en vogue se nomment plutôt C#, Swift, F#, Ruby, Scala, Python ou encore JavaScript. Mais à l’heure où toute une jeunesse de « makers » redécouvre les joies de la bidouille avec les Raspberry Pi, Arduino, Adafruit, Intel Edison Kit et autres WunderBar, renouant ainsi avec l’esprit de découverte des années 80, il est temps de rendre au Basic ces lettres de noblesse. Car le langage est loin d’avoir disparu et vit même désormais au rythme de la mobilité et de l’IoT. Profitant de l’anniversaire des 25 ans d’existence de Visual Basic, nous avons voulu faire un panorama des outils modernes de programmation en Basic.
Le Basic n’est pas mort
Né en 1964 au Dar tmouth College, dans le New Hampshire, le « BASIC » , acronyme de
Berginner’s All-purpose Symbolic Instruction Code, fut créé par John G Kemeny et Thomas E Kurtz, qui cherchaient simplement à démocratiser l’accès aux ordinateurs et à la programmation auprès des non scientifiques. « Un langage qui puisse être appris sans que l’on ait à
suivre des cours de formation » , expliquait Kurtz. Le langage ne comporte alors que 15 mots clés ! Le Basic va se « démocratiser » avec sa première adaptation sous Altaïr (une machine à processeur Intel 8080) en 1975. L’adaptation sera écrite par trois jeunes étudiants : Paul Allen, Monte Davidoff et Bill Gates, qui en produiront, en 1977, une version pour le processeur 6502 de MOS, version qui deviendra le premier produit d’une société baptisée « Micro-Soft », – prononcez « Maï… » –, avant de devenir « Microsoft ». Même si Steve Wozniak produit son propre Integer Basic pour l’Apple I, puis pour l’Apple II, l’AppleSoft Basic livré avec les Apple II Plus sera une licence du Microsoft Basic. Il en va de même du Basic du KIM-1 de MOS, de celui du Ohio Scientific Challenger OSI C4P, du Commodore BASIC des PET, tous sous licence Microsoft. Le code source 6502 de cette mémorable pièce de musée est désormais accessible sur le Net : http://www.pagetable. com/?p=774 Le Basic va connaître une première époque glorieuse en se généralisant sur la plupart
des micro- ordinateurs personnels : Atari 400 et 800 puis sur Atari ST, qui se verra doté d’autres versions comme le très orienté gaming STos ou l’incontournable GFA Basic, les Sinclair ZX80, ZX81 et ZX Spectrum, l’IBM PC 5150 puis l’IBM PCjr, l’Amiga (AmigaBASIC créé par Microsoft), l’Apple Mac, etc. Puis le langage va acquérir ses lettres de noblesse en entreprise avec l’introduction en 1991 du Visual Basic, par Microsof t , au succès retentissant. Portées par Internet, Java, le modèle client- serveur, et la vague Open Source, les années 2000 vont mener au déclin de popularité du langage souvent – injustement – jugé trop verbeux, pas assez structuré et trop simple pour être sérieux. L’arrivée d’une syntaxe enrichie et d’une approche purement objet avec le VB.NET ne fera finalement que renforcer la tendance, bien des développeurs VB préférant se tourner directement vers le C#. En 2016, force est pourtant de constater que, s’il n’a plus – loin s’en faut – son universalité d’antan, le Basic demeure un langage toujours présent. Le VBA ( Visual Basic for Applications) continue d’être largement exploité en entreprise dans la réalisation de macros pour Office. L’outil d’intégration de données (ETL) InfoSphere DataStage d’IBM se programme toujours en Basic. En décembre 2016 le « Visual Basic .NET » pointait toujours en 5e position à l’indice « TIOBE », mesurant la popularité d’un langage en fonction des recherches et réseaux sociaux, et à la 14e place de l’index PYPL, qui mesure les demandes de tutoriels sur Google. Et l’univers Windows regorge de nouveaux outils qui permettent de découvrir la programmation ou de s’aventurer dans les projets les plus complexes avec de multiples déclinaisons du langage Basic pour couvrir tous les besoins et toutes les envies.
Microsoft Small Basic
http://smallbasic.com Parce que le Basic reste fidèle à sa philosophie d’origine – l’enseignement de la programmation –, il était logique de démarrer notre panorama par un outil au tempérament fortement pédagogique. Créé en 2011 par Microsoft, le Small Basic se veut simple, fun, social, graduel et il appartient à la collection d’outils éducatifs qui comprend Kodu Game Lab, Touch Develop et « Minecraft on Code.org ». Le langage se veut linéaire et ancré dans les usages actuels avec des macro-instructions nouvelles pour exploiter les images publiées sur les réseaux sociaux ou encore gérer le capteur Kinect. Il supporte les sous-routines, boucles et gestions d’événements. Son IDE est agréable avec une coloration syntaxique et même un équivalent du système de complétion automatique Intellisense de Visual Studio. Du coup, pas besoin de connaître le langage avant de commencer ; ici l’IDE présente toutes les instructions possibles à un instant t. Outre son accessibilité, Small Basic se démarque par son caractère social. Les programmes créés peuvent être publiés d’un seul clic sur le Web et deviennent immédiatement accessibles à une communauté de fans très active. Les programmes apparaissent au sein d’une galerie sur le Web et peuvent même être embarqués au coeur des pages web – à condition que le navigateur supporte encore Silverlight, ce qui est le cas avec IE et Firefox. L’IDE comporte une option qui permet d’exporter les programmes vers le VB.NET.
Visual Basic .NET https://www.visualstudio.com/vs/visual-studio-express/
Visual Basic .NET demeure l’aboutissement du voyage débuté par Microsoft avec
son tout premier Basic. Multiparadigme, totalement orienté objet, il est l’un des deux langages phares du . NET Framework. C’est sans aucun doute l’implémentation la plus sophistiquée, la plus évoluée et la plus professionnelle du langage, même si sa structure fortement influencée par le C# et la conception même du .NET Framework (et aujourd’hui de sa déclinaison open source « .NET Core ») a désorienté les fans du Visual Basic d’origine. Accessible gratuitement au travers de Visual Studio Express et Visual Studio Community, il est désormais open source depuis l’apparition du compilateur Roslyn. Une opportunité bien tardive mais qui pourrait en théorie relancer la popularité du langage. Encore faudrait-il qu’il reçoive de la part de Microsoft la même attention que C#, langage phare de l’éditeur qui a acquis un vrai statut multi plate-forme avec l’intégration de Xamarin et l’apparition de Visual Studio for Mac. Certes, VB.NET continue d’évoluer de façon plutôt synchronisée avec le C#. Mais l’éditeur n’a encore rien annoncé quant à un éventuel support de VB.NET sous Mac et sous Xamarin. Il est certes possible en bidouillant quelque peu – et en utilisant les Portable Class Libraries – de créer des apps Android en VB.NET. Mais à l’heure actuelle on est encore loin d’un vrai support du VB.NET hors Windows.
XOJO https://www.xojo.com
Anciennement dénommé RealBasic, Xojo est un outil de développement évolué véritablement cross plate-forme. Son IDE, plutôt visuel, encourage une programmation structurée séparant bien la logique métier de la gestion UI. Il est disponible sur Windows, Mac OS X et Linux. Il génère du code exécutable sur ces plates-formes mais aussi sur iOS, Raspberry Pi et même des Web Apps que l’on peut ensuite héberger en un clic sur le Xojo Cloud, ou tout autre serveur web acceptant les CGI. La syntaxe de Xojo est très proche de celle du Visual Basic originel. Le compilateur a récemment évolué avec une version « 2016.r4 » qui exploite enfin l’accélération graphique matérielle sous Windows, pour des interfaces plus réactives, et produit un unique fichier exécutable – jusqu’ici les EXE Windows s’accompagnaient de plusieurs DLL de runtime – plus simple à déployer. C’est, à nos yeux, la solution Basic cross plate- forme la plus aboutie et la plus riche. Xojo démarre à 99 €.
PureBasic https://www.purebasic.com
Avec ses quelque 1 500 commandes internes, PureBasic est un langage Basic cross plateforme ( Windows, Mac OS X, Linux) très complet, servi par un compilateur véloce qui produit – même sous Window – des exécutables compacts et autonomes – pas de DLL externes, ni de runtime associé. L’IDE est un peu simpliste mais il intègre un Visual Designer permettant la création facile d’interfaces utilisateur cross plates-formes. Le langage supporte les procédures, avec variables locales et globales,
offre un accès complet aux API des OS sous-jacents et permet de développer des jeux en 2D (DirectX, SDL…) et même en 3D grâce à l’intégration du moteur open source OGRE3D. Fun et riche, PureBasic conserve la simplicité et l’accessibilité qui faisaient le charme de GFA Basic et BlitzBasic à l’époque de l’Atari ST et de l’Amiga. On ne peut que vous encourager à l’essayer. PureBasic est commercialisé à partir de 79 €.
SpiderBasic http://www.spiderbasic.com
Vous voulez créer des Web Apps et autres jeux 100 % web en Basic ? SpiderBasic est la solution idéale ! Produit par le français Frédéric Laboureur, à qui l’on doit déjà le PureBasic, dont il reprend la syntaxe, SpiderBasic est un compilateur qui génère du code JavaScript/ HTML5 – en embarquant notamment sur les frameworks DOJO, SoundJS, Pixi. L’IDE est disponible sur Windows, Mac OS X et Linux et les Web Apps ainsi générées fonctionnent sans broncher sur Chrome, Firefox, Internet Explorer et Edge. Né en 2015, SpiderBasic est encore très jeune mais c’est sans doute l’incarnation la plus
XXIe siècle du Basic. D’ailleurs, la version 2.0 du compilateur – sortie pendant que nous écrivons ces lignes – permet désormais la création d’Apps mobiles pour Android, en utilisant l’IDE sous Windows, et iOS, en utilisant l’IDE sous Mac OS. Avec SpiderBasic, le monde web et le monde mobile ne sont plus interdits aux programmeurs Basic. SpiderBasic existe en version gratuite. L’édition complète reste très accessible à 49 €.
Sprite Basic http://SpriteBasic.com
Très dif férent dans son approche des autres solutions présentées ici, Sprite Basic est un environnement de développement intégralement en ligne : tout se crée, se programme et s’exécute dans le navigateur web. Ici, rien à télécharger. Il suffit de lancer son navigateur, d’aller sur l’URL http://SpriteBasic.com et l’on peut instantanément commencer à écrire ses premières lignes de programmation. Le langage Basic utilisé ici affirme un vrai tempérament ludique, l’objectif étant essentiellement de développer des jeux web 2D. Le langage offre en effet des instructions dédiées à l’animation de Sprites. Sprite Basic génère automatiquement un code JavaScript et s’appuie sur le moteur Pixi. JS, ce qui lui procure une vraie compatibilité cross plate- forme. D’ailleurs, les programmes ainsi réalisés peuvent être exportés à destination du kit Intel XDK qui vous permettra alors de packager l’application pour la publier sur le Chrome App Store, sur l’Apple App Store, sur le Google Play Store ou sur le Windows Store. Et c’est gratuit.
B4X https://www.b4x.com/
Vous souhaitez explorer les univers de la mobilité et de l’IOT avec un langage directement dérivé du Visual Basic ? Anywhere Software propose
une suite RAD qui comporte plusieurs module s visant tous les environnements possibles : Android (avec B4A, ex Basci4Android), iOS (avec B4i), l’univers des Desktops avec (B4j, qui génère du code Java y compris pour Raspberry Pi) et enfin l’univers IoT (avec B4R destiné aux cartes Arduino et ESP8266). Le langage Basic s’inspire ouvertement du Visual Basic avec un IDE en Java inspiré de Visual Studio et Eclipse. Selon l’éditeur 80 000 développeurs dans le monde ont opté pour le B4X et la NASA, IBM, Adobe, HP, Honda, Bosch utilisent leur outil pour développer rapidement sur mobile. Mais l’environnement 100 % Java de cette solution peut en dissuader certains de l’adopter. Comptez 59 € chacune des versions B4A et B4i.
FreeBasic https://sourceforge.net/ projects/fbc/
FreeBasic est l’un des rares compilateurs Basic en Open Source sous licence GNU. Il se veut 100 % compatible avec la syntaxe de l’ancestral Microsoft QuickBasic pour DOS, mais il introduit de nombreuses extensions et notamment la capacité d’adresser des librairies graphiques externes comme OpenGL, Lua, SDL, GTK+, etc. Il est disponible sous DOS, Windows et Linux.
NS Basic https://www.nsbasic.com/
Autre solution pour développer en Basic des applications mobiles, NSB/AppStudio est un IDE qui s’appuie sur PhoneGap pour créer des applications web mobiles. L’IDE laisse le choix entre une programmation JavaScript ou Basic, le code Basic étant converti en JavaScript lors de la publication. L’objectif n’est pas ici de produire des Apps natives, mais des apps connectées hébergées sur des serveurs web.
BlitzMax http://www.blitzbasic.com/
Évolution de Blitz3D, BlitzMax est un basic très orienté vers la création de jeux 3D compatibles Windows, Mac OS X et Linux. Désormais open source, BlitzMax semble être délaissé par son créateur qui concentre ses efforts sur Monkey-X et Monkey2, langages orientés objets qui sont inspirés du Basic.