L'ami ne s'appelle pas molette , mais BASIC ... 60 ans déjà.
yanolezard
Bonjour à toutes et à tous,
L'ami de notre jeunesse, le langage de programmation "BASIC", vient de souffler ses 60 bougies ... depuis le mois de Mai 1964, date de la première version officielle de cet original langage.
Ah oui, "BASIC" vient de "Beginner's All-purpose Symbolic Instruction Code" ou plus littéralement « code d'instruction symbolique multiusage du débutant" ... c'est relativement moins joli, dans cette traduction française.
Son histoire est enthousiasmante :
"BASIC" a été conçu par John Kemeny et Thomas Kurtz, à l’Université Dartmouth pour que des étudiants non scientifiques puissent utiliser les ordinateurs.
Le concept de base est simple : trouver une alternative aux langages compliqués à apprendre (comme le Fortran, l'Assembleur, l'Algol), pour un apprentissage facile, une rapidité à coder et surtout capable de s'exécuter sur un ordinateur. Et comme les deux compères travaillent à la prestigieuse université de Dartmouth, ils profitent des structures informatiques en temps partagé pour tester leurs découvertes : le " Dartmouth Time Sharing System" (ou DTSS).
Après de nombreux échanges parfois limites, une ligne directrice émerge : le langage doit être plus simple d’accès que les langages actuels, plus puissant et puisse utiliser le meilleur des langages tels que "ALGOL" ou "FORTRAN". C’est cette volonté d’intégrer le « meilleur de » que l’instruction "GOTO" (au départ présent dans FORTRAN), se retrouve dans le langage "Basic".
La première mouture intègre 14 instructions, en anglais, avec des exigences :
Le nom des instructions et la syntaxe doivent être faciles à retenir et à coder.
Les opérations arithmétiques reprennent la symbolique utilisée : *, /, -, +,^ (puissance).
Si l'ami "Kurtz" s’occupe du langage, l'ami "Kemeny" développe le premier compilateur "BASiC" avec la numérotation des lignes de code du "Basic".
Officiellement, le langage "BASIC" est né le 1er mai 1964 aux alentours de 4h du matin lorsque le "DTSS" est totalement fonctionnel et que les premiers programmes "BASIC" s’exécutent. En réalité, le "BASiC" existait bien avant cette date même si aucun document n’a survécu.
La cerise sur le gâteau : les créateurs du langage n’avaient rien envisagé pour la commercialisation, le support, le modèle de licence ni sur les droits de propriété. Quand des étudiants demandaient à pouvoir copier le langage : faites-le ! IBM va même réécriture le langage pour son propre temps partagé ! Le Basic se répand rapidement et acquiert une belle notoriété.
Deux standards émergent début 1971 : le "Minimal Basic" et le "Full Basic". Les créateurs vont créer leur propre implémentation du standard "ANSI" : The "Basic". Malgré les standards, de nombreux dialectes apparaissent et malheureusement, certains respectent les standards, d’autres s’en éloignent. Ainsi, le "Basic" se fragmente et la portabilité du code n’est pas assurée.
Deux jeunes étudiants codent sur les ordinateurs de l’université et voient le potentiel de l’informatique. Et quand l'ordinateur "Altaïr" sort : ils vont sauter sur l’occasion.
Le constructeur cherche des logiciels et un langage de développement plus simple et accessible : Bill Gates et Paul Allen sont à l'affût et vont créer une petite entreprise, en 1975.
Micro-Soft (qui deviendra Microsoft). Sans disposer d’un Altair physique, il faut développer l’interprétateur Basic pour l’Altair. Ils vont être aidés par "Monte Davidoff". Si "Gates et Allen" développent le cœur du langage, Davidoff s’occupe des routines mathématiques. L’Altair Basic, qui sera la fondation de toutes les versions de Microsoft Basic postérieures, s’éloignent du Basic standard.
L’Altair Basic et le travail de Microsoft sont à la fois l’essor du Basic et l’origine d’une cassure avec les communautés. Micro-Soft licencie à MITS (le constructeur de l’ALTAIR) le Basic et la documentation. Sur chaque Basic vendu, Micro-Soft touche plusieurs dizaines de dollars ! Mais Gates est furieux : il observe que les ventes ne sont pas aussi bonnes qu’attendues.
La cause est très simple : les hobbyistes et les membres des clubs "homebrew" copient le Basic sans payer la licence et le langage se répand ainsi. L’Altair se vend bien, très bien, et ce sont des centaines de licences que Micro-Soft ne voit pas.
Le 3 février 1976, Gates publie une lettre ouverte qui fera date. Le cofondateur de Micro-Soft dénonce le fait que de nombreux utilisateurs partagent les logiciels sans payer. Il reproche qu’ils paient le matériel, mais pas le logiciel. MITS perd de l’argent, car il ne vend pas le logiciel et Micro-Soft aussi, car il doit imprimer les manuels, réaliser les programmes et les rubans papier contenant le Basic. Sans cet argent, Micro-Soft ne peut produire des logiciels de qualité et assurer le portage sur d’autres matériels dans de bonnes conditions.
Cette lettre ouverte a agité une partie des communautés informatique. Tiny Basic est créé en réaction à la licence Micro-Soft. Même si la version initiale fut relativement limitée, le langage était libre et repose sur le standard.
Microsoft règne sur le Basic !
Très rapidement, Microsoft s’impose comme LE fournisseur de Basic de l’industrie informatique. Les uns après les autres, les constructeurs intègrent cette version de Basic. Les Commodore Pet et les TRS-80, TI-99, l’intègrent.
Apple tente de créer son propre Basic dès 1976. Steve Wozniak décide de coder entièrement l’interpréteur en se basant sur le HP Basic (Wozniak est un ancien de HP). Proposer un langage tel que le Basic était important pour Apple. Il va adapter le langage au processeur 6502. Le génie de Wozniak fut de réaliser l’interprétateur et le compilateur sans avoir de compétences bas niveaux des langages ! Le langage prend le nom de Integer Basic, car il ne supporte que les entiers. Cette faiblesse limite le langage et les utilisateurs réclament la virgule flottante ! Cette absence s’explique, en partie, par le manque de temps pour développer le langage.
Microsoft cherchait à étendre la vente de son Basic. Contact fut pris avec Apple qui refusa l’offre puis finalement, la Pomme revint vers Microsoft pour disposer d’un Basic complet. Un contrat pluriannuel fut signé.
Le point d’orgue de cette hégémonie arrive lorsque IBM prend une licence du Microsoft Basic pour son futur IBM PC. IBM avait tenté de développer son propre système et langage pour le 5322 ce qui occasionna plusieurs années de retard et d’importantes difficultés internes. Pour finaliser rapidement le PC, IBM chercha les logiciels à l’extérieur. Grâce à IBM PC, Microsoft s’impose comme un éditeur incontournable et son Basic est désormais partout, ou presque. IBM va créer plusieurs versions : IBM Cassette Basic, Disk Basic, Advanced Basic, Cartridge Basic. Le Microsoft Basic va connaître plusieurs évolutions, plus ou moins réussies : GWBasic (1983-88) et QuickBasic (1985-1990).
Le langage "BASIC" rencontre le côté visuel
Avec le "Macintosh" et "HyperCard", la "Pomme" ouvre la voie à une nouvelle génération de Basic et d’outils de développement : le développement graphique.
Au milieu des années 1980, Alan Cooper imagine un nouveau Basic : environnement graphique, développement par composants.
À partir de 1987, il développe "Tripod."
En mars 88, il montre un prototype à Bill Gates : Microsoft rachète le projet et renomme le projet en Ruby.
I8 mois pour concevoir "Visual Basic" (1991) : entièrement réécrit, interface refaite avec la boîte à outils, notion de VBx (Ruby n’est pas installé par défaut dans Windows).
Initialement, Tripod / Ruby était un shell avancé pour Windows, mais Microsoft changea rapidement l’objectif : ce sera un véritable environnement de développement, ce que l’on appelle désormais un IDE incluant le langage, le compilateur et l’ensemble des fonctionnalités.
Alors, depuis tout ce temps, le "BASiC" a fait des petits car il est disponible pour toutes les plates-formes récentes dont une version interprétée libre, conforme aux standards et hautement multiplateforme : le "Bywater BASIC" :
L'interprète est écrit en Langage C sous licence GNU/GPL, et ne permet pas de faire des "interfaces graphiques utilisateur" (GUI).
Une version libre, similaire au Visual Basic (pour Windows et GNU/Linux), et permettant donc de faire des environnements graphiques (GUI) : Phoenix Object Basic"
Deux autres plus récentes : "Gambas" et "K-Basic" (via Qt).
La plus connue des versions compilées est le Microsoft QuickBasic et le QBasic, une version qui ne permet pas de générer des programmes autonomes.
Les dernières versions de Visual Basic, sont aussi compilées,
D'autres versions, dont le "True Basic" et le PowerBasic sont compatibles avec le standard ANSI Basic.
True Basic Inc. a été fondée par les créateurs originaux du Basic, tout en lui adjoignant de nombreuses fonctionnalités.
PowerBasic fondée par le concepteur de "Turbo Basic", propose toujours son PowerBasic en version 16 bits pour MSDos, mais aussi en version 32 bits pour Console (PBCC) et pour Windows (PBWin).
Pour ce dernier un outil graphique (PowerBasic Forms) facilite la création graphique d'interfaces utilisateurs basées sur des objets Windows. Son compilateur produit des exécutables compacts, rapides et stables de qualité industrielle.
"GFA Basic" : réalisation d'exécutables puissants pour les environnements Atari et Windows disponible gratuitement en tant qu'Abandonware .
"RealBasic" : variante disponible pour les Apple Macintosh (génère des exécutables pour Windows et GNU/Linux)
Machine virtuelle "Parrot" : comment un interprète Basic est mis en application dans un langage de type assembleur.
"PureBasic" : variante avec une syntaxe simple mais avec une production rapide et des fichiers exécutables petits, pour Windows, GNU/Linux, AmigaOS, MacOS, avec compilation et instructions en assembleur en-ligne.
"wxBasic" : variante, écrite en C et C++, pour Windows, GNU/Linux, MacOS, gratuit et peut être utilisé en compilé ou en interprété.
"BlitzBasic" & "DarkBasic" : variantes spécialisées dans la création de jeux vidéo avec un accès simplifié aux API multimédias (OpenGL & DirectX). Le compilateur est payant dans les deux cas. Cette variante est optimisée.
"Liberty Basic" : spécialisé dans les IHM et reconnu comme le successeur de "QBasic".
"SmallBasic" : grand nombre de plates-formes (Windows, Win32, MS-DOS, GNU/Linux, PalmOS), sous une licence GNU.
"FreeBASIC" (communauté QBasic en déclin), compilateur 32-bits distribué sous licence GPL, multiplateforme : syntaxe calquée sur celle du QBasic de Microsoft et supporte pointeurs, assembleur inline et une branche orientée objet.
"OOoBasic" : Basic pour LibreOffice et Apache OpenOffice.
"TI-Basic" : utilisé sur certaines calculatrices "Texas Instruments".
"Basic Casio" : utilisé sur les calculatrices graphiques Casio.
Et encore ... pour les naufragés de VisualBasic 6 (VB6) comptant encore quelques centaines de millions de lignes de codes (notamment dans l'industrie, mais pas que), un projet est en cours de développement : "RAD Basic" (https://www.radbasic.dev/) pour continuer à prendre en charge la maintenance (laissée à l'abandon, sans solution par Microsoft) des programmes, en faire de nouveaux, donner libre cours à son imagination ... Il s'agit d'un projet qu'un grand nombre d'industriels plébiscite et qui pourrait leur "sauver la mise" (car réécrire des quantités parfois astronomiques de lignes de code peut leur coûter la "cagnotte du Loto").
Pour le plaisir des yeux (et des doigts) :
INPUT "Quel est votre nom"; UserName$ 'Nom de l'utilisateur
PRINT "Bonjour "; UserName$
DO
INPUT "Combien d'étoiles voulez-vous"; NumStars 'Nombre d'étoiles de l'utilisateur Stars$ = ""
Stars$ = REPEAT$("*", NumStars)
'Stars$ = STRING$(NumStars, "*")
PRINT Stars$
DO
INPUT "Voulez-vous plus d'étoiles"; Answer$
LOOP UNTIL Answer$ <> ""
LOOP WHILE UCASE$(LEFT$(Answer$, 1)) = "O"
PRINT "Au revoir ";
FOR A = 1 TO 200
PRINT UserName$; " ";
NEXT A
Merci "Ami de jeunesse" et peut-être du futur, le BASIC (pas celui de l'environnement Framework NET), pour nous avoir fait revivre et vivre de nouveau tes lettres (ou tes instructions) de Noblesse.
Puisse "RAD Basic" reprendre avec dignité le chemin ... basic.
Bien à vous, toutes et tous,
Yanolezard
-
FreeWorker-777
Nombre de posts : 244Nombre de likes : 216Inscrit : 27 février 2019Bonjour Yanolezard,
Merci pour ce post et ce voyage dans le temps 😀 . P*tain, j'ai rajeuni 🤣🤣🤣 !
Un joli rappel pour ceux qui méprisent des langages soit-disant obsolètes et qui pourtant ont révolutionné le monde de la science, pas seulement l'informatique mais toutes les applications qui en découlent. Et qui rythment aujourd'hui le quotidien de milliards de gens qui ignorent l'existence même de cette technologie (comme d'autres d'ailleurs comme le Cobol, ou encore le premier Shell Unix BSD, en 1971 si ma mémoire est bonne).
Que de souvenirs, je revois mon premier ordinateur, j'étais ado (12 ou 13 ans) quand on m'a mis dans les mains mon premier ordinateur: Un "Oric-1", 64 Ko de mémoire, chargement via une cassette audio (avec le son qui allait avec quand le programme était en cours de chargement 🤣), 2 000 Francs à l'époque, je me souviens comme hier de la couverture du manuel pour apprendre le Basic. Le Basic étendu, je n'y ai pas touché, pas compatible avec mon Oric-1, il fallait minimum un TO-7 ou un Amstrad CPC 464, c'était pour les riches !!! Je n'évoque même pas le 6128 avec son lecteur de disquette 5"1/4, le Graal !!! C'est seulement en Fac dans les années 90 que j'ai bossé sur le Pascal (livré avec son Turbo) et le Fortran.
Des sacrés "loustics", ces bonhommes ! (comme on dit chez moi dans le pays léonard).
C'est marrant, Bill Gates déjà avait déjà compris ce qui allait rapporter le maximum d'argent : la licence !
Votre texte pourrait être publié pour des étudiants, non seulement pour son intérêt technique et historique, mais aussi pour leur montrer ce que pouvait être dans les années 70-80 le métier... d'entrepreneur. Une poignée de génies qui se lance dans des aventures rocambolesques et improbables, plus encore que celles de la famille Ewing depuis leur ranch de Southfork (*).
Je viens de constater que malheureusement le musée de l'Informatique à Paris est fermé depuis près de 15 ans. C'est malheureux, cela serait particulièrement intéressant de proposer à la génération "Z" (et les autres également, je ne stigmatise pas, c'est juste que cette génération n'a connu que les smartphones) ce fabuleux voyage dans les temps, d'où nous sommes partis et ce par quoi nous sommes passés pour pouvoir en 2024 accéder aux technologies que personnes n'auraient imaginées il y a 50 ans. Et de rendre à César, ou aux "Césars", ce qui leur appartient...
Encore merci à vous et bonne journée !
(*) : pour les plus jeunes, les frères Ewing --> Voir Dallas, J.R, Bobby, Pamela et.. Sue-Elen, dite "La sobre")
"Dieu se rit des hommes qui déplorent les effets dont ils chérissent les causes"yanolezard
Nombre de posts : 307Nombre de likes : 292Inscrit : 5 décembre 2016Bonjour "Freeworker-777",
Je vous remercie pour ce commentaire intéressant.
PS : je connais la série "Dallas" (et son univers impitoyable 😄) : un seul épisode m'a suffit à l'époque pour ne pas en regarder davantage.
Le Musée de l'Informatique à Paris est certes fermé : c'est dommageable car cela constituait une belle vitrine technologique avant même de parler de techniques.
Je possède chez moi un certain nombre de spécimens, tous en état de fonctionnement impeccable, de l'UC centrale d'un IBM34 en passant par un Apple Lisa ou un CPC 6128 avec lecteur de disquette intégré 3 pouces ou bien encore un "ELAN" (l'une des 2 marques françaises qui a osé se confronter à la réalité du moment) ou un Amiga 7000 avec BeOS ou encore un Atari Mega ST4 avec Unix System V et GNU Tools.
Peut-être qu'un jour, une fois en retraite, j'ouvrirais mon "antre préhistorique", histoire d'acculturer les générations nouvelles (et/ou les anciennes pour "Souvenirs ... Souvenirs" (https://www.youtube.com/watch?v=lN6ypUw_7gE)
Lorsque mon père m'a rapporté d'un voyage en Allemagne ... un Commodore 2K (hé oui : 2 Ko pour faire tenir l'OS, le programme, les datas, avec un antique lecteur de cassettes à bande magnétique ... dont les cabestans étaient loin d'être irréprochables ... et devaient être nettoyés avant et après chargement avec un bois d'allumette et une "touffe" de coton imbibé de 90°) ... seuls quelques modèles ont été vendus dans le monde et je suis encore un des rares (sur les doigts d'une seule main à en posséder un encore entièrement fonctionnel) ... Ah ce bruit si particulier de la bande qui se tend et s'enroule désespérément autour du cabestan et moi qui vocifère contre "l'animal" qui a mal conçu ce lecteur bruyant.
Mon premier développement "industriel" en GW-Basic sur un Amstrad PC 1640 (1 lecteur 5"1/4 + 1 disque dur de 10 Mo - 640 Ko de mémoire) : une gestion d'inventaire pour magasin de papeterie avec réapprovisionnement automatique des références (modem en 1200/75 bauds couplé au Minitel ou modem "musical" en 2400/4800 bauds) .... et rapports envoyés sur imprimante matricielle Epson LXII-80 et pilotage de fax Brother.
Et comme je ne pouvais pas emporter la "bête", le tenancier de la boutique m'avait confié un portable Amstrad PPC640 avec écran monochrome du plus beau vert le plus illisible de chez le "Crocodile" .... il a fallu un peu de temps pour passer tout cela sur un "G4" de chez "Goupil" le Renard.
Comme vous dites ... on rajeunit.
PS : comme vous parliez de Fortran, j'avais aussi rédigé, il y a quelque temps déjà, un post sur le Fortran (une autre histoire d'Am avec ce langage).
https://www.free-work.com/fr/tech-it/forum/t/missive-et-espoirs-2024-a-ce-vieux-forban-de-fortran
Bien à vous,
Yanolezard.
-
free-worker@99
Nombre de posts : 23Nombre de likes : 6Inscrit : 24 mars 2006Merci et Bonjour "Freeworker-777",
J'ai pris une claque en lisant votre superbe post et oui j'ai l'age de mes artères 😜.
Ah, je me souviens quand j'ai appris le "BASIC" et l'histoire de l'informatique....Babage, le "bug",....et j'en passe.
J'ai même eu un Matra Alice 90 avec le magnétophone pour les sauvegardes sur K7 audio à la place du Sinclair ZX80 ou 81 😉, ensuite j'ai travaillé sur Apple IIc, PC, AS400, IBM36 et perso Mac addict.
Excellent post l'ami !!
Salutations,
Lionel aka free-worker@99 -
yanolezard
Nombre de posts : 307Nombre de likes : 292Inscrit : 5 décembre 2016Bonjour "Lionel aka free-worker@99",
Merci pour votre témoignage.
Je vois qu'il y a encore des gens qui se souviennent de leur jeunesse
Bonne journée.
Yanolezard.
-
VincentB_
Nombre de posts : 2453Nombre de likes : 970Inscrit : 11 juillet 2022Bonjour.
Bon ben moi je ne vous remercie pas vraiment tellement du tout pour ce fil qui me confronte à la dure réalité : je suis vieux. :(
Ah, le Basic... L'époque où on se battait avec des To7 en priant pour que ça ne bascule pas subitement en assembleur... Les duels de versions entre le To7, le Mo5 et l'Apple 2e... La sauvegarde des données sur K7 trop courtes ou sur disquettes trop fragiles....
Avocat (non, pas celui qui se mange) -
FreeWorker-777
Nombre de posts : 244Nombre de likes : 216Inscrit : 27 février 2019Bonjour,
J'imagine le geek de 21 ans qui tombe par hasard sur ce fil. Il va se mettre à croire aux fantômes.... c'est sûr ! 😁
"Papa, y a des monsieurs tout frippés qui disent qu'avant on faisait des trous dans des cartes pour sauvegarder des données..."
"Papa, c'est quoi un mange-disques?"
Plus sérieusement, un "vrai" musée de l'informatique en mettrait quelques uns en PLS, voire en arrêt cardiaque.
Bonne journée.
"Dieu se rit des hommes qui déplorent les effets dont ils chérissent les causes"VincentB_
Nombre de posts : 2453Nombre de likes : 970Inscrit : 11 juillet 2022Deux remarques au passage...
D'abord si vous êtes de passage à Paris n'oubliez pas le musée des arts et métiers. C'est passionnant et l'une des salles contient des bécanes qui susciteront une petite larme chez certains.
Ensuite ben il se trouve que je me suis mis à la collection... Rien de transcendant mais qui sait, un jour... J'ai qqs 3dfx qui commencent à coter...
Avocat (non, pas celui qui se mange)