DOPE (langage)
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) |
modifier |
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
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 langage[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 :
- 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
Voir aussi
[modifier | modifier le code]- DARSIMCO (en), Dartmouth Simplified Code, un macro-langage assembleur de 1956
- Dartmouth ALGOL 30 (en), un compilateur développé par Dartmouth pour le LGP-30
Notes et références
[modifier | modifier le code]- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « DOPE (Dartmouth Oversimplified Programming Experiment) » (voir la liste des auteurs).
- (en) Thomas Kurtz, « History of programming languages », dans {{Article encyclopédique}} : paramètre
encyclopédie
manquant, ACM, , 517-518 517–518 (ISBN 0-12-745040-8, DOI 10.1145/800025.1198404, lire en ligne), « BASIC » - (en) Michael Williams, A History of Computing Technology, 1st, , 432 p. (ISBN 0133899179)
- (en)Application to the National Science Foundation, Kurtz, Rieser, and Meck, cited in Rankin, pages 20-21
- (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)