IBM BASIC devient la norme
Histoire du Langage Basic
Ordinateur
L'IBM PC s'est hissé au sommet des palmarès des ventes, les pénuries du produit étant la règle plutôt que l'exception. Plus important encore, le support tiers pour le PC a également explosé ; en 1984, l'année de la sortie du Macintosh (en grande pompe et avec des ventes médiocres), IBM avait bloqué le marché des ordinateurs personnels et le PC était devenu la norme.
Avec Microsoft octroyant des licences MS-DOS à des dizaines d'autres sociétés, il ne fallut pas longtemps avant que les clones de PC - des machines entièrement compatibles avec l'architecture ouverte d'IBM PC ou presque - n'inondent également le marché.
Ces clones rétro-conçus, comme ceux de Compaq, étaient pour la plupart des systèmes basés sur Intel x86 ; avec le BIOS IBM PC cloné par Phoenix Technologies en 1984, il était plus facile que jamais pour les entreprises d'assembler du matériel et des logiciels dans un simulacre d'IBM PC, faisant baisser les prix de tous les PC IBM et compatibles tout en mettant la pression sur des entreprises comme Apple, Atari, Commodore et même Tandy, qui ne proposaient que des machines autonomes non compatibles PC.
En 1984, Byte parlait de l'extrême « volonté d'être compatible » des entreprises technologiques avec l'IBM PC. Cette année-là, Tandy avait sorti le Tandy 1000, son premier ordinateur entièrement compatible IBM ; Atari a déployé son PC-1, le premier dans une série, plus tard dans la décennie ; et Commodore a emboîté le pas avec leur PC-10, qui n'était même pas rétrocompatible avec leurs propres produits.
Mais Apple, qui a acheté une publicité d'une page entière dans le Wall Street Journal qui reconnaissait l'entrée d'IBM sur le marché des ordinateurs personnels avec le titre "Bienvenue, IBM. Sérieusement" - ni aux forces du marché ni à Big Blue, qu'ils considéraient comme Big Brother.
Et cela avait tout son sens dans le monde pour les fabricants de logiciels tiers pour concevoir des jeux pour MS-DOS, puisque le système d'exploitation utilisait la majorité des ordinateurs personnels au milieu des années 1980.
Finalement, pour exercer des représailles contre les clones, IBM a abandonné MS-DOS au profit d'OS/2, que Microsoft a codé en même temps qu'il développait Windows, un produit auquel IBM s'intéressait peu.
Bien sûr, avec MS-DOS est venu Microsoft BASIC - en particulier IBM Cassette BASIC (version C1.10) gravé dans la ROM; ainsi, un système d'exploitation n'était pas nécessaire pour exécuter BASIC, puisque l'ordinateur pouvait démarrer directement en BASIC.
Comme son nom l'indique, les programmes IBM Cassette BASIC peuvent être enregistrés à l'aide de l'interface de cassette en option. Lors du chargement d'IBM Cassette BASIC, 62 940 octets ont été signalés comme libres; Cassette BASIC vivait dans 40K de ROM et disposait d'un sac de fonctions graphiques ainsi que d'un support de base pour les périphériques tels qu'un stylet lumineux (qui permettait aux utilisateurs de dessiner directement sur l'écran) et un joystick, mais pas de support de souris.
Dans la foulée d'IBM Cassette BASIC est venu IBM Disk BASIC (version D1.10) en 1981; maintenant, des disquettes, au lieu de cassettes, pouvaient être utilisées pour enregistrer des programmes. Au moins 32 Ko de mémoire étaient nécessaires avec un lecteur de disquette, bien sûr.
Les fonctionnalités supplémentaires de Disk BASIC comprenaient la possibilité d'appeler la date et l'heure actuelles, l'utilisation des instructions GET et PUT (plus sur celles-ci plus tard) et l'accès au (x) lecteur (s) de disque.
Enfin, également en 1981, IBM Advanced BASIC - généralement appelé BASICA (version A1.10) - est sorti. BASICA, qui nécessitait 48 Ko de mémoire ainsi qu'un lecteur de disquette, ajoutait de nombreuses fonctionnalités supplémentaires - commandes musicales utilisant le haut-parleur intégré, fonctions graphiques avancées et gestion des évènements du modem, ainsi que des interruptions d'évènements externes - mais l'interprète ne ferait que s'exécuté sur l'IBM PC, car il a été chargé directement dans la ROM.
Plusieurs versions de BASICA, correspondant aux versions améliorées de DOS, ont été publiées, chacune contenant des différences subtiles dans la fonctionnalité des instructions et des commandes. Et une version cartouche de BASICA, contenant des fonctionnalités encore plus avancées, par exemple des capacités graphiques supplémentaires, a été mise à la disposition exclusivement pour l'IBM PCjr, un PC conçu pour un usage domestique qui est arrivé plusieurs années après le PC d'origine.
Mais BASICA ne fonctionnait toujours que sur un IBM - jusqu'à l'arrivée de l'ordinateur Compaq de 1983. Byte maga2ine a mis la main sur un prototype Compaq. "Les systèmes se sont chargés et exécutés parfaitement", a expliqué l'auteur de Byte, "à l'exception de BASIC sur PC-DOS, qui ne s'exécuterait pas car le Compaq n'a pas de ROM BASIC. Le BASICA fourni sur disque et tous les IBM, les exemples de programmes PC trouvés sur le disque PC-DOS se sont exécutés sans incident."
IBM BASIC utilisait un tokenizer lors du stockage des programmes afin d'économiser de la mémoire, et les programmes pouvaient être enregistrés sous forme de fichiers texte ASCII à l'aide de la commande:
SAVE " PROGRAM", A.
Par exemple, considérez le programme suivant "Hello World!" - la convention "Hello, World", un premier programme simple que les utilisateurs novices dans un langage devraient coder, est l'idée originale de l'informaticien Brian Kernighan, auteur du livre The C Programming Language - écrit en BASICA :
10 CLS
20 PRINT "HELLO
WORLD!"
30 END
L'enregistrement d'un programme sans l'option ASCII - ici, en tapant SAVE "HELLO" - puis l'ouverture du fichier programme dans un éditeur de texte se traduira par un format tokenisé et également étrange (également appelé "format binaire compressé") :
vt
<jae"HELLO WORLD!"e-A
Enregistrez le programme à la place en tant que fichier ASCII—en tapant SAVE "HELLO", A—puis ouvrez le programme dans un éditeur de texte pour obtenir :
10 CLS
20 PRINT "HELLO
WORLD!"
30 END
Une option SAVE "protégée" était également fournie, qui enregistrerait un programme dans un "format binaire codé"; le code protégé peut être RUN, mais pas LISTé ou EDITÉ.
Bill Gates affirme qu'il a été "très impliqué dans la création de [IBM PC] BASIC". Gates était particulièrement fier des effets graphiques que lui, Paul Allen et Neil Konzen ont pu tirer de la carte Color Graphics Adapter (CGA) du système - une carte graphique avec 16K de mémoire vidéo et un maximum de seize couleurs disponibles en basse résolution.
"Neil Konzen et Moi ont passé tout un week-end à jouer avec cette machine une fois que BASIC était en cours d'exécution et ont écrit ce truc [CIRCLE.BAS, où l'extension de fichier . BAS désigne un programme IBM BASIC], DONKEY.BAS, PIECHART.BAS, ceux-ci sont toujours expédiés aujourd'hui [c'est-à-dire au moment de l'interview, qui était au début des années 1990]. Ils sont un peu obsolètes, mais ce sont des codes que nous avons élaborés ce week-end-là.
Les exemples de programmes BASIC fournis avec la toute première version d'IBM PC DOS en 1981 étaient les suivants :
• ART.BAS, de nombreux carrés
et rectangles apparaissent au hasard à l'écran.
• BALL.BAS, une animation
d'une balle qui rebondit.
• CALENDER.BAS, imprime un calendrier mural pour
n'importe quelle année entre 1981 et 1989.
• CERCLE.BAS, un ensemble
d'animations rapides de cercles en croissance et de cercles à l'intérieur des
cercles.
• COLORBAR.BAS, une démo des couleurs disponibles à l'écran.
•
COMM.BAS, un programme de communication qui permet à l'ordinateur de
s'interfacer avec un modem.
• DONKEY.BAS, un jeu de conduite aérienne dont
l'objectif est d'éviter les ânes.
• MORTGAGE.BAS, calcule les versements
hypothécaires, présentant les résultats sous forme de tableau.
• MUSIC.BAS,
joue une chanson sélectionnée par l'utilisateur.
• PIECHART.BAS, crée des
camemberts spécifiés par l'utilisateur.
• SAMPLES.BAS, affiche un menu qui
permet à l'utilisateur d'exécuter n'importe lequel des exemples de programmes.
• SPACE.BAS, divers vaisseaux spatiaux apparaissent au hasard à l'écran.
L'exemple de programme MUSIC.BAS - qui affiche un clavier musical à l'écran avec des sélections de chansons disponibles telles que March, Stars et Pop - lié (techniquement, CHAINed) à d'autres programmes BASIC (qui ne sont pas répertoriés ci-dessus) qui jouaient les chansons individuelles.
DONKEY.BAS est rapidement devenu notoire, notamment chez Apple. Après que la société ait acheté l'un des premiers PC IBM, Andy Hertzfeld, employé d'Apple, a décrit plus tard sa première réaction en jouant au jeu.
"Le jeu le plus embarrassant était un jeu de conduite graphique en basse résolution appelé" Donkey "", a-t-il déclaré.
Le joueur était censé conduire une voiture sur une "route" à défilement lent et mal rendu, et pouvait appuyer sur la barre d'espace pour basculer le mouvement saccadé, nous avons pensé au concept du jeu était aussi mauvais que les graphismes bruts qu'il utilisait. Puisque le jeu a été écrit en BASIC, vous pouvez le lister et voir comment il a été écrit. Nous avons été surpris de voir que les commentaires en haut du jeu proclamaient fièrement les auteurs : Bill Gates et Neil Konzen.
Hertzfeld a également été frappé par le fait qu'IBM PC DOS ressemblait à un simple «clone» de CP / M, «la partie la plus maladroite du système [étant] le logiciel».
Lors de la célébration des dix ans de la sortie de Visual Basic, Gates a de nouveau été interrogé sur DONKEY.BAS. Il a offert un souvenir légèrement différent:
En fait, c'était moi-même et Neil Konzen à quatre heures du matin avec ce prototype d'IBM PC assis dans cette petite pièce. IBM a insisté sur le fait que nous devions avoir une serrure sur la porte et nous n'avions que ce placard qui avait une serrure dessus, nous avons donc dû faire tout notre développement là-dedans et il faisait toujours plus de 100 degrés, mais nous avons écrit tard dans la nuit une petite application pour montrer ce que le Basic intégré à l'IBM PC pouvait faire. Et donc c'était DONKEY.BAS. C'était à l'époque très excitant.
Pour plaisanter, lors de cette même célébration des dix ans, Microsoft a dévoilé une nouvelle version de DONKEY.BAS, cette fois en trois dimensions, pour montrer certaines des capacités de leur langage VB.NET qui sera bientôt disponible.
Le code du DONKEY.BAS d'origine, qui fonctionne parfaitement sur BAS1CA, est imprégné de commandes graphiques qui sont devenues des veilles IBM BASIC : CLS (efface l'écran), LINE (affiche une seule ligne compte tenu des coordonnées des extrémités), PSET (allume un pixel), PRESET ( désactive un pixel), DRAW (esquisse des formes, en utilisant un mouvement absolu ou un mouvement relatif - en utilisant un jeu de commandes de type tortue Logo), GET (capture un segment rectangulaire de l'écran, qui est ensuite stocké dans un tableau), et PUT (affiche un segment rectangulaire stocké de l'écran).
De plus, l'instruction LOCATE, qui place le texte à des coordonnées spécifiées à l'écran, est utilisée à plusieurs reprises dans DONKEY.BAS. PEEK et POKE sont également utilisés plusieurs fois ; à la ligne 1170, par exemple, une commande PEEK garantit que le moniteur connecté peut afficher correctement les graphiques du jeu.
Au milieu des années 1980, l'IBM PC était devenu l'ordinateur personnel, à tel point que le terme «ordinateur personnel» s'est détaché en tant que nom propre et s'est simplement référé à une classe générale d'ordinateurs non centraux, non en kit et peu coûteux et les micro-ordinateurs compacts pour les particuliers, quelle que soit la marque de la machine.
À cette époque également, IBM BASIC était devenu le dialecte par défaut, générique et standard de la langue; chaque fois que le terme «BASIC» était prononcé, il était généralement supposé être celui d'IBM, faisant généralement référence à Microsoft BASICA ou GW-BASIC, le dernier interpréteur BASIC numéroté en ligne de Microsoft.