DOPE (langage)

Un article de Wikipédia, l'encyclopédie libre.

DOPE
Date de première version 1962
Auteur John G. Kemeny
Développeur Sidney Marshall
Influencé par DARSIMCO (en), DART, Dartmouth ALGOL 30, Fortran
A influencé Dartmouth BASIC
Écrit en Assembleur
Système d'exploitation LGP-30 (en)

DOPE, abréviation de Dartmouth Oversimplified Programming Experiment, est un langage de programmation simple conçu par John Kemeny en 1962 pour offrir aux étudiants une transition de la création d'organigrammes de programmation vers la programmation du LGP-30 (en). Les leçons tirées de la mise en œuvre de DOPE ont ensuite été appliquées à l'invention et au développement de BASIC[1].

Description[modifier | modifier le code]

Chaque instruction a été conçue pour correspondre à une opération d'organigramme et se compose d'un numéro de ligne numérique, d'une opération et des opérandes requis :

7 + A B C
10 SIN X Z

La dernière variable spécifie la destination du calcul. Le programme ci-dessus correspond au programme BASIC suivant :

7 LET C = A + B
10 LET Z = SIN (X)

DOPE pourrait être le premier langage de programmation à avoir exigé que chaque instruction ait un numéro de ligne (en), avant JOSS (en) et BASIC.

Le langage est insensible à la casse.

Les noms de variables sont une seule lettre de A à Z ou une lettre suivie d'un chiffre (A0 à Z9). Comme pour le Fortran différentes lettres ont des représentations différentes. Les variables commençant par les lettres A à D sont à virgule flottante, tout comme les variables de I à Z ; les variables E, F, G et H ont chacune été définies comme des tableaux de jusqu'à 16 éléments

Texte de la légende
Opération Fonction Nombre d'opérandes
UNE Invite de commande 2
C Arithmetic IF (en) 4
E Fin de boucle (Inconnu)
J Input into variable 1
N Imprimer une nouvelle ligne (Inconnu)
P Imprimer une variable 1
T Jump 1
Z Boucle For (Inconnu)
+ Addition 3
- Soustraction 3
* Multiplication 3
/ Division 3
EXP Exponentielle 2
LOG Logarithme 2
SIN Sinus 2
SQR Racine carrée 2

Le langage a été utilisé pour une seule classe d'informatique de première année[2] : Kemeny a collaboré avec les élèves du lycée Sidney Marshall pour développer le language[3],[4].

Héritage[modifier | modifier le code]

Selon Thomas Kurtz, co-inventeur de BASIC, « Bien que n'étant pas un succès en soi, DOPE présageait BASIC. DOPE a fourni des tableaux par défaut, des formats d'impression par défaut et des formats d'entrée généraux. »

Le langage avait un certain nombre d'autres fonctionnalités et innovations qui ont été transférées dans BASIC :

  1. Les noms de variables sont soit une lettre, soit une lettre suivie d'un chiffre
  2. Les tableaux n'ont pas besoin d'être déclarés et ont une taille par défaut (16 au lieu de 10)
  3. Chaque ligne nécessite une étiquette numérique *
  4. Les lignes sont triées par ordre numérique *
  5. Chaque ligne commence par un mot-clé *
  6. Les noms des fonctions comportent trois lettres *
  7. La seule construction de boucle est une boucle for

Voir aussi[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. (en) Thomas Kurtz, « History of programming languages », dans History of programming languages, ACM, , 517-518 517–518 p. (ISBN 0-12-745040-8, DOI 10.1145/800025.1198404, lire en ligne), « BASIC »
  2. (en) Michael Williams, A History of Computing Technology, 1st, , 432 p. (ISBN 0133899179)
  3. (en)Application to the National Science Foundation, Kurtz, Rieser, and Meck, cited in Rankin, pages 20-21
  4. (en)Kemeny, John G.; Kurtz, Thomas E. (1985). Back To BASIC: The History, Corruption, and Future of the Language. Addison-Wesley Publishing Company, Inc. 141 ;pp. (ISBN 0-201-13433-0)