DOPE (langage)
# DOPE (langage)

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.

## Description

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 :

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

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 : Kemeny a collaboré avec les élèves du lycée Sidney Marshall pour développer le $langage^,.$

## Héritage

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 :

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