Basic (langage)

Basic ou basic (de l'acronyme anglais BASIC pour Beginner's All-purpose Symbolic Instruction Code, littéralement « code d'instruction symbolique multi-usages du débutant »), est une famille de langages de programmation de haut niveau ayant pour caractéristique leur facilité d'utilisation.

Pour les articles homonymes, voir Basic.

Basic

Capture d'écran d'un programme écrit en Atari Basic (en), l'un des nombreux dialectes du Basic.

Date de première version
Influencé par Algol 60, DOPE, Fortran, JOSS (en)
A influencé Comal (en), Visual Basic, Visual Basic .NET, Xojo, Grass (en), AutoIt, AutoHotKey
Implémentations Dartmouth BASIC, Tiny BASIC, Applesoft BASIC, Atari BASIC, Sinclair BASIC , Commodore BASIC, BBC BASIC, TI-Basic, Casio BASIC, Microsoft BASIC, QB64 Liberty BASIC, PowerBASIC, QuickBASIC
Extension de fichier bas

Buts

Le langage Basic a été conçu en 1964 par John George Kemeny (1926-1993) et Thomas Eugene Kurtz (1928-) au « Dartmouth College » pour permettre aux étudiants des filières non scientifiques d'utiliser des ordinateurs. Le langage a été implémenté par une douzaine d'étudiants, parmi lesquels Mary Kenneth Keller, une des premières personnes et la première femme à obtenir un doctorat en informatique aux États-Unis.

À cette époque, les langages de programmation étaient plus adaptés aux cartes perforées qu'aux terminaux interactifs. Même le Fortran II, peu évolué bien que déjà complexe, était inadapté aux calculs matriciels dont on faisait déjà usage en sciences humaines. Non interactifs, ces langages exigeaient qu'un programme soit exempt de toute erreur de syntaxe pour être exécuté.

Le Basic se voulait interactif et simple :

  • ses sept instructions devaient pouvoir être enseignées en une demi-journée,
  • des opérations matricielles devaient être exécutables en mode calcul de bureau,
  • un programme devait pouvoir s'exécuter au moins jusqu'à ce que soit rencontrée une première erreur, facilitant ainsi l'apprentissage du langage.

L'acronyme BASIC est lié au titre d'un article de Kurtz non publié et n'a pas de rapport avec les séries intitulées « Anglais basic » de Charles Kay Ogden. Les concepteurs du langage le destinaient au domaine public, ce qui favorisa sa diffusion, et l'écriture d'un interpréteur de Basic faisait partie des projets classiques donnés aux étudiants en informatique dans le monde entier.

Le Basic équipa dès le milieu des années 1970 presque tous les micro-ordinateurs du moment (Olivetti P6060, Tektronix 4051, IBM 5100[1], Commodore PET, etc.). Dans les années 1980, la plupart des micro-ordinateurs étaient fournis avec un interprète Basic, parfois stocké en mémoire morte (ROM) : ROM BASIC. Le premier IBM PC pouvait démarrer sans disquette et exécutait cette version du Basic rudimentaire.

Les huit principes de conception du Basic étaient[réf. souhaitée] :

  1. être facile à apprendre pour un débutant[2] ;
  2. être généraliste, donc traiter aussi bien les matrices de nombres que les chaînes de caractères ;
  3. autoriser l'ajout de fonctionnalités pour les experts (tout en gardant le langage simple pour les débutants) ;
  4. être interactif, et entre autres permettre d'interrompre un programme pour examiner ses variables, en modifier quelques instructions, et reprendre ensuite son exécution ;
  5. fournir des messages d'erreur clairs et conviviaux[3] ;
  6. avoir un délai de réaction faible pour les petits programmes ;
  7. ne pas nécessiter de connaissances sur le matériel de l'ordinateur ;
  8. isoler l'utilisateur du système d'exploitation s'il y en avait un.

Histoire

Fichier Basic, et exécutions sur un DVK (en).

Le Basic est peut-être le langage de programmation le plus connu. La forme originelle du langage s'inspire du Fortran, avec des ajouts pour le rendre interactif et capable de traiter en mode calcul de bureau des opérations matricielles, notamment multiplication et inversion. Le Basic est souvent interprété, mais rien ne l'empêche d'être compilé[4] là où l'interactivité avec le programmeur n'était plus nécessaire, par exemple packages de gestion. Malgré sa normalisation, plusieurs dialectes sont apparus au cours des années, partis de la même base, et proposant des améliorations diverses, par exemple dans le domaine des interfaces graphiques ou de l'orienté objet. La référence sur PC (MS-DOS) a été le GW-Basic puis quelque temps le QuickBasic.

La première version du Basic a été développée sur un ordinateur central temps réel appelé GE-265 (General Electric), qui était un GE-225 avec une GE DataNet-30[5]. Cet ordinateur 20 bits, conçu en 1959 au sein du département d'informatique industrielle de la société General Electric par Arnold Spielberg (en), père de Steven Spielberg[6], occupait une pièce entière, embarquait 10 000 transistors et 20 000 diodes. Les données étaient conservées sur des bandes magnétiques enroulées sur des bobines, des cartes perforées ou des bandes de papier. Vendu 250 000 dollars à l’époque, le GE-225 a été un succès commercial, malgré la désapprobation du directeur général de la société qui le produisait. Le Basic était le premier langage spécialement conçu pour être utilisé sur des systèmes interactifs.

Les premières versions de Basic étaient utilisées sur des ordinateurs en temps partagé. L’interprétation était plus commode que la compilation, car les modifications ne portaient souvent que sur quelques lignes entre deux passages successifs.

Les constructeurs des premiers ordinateurs individuels avec clavier ont eu besoin d'inclure un outil permettant aux utilisateurs d'écrire des logiciels pour leur matériel. L'un des premiers, TRW, avait créé son propre langage pour ses terminaux programmables Datapoint, mais l'abondance d'étudiants connaissant le Basic le conduisit à porter ce langage sur des machines comme son 2200[7]. Une version interprétée pouvait sans difficulté tenir en mémoire morte (ROM) ou vive (RAM). Le Basic avait en 1970 un concurrent, le langage FOCAL, mais celui-ci était propre à DEC et fut vite marginalisé, comme le sera le HPL de Hewlett-Packard six ans plus tard.

Le Basic offrait aussi quelques commandes comme old, new, list et quelques autres déjà définies à l'intérieur même du langage, lui conférant ses capacités interactives.

Les instructions scalaires commençaient par LET (LET A=3) et les matricielles par MAT (MAT C = A+B). Très vite, le LET deviendra facultatif pour alléger l'écriture des programmes.

Chaque instruction était précédée d'un nombre, en général attribué de 10 en 10, qui permettait de remplacer une instruction ou d'en intercaler d'autres sans avoir à maîtriser un complexe éditeur de texte en mode machine à écrire.

Les premiers ordinateurs individuels possédaient presque tous un interpréteur Basic en mémoire morte (TI-99/4A, Commodore 64, TRS-80, Apple II, etc.). Hewlett-Packard laissait le choix sur son HP 9825 entre un Basic standard et son langage maison HPL plus puissant, mais moins standard. Ces langages étaient sur cartouche ROM amovible.

En 1968, un article d'Edsger Dijkstra devenu très populaire avait insisté sur la nocivité de l'instruction « goto » en matière de qualité du code[8], et donc la productivité du programmeur. Cette critique s'appliquait alors à la plupart des langages, dont les dialectes du Basic. Dix ans plus tard, presque tous les langages avaient pris cette critique en compte, y compris le Basic. La popularité du Basic, langage de programmation grand public par excellence, fit dire à certains[réf. souhaitée] que ce langage a donné naissance à plus de mauvais programmes qu'aucun autre langage. Olivier Lecarme, professeur à l'Université Laval, affirmait à l'AFCET : « BASIC programming cannot teach you any kind of programming, not even basic programming ». De fait, privilégiant l'action plutôt que la méthode, ce langage aux contrôles sommaires ne convient qu'à la « petite programmation » (moins de 500 lignes).

Les versions les plus répandues ont été les interpréteurs conçus par Microsoft, qui pratiquait une politique de prix modérés et avait fini par s'imposer comme la référence : quelles que fussent les machines source et cible, on savait qu'un programme écrit en Basic Microsoft tournerait sur un autre Basic Microsoft.

En 1977 Microsoft avait sorti l'Altair Basic (adaptation du Basic par Bill Gates et Paul Allen) pour l'Altair 8800 du constructeur MITS. C'était son premier logiciel. En 1979 Microsoft obtient d'IBM la commercialisation de son interprète Basic avec les futurs IBM PC et compatible PC. Cette version était incluse dans la puce ROM des PC, et se lançait au démarrage en l'absence de système d'exploitation. Plus tard, Microsoft a vendu différentes versions du Basic pour DOS, dont Basica, GW-Basic, QuickBasic et Visual Basic pour MS-DOS. Microsoft Windows 95 et Windows 98 incluaient un interpréteur QBasic à installer à partir du CD-ROM et Windows 98 incluait un interprète VBScript. Visual Basic for Applications a été ajouté dans les produits Microsoft Office en 1997.

À la même époque, le Basic sur Apple II ne connaissait que les nombres entiers ; il fallut attendre l'Apple II+ en juin 1979 pour exploiter le traitement des réels.

Le compilateur Waterloo Basic fut l'un des premiers logiciels commercialisés par Watcom : il avait été programmé entre 1978 et 1979 pour l’IBM Series/1 (en), un système 16 bits. En 1979, le compilateur a été porté pour VM/CMS tournant sur les IBM 370, 3030 et 4300, et un accord avec IBM a permis sa mise sur le marché. Il y eut plusieurs mises à jour de 1980 à 1983 ainsi qu'une version portée sur l’interpréteur de commandes MVS/TSO et sur VM/CMS.

Borland a publié son compilateur Turbo Basic 1.0 en 1985. Les versions suivantes sont encore vendues sous le nom de PowerBasic par une autre compagnie. Il existe toujours une version pour MS-DOS.

La nécessité d'enseigner un langage de programmation davantage structuré avait donné naissance au langage Pascal en 1972. Ce langage, en particulier grâce au compilateur Turbo Pascal de la société Borland, bien plus rapide que n'importe quel interprète Basic de l'époque, remporta un énorme succès au cours des années 1980, et marqua un début de déclin de la popularité du Basic dans le grand public[réf. nécessaire].

Syntaxe

La syntaxe vraiment minimale du Basic est seulement composée de l'instruction d'affectation par le signe "=" (devant autrefois être précédée du mot-clé LET), PRINT (affichage à l'écran), IF-THEN-ELSE (exécution conditionnelle) et GOTO (saut vers une zone du programme). Un interprète qui exécute des programmes avec cette syntaxe minimale n'a pas besoin d'une pile. Nombre des premières implémentations sur micro-ordinateur n'eurent que ces instructions[réf. nécessaire], les programmes n'étaient donc pas structurés. Si on ajoute une pile, l'instruction GOSUB (saut vers une séquence servant de sous-programme et terminée par RETURN) fut rapidement ajoutée.

Interprètes à numéro de ligne

Les premiers interprètes Basic exigeaient une numérotation des lignes à mémoriser. Une ligne non numérotée était simplement exécutée immédiatement. On ne pouvait avoir qu'un seul programme à la fois en mémoire.

Le typage était implicite : par exemple, les variables dont l'identifiant se termine par $ sont destinées à contenir des chaines de caractères alpha-numériques et ne peuvent donc pas effectuer d'opérations arithmétiques.

L'usage était de numéroter les lignes de 10 en 10, afin de pouvoir éventuellement insérer des lignes supplémentaires.

Les boucles à compteur FOR...NEXT constituaient la seule forme itérative.

Avec certains interprètes il fut possible, à partir des années 1980, de mettre plusieurs commandes sur une même ligne. Toutefois, il n'était pas possible de regrouper un ensemble de commandes s'exécutant ensemble, comme après une condition IF-THEN. Il fallait recourir à des sauts de ligne GOTO n° de ligne, ou à des appels de sous-programmes ouverts, non paramétrés, par GOSUB n° de ligne

L'ambition croissante des programmeurs, le besoin d'une programmation plus structurée amenèrent plusieurs évolutions :

  • le développement de formes IF à deux branches, la multiplication des formes itératives, et l'obligation d'expliciter les étiquettes pour les branchements résiduels ;
  • l'introduction de fonctions paramétrables, d'abord d'une ligne, puis de plusieurs lignes, puis récursives.

Puis les Basic durent s'adapter aux environnements graphiques et au multi fenêtrage.

Interprètes modernes

Les dialectes Basic modernes n'emploient plus nécessairement les numéros de lignes (qui restent possibles, mais qui n'ont plus qu'un rôle éditorial) et ont une richesse de commandes et une construction des déclarations de données identiques à d'autres langages comme le langage Pascal.

Les récentes variantes comme le Visual Basic ont introduit une orientation objet avec gestion de l'implémentation d'interfaces et, dans Visual Basic .NET, l'héritage (simple). Cependant la gestion des erreurs nécessite généralement l'utilisation de GOTO, ce qui casse la structuration des programmes.

Visual Basic .NET permet l'utilisation de blocs Try/Catch, mais conserve néanmoins la possibilité d'utiliser des On Error GoTo, pour conserver une certaine compatibilité avec des versions antérieures de Visual Basic.

La richesse des variantes est synonyme de non-standardisation. Cela montre comme ce langage est « organique » et comme il est plutôt une sous-culture qui traite la programmation d'ordinateur comme un ensemble fixe de règles de syntaxe. Mais la même chose s'applique tout autant aux autres « vieux » langages de programmation comme le Cobol et le Fortran. Cependant le mouvement du Basic est de loin le plus important et une société comme Niakwa[9] vécut jusqu'au milieu des années 1990 très largement de son Basic sur Unix.

Procédures

Le Basic n'a généralement pas de bibliothèque externe standard comme d'autres langages, le langage C par exemple. Au lieu de cela, l'interprète ou le compilateur contiennent une bibliothèque intégrée étendue de procédures intrinsèques. Ces procédures incluent plus d'outils que ce dont le programmeur a besoin pour apprendre la programmation et écrire de simples applications, dont des fonctions mathématiques, des fonctions de traitement des chaînes de caractères, d'entrée-sortie console, de graphisme et de manipulation de fichiers. Le QuickBasic permet d'inclure des bibliothèques écrites dans ce langage (QLB) ou en d'autres langages (LIB).

Certains dialectes Basic ne permettent pas aux programmeurs d'écrire leurs propres procédures. À cause de cela, les programmeurs sont obligés d'écrire leurs programmes avec une importante utilisation de goto et de gosub : cela fait qu'il est très difficile de suivre un tel code source, appelé couramment un « code spaghetti ». Beaucoup de versions du Basic comme le QuickBasic de Microsoft ont ajouté un support des sous-routines et des fonctions (avec support de la récursivité). Il fait la distinction entre une procédure qui ne retourne jamais de valeur (appelée sous-routine ou sub) et une procédure qui en renvoie (appelée fonction). Certains langages ne font pas cette distinction et considèrent tout comme une fonction dont certaines renvoient une valeur « vide ».

Le Basic est bien connu pour ses fonctions de manipulations de chaînes de caractères. Les premiers dialectes avaient déjà un ensemble de fonctions basiques (left$, mid$, right$) pour les traiter simplement. Comme elles sont souvent utilisées dans les applications de tous les jours, cela est un avantage considérable.

Types de données

Chaque dialecte Basic de base gère les données de type entier et chaîne de caractères. Normalement, ils n'ont pas besoin de les déclarer comme telles, mais les dialectes modernes ont l'option de forcer le type (typiquement en utilisant une directive appelée « Option Explicit »).

Les types de données modernes supportés par le Basic incluent : booléens, entiers signés sur 16 bits, entiers signés sur 32 bits, chaînes de caractères, nombres décimaux.

Certains dialectes comme Visual Basic ont plus de types de données intrinsèques. De plus, certains dialectes permettent à l'utilisateur de définir ses propres types, appelés types définis par l'utilisateur, et qui sont en fait des structures, c'est-à-dire une simple variable contenant plusieurs champs.

Disponibilité et variantes

Le Basic est disponible pour toutes les plates-formes récentes. Une version interprétée libre qui est conforme aux standards et hautement multiplateforme est le Bywater BASIC. L'interprète est écrit en langage C, sous licence GPL. Il ne permet pas de faire des interfaces utilisateur graphiques (GUI).

Une version libre, similaire au Visual Basic et tournant sous Windows et GNU/Linux, et permettant donc de faire des environnements graphiques (GUI), existe et s'appelle le Phoenix Object Basic. Il en existe deux autres plus récentes : Gambas et K-Basic utilisant la performante et multiplateforme bibliothèque Qt.

La plus connue des versions compilées est le QuickBasic de Microsoft 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, bien que Microsoft ait changé le Visual Basic en un langage compatible d'une façon minimale avec les premières versions du Dartmouth Basic.

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 Inc, fondée par le concepteur de Turbo Basic[10], propose toujours son PowerBasic en version 16 bits pour MSDos, mais aussi en versions 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és sur des objets Windows. Son compilateur produit des exécutables compacts, rapides et stables de qualité industrielle.

RealBasic est une variante disponible pour les Apple Macintosh qui génère aussi des exécutables pour Microsoft Windows et GNU/Linux.

Une variante d'un dialecte Basic simple pour la machine virtuelle Parrot montre comment un interprète Basic est mis en application dans un langage de type assembleur.

Le PureBasic est une variante avec une syntaxe simple mais avec une production rapide et des fichiers exécutables petits, pour Windows, GNU/Linux, AmigaOS et Mac OS. Il peut aussi compiler et contenir des instructions en assembleur en-ligne.

Le wxBasic est une variante, écrite en C et C++, pour Windows, GNU/Linux et peut-être bientôt sous Mac OS. Il est gratuit et peut être utilisé en compilé ou en interprété.

Le BlitzBasic et le DarkBasic sont des variantes spécialisées dans la création de jeux vidéo avec un accès simplifié aux interfaces de programmation (API) multimédias tels OpenGL et DirectX. Le compilateur est payant dans les deux cas. Cette variante est optimisée. On peut avoir des bons résultats rapidement pour des débutants.

Liberty Basic est spécialisé dans l'élaboration facile d'interface graphique, il est reconnu comme le successeur de QBasic.

Le SmallBasic est un dialecte qui fonctionne sur un grand nombre de plates-formes (Win32, MS-DOS, GNU/Linux et Palm OS) et est placé sous une licence GNU.

FreeBASIC, développé par une communauté QBasic en déclin, est un compilateur 32-bits distribué sous licence GPL. Il est multiplateforme et, bien qu'encore en version bêta, très prometteur. Sa syntaxe est calquée sur celle du QBasic de Microsoft mais il supporte les pointeurs, l'assembleur inline et prochainement une branche orientée objet devrait être incorporée.

Il existe également une version de Basic pour OpenOffice, appelée OOoBasic (c'est le même langage utilisé pour StarOffice, même si son nom, StarBasic, change).

Le TI-Basic est le langage de programmation utilisé sur certaines calculatrices Texas Instruments, de même que le Basic Casio, utilisé sur les calculatrices graphiques Casio.

Sur les TI-99, le TI-Basic est différent de celui que l'on peut trouver sur les calculatrices de la marque. Il existe également un TI-Basic étendu plus perfectionné permettant l'accès à l'extension mémoire, les commandes CALL PEEK et CALL POKE, l'amélioration de la gestion des couleurs, l'apparition des sprites, petites images auxquelles on peut donner une vitesse et un sens de déplacement.

Au nombre des modèles de matériels populaires qui utilisèrent le langage Basic figurent :

  • la série CPC de Amstrad ;
  • la série MO et TO de la marque Thomson ;
  • Oric 1 et Oric Atmos de Tangerine Computer Systems ;
  • les ordinateurs au standard MSX (1, 2, 2+, Turbo R) utilisaient un Basic dérivé du GW-Basic, la gestion de la couleur et des sprites s'apparentait à celle des TI-99, le processeur graphique utilisé sur ces différentes machines était le TMS9929, un processeur Texas Instruments ;
  • les modèles de la marque Commodore ;
  • le DAI Imagination machine ;
  • les Apple I, II, III et variantes utilisaient un Basic maison mais pouvaient aussi, sur les modèles équipés d'une carte CP/M utiliser la version Basic du CP/M proche du GW-Basic ;
  • le TI-99/4A de Texas Instruments ;
  • certaines calculatrices Casio et Texas Instruments ;
  • les Sinclair ZX-81 et ZX-Spectrum ;
  • le Tektronix 4051 (Basic graphique sur écran rémanent) ;
  • l'Olivetti P6060 mais aussi M30 et M40 (partie intégrante de l'OS appelé ESE) ;
  • l'Olivetti M10 (ordinateur ayant 24 Ko ou 32 Ko de RAM non volatile avec un Basic en ROM, et pas de disque dur ni de disquettes) ;
  • Exelvision avec l'EXL 100 et le module ExelBasic ; le Basic de l'EXL100 était un dérivé de l'Extended Basic du TI-99, les concepteurs de cette machine étant des transfuges de Texas Instruments ;
  • l'IBM PC et Compatible PC dont les premiers modèles avaient un Basic limité en ROM. Le Basic était fourni sur les disquettes système MS-DOS ou PC-DOS versions 1.0 à 4.0. Pour les IBM PC, le Basic s'appelait Basica alors que sur les compatibles PC il se nommait GW-Basic.

Exemples

Exemple 1 : Basic original non structuré

 10 INPUT "Quel est votre nom ? "; NOM$ 
 20 PRINT "Bonjour "; NOM$
 30 INPUT "Combien d'étoiles voulez-vous ? "; NOMBRE
 40 LET ETOILE$ = ""
 50 FOR I = 1 TO NOMBRE
 60 LET ETOILE$ = ETOILE$ + "*"
 70 NEXT I
 80 PRINT ETOILE$
 90 INPUT "Voulez-vous plus d'étoiles ? "; ETOILE$
100 IF LEN(ETOILE$) = 0 THEN GOTO 90
110 LET ETOILE$ = LEFT$(ETOILE$, 1)
120 IF (ETOILE$ = "O") OR (ETOILE$ = "o") THEN GOTO 30
130 PRINT "Au revoir ";
140 FOR I = 1 TO 200
150 PRINT NOM$; " ";
160 NEXT I
170 LPRINT

Commentaires :

  • En général, l'interpréteur est insensible à la casse ; les instructions étaient tapées en majuscules sur les machines faisant la distinction entre majuscules et minuscules.
  • Un nom de variable suivi d'un signe dollar indique qu'il s'agit d'une chaîne de caractères (NOM$, ETOILE$, S$) ; une variable sans signe dollar indique un entier ou un nombre décimal (S, I).
  • INPUT permet l'affichage d'un texte et une saisie du clavier ; PRINT permet un affichage à l'écran.
  • Parfois l'instruction LET est optionnelle, ainsi, LET ETOILE$ = ETOILE$ + "*" peut s'écrire simplement ETOILE$ = ETOILE$ + "*" (le signe égal sert à la fois aux affectations de variables et aux tests d'égalité).
  • FOR-NEXT est une boucle.
  • IF-THEN est une instruction conditionnelle ; OR est l'opérateur logique « Ou ».
  • LEN est une fonction renvoyant la longueur de la chaîne de caractères, LEFT$(ETOILE$, n) est une fonction renvoyant une sous-chaîne composée de n caractères situés à gauche de la chaîne ETOILE$ ; + est l'opérateur de concaténation (c'est aussi l'opérateur de l'addition).

Exemple 2 : Basic moderne structuré

 'Voici un petit code fait en BASIC moderne
 INPUT "Quel est votre nom"; UserName$ 'On demande le nom de l'utilisateur
 PRINT "Bonjour "; UserName$ 
 DO 
   INPUT "Combien d'étoiles voulez-vous"; NumStars 'On demande le nombre d'étoiles de l'utilisateur
   Stars$ = ""
   Stars$ = REPEAT$("*", NumStars) '<-ANSI BASIC
   'Stars$ = STRING$(NumStars, "*") '<-MS BASIC
   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
 PRINT

Documents définissant le Basic

  • Le manuel du Basic conçu au Dartmouth College[11]
  • ANSI Standard for Minimal Basic (ANSI X3.60-1978 "FOR MINIMAL BASIC")
  • ISO Standard for Minimal Basic (ISO/CEI 6373:1984 "DATA PROCESSING - PROGRAMMING LANGUAGES - MINIMAL BASIC")
  • ANSI X3.113-1987 Programming Languages - Full BASIC
  • ANSI X3.113a-1989 Programming Languages - Modules and Individual Character Input for Full BASIC
  • ISO Standard for Full Basic (ISO/CEI 10279:1991 "INFORMATION TECHNOLOGY - PROGRAMMING LANGUAGES - FULL BASIC")
  • ANSI Addendum Defining Modules (X3.113 INTERPRETATIONS-1992 "BASIC TECHNICAL INFORMATION BULLETIN # 1 INTERPRETATIONS OF ANSI 03.113-1987")
  • ISO Addendum Defining Modules (ISO/CEI 10279:1991/ Amd 1:1994 "MODULES AND SINGLE CHARACTER INPUT ENHANCEMENT")
  • Standard ECMA-55, Minimal BASIC (janvier 1978)[12]
  • Standard ECMA-116, BASIC (juin 1986)[13]

Notes et références

  1. Manuels du Basic sur IBM 5110
  2. Ce qui est distinct de la facilité d'usage : une automobile est d'utilisation facile une fois qu'on sait conduire, mais apprendre à le faire demande plusieurs semaines
  3. Le Tektronix 4051 plaçait toute ligne erronée en mode édition, et le curseur à l'endroit exact où avait été rencontrée l'erreur !
  4. Une société américaine, Niakwa, vivait de son compilateur et de ses packages pour Basic compilé
  5. En correspondance avec Thomas E. Kurtz
  6. « Bill Gates doit tout au père de Steven Spielberg, et nous aussi... », sur http://www.01net.com, .
  7. Distribué en France sous le nom Matra Datapoint 2200
  8. (en) Communications de l'ACM, no 11, pp. 147-148. 1968 DOI:10.1145/362929.362947 [PDF].
  9. Niakwa Basic alias Basic 2C sur Wang alias Niakwa programming language
  10. (en) « An Introduction to PowerBASIC », sur www.powerbasic.com (consulté le ).
  11. (en) BASIC, édition 1964 et édition 1968
  12. (en) ECMA-55, Minimal BASIC
  13. (en) ECMA-116, BASIC

Le présent article est basé sur un article originellement écrit sur Nupedia par Peter Fedorow, et modifié sur la version anglaise de Wikipédia, puis traduit en français.

Voir aussi

Articles connexes

Liens externes

  • Portail de la programmation informatique
Cet article est issu de Wikipedia. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.