COMAL - COMAL

COMAL
Paradigme Structuré
Conçu par Børge R. Christensen, Benedict Løfstedt
Première apparition 1975
Discipline de frappe Fort
Influencé par
BASIQUE , Pascal

COMAL ( Common Algorithmic Language ) est un langage de programmation informatique développé au Danemark par Børge R. Christensen et Benedict Løfstedt et initialement publié en 1975. COMAL était l'un des rares langages de programmation structurés qui était disponible et confortablement utilisable sur les ordinateurs personnels 8 bits. . Il était basé sur le langage de programmation fondamental BASIC , ajoutant des instructions multilignes et des sous - programmes bien définis, entre autres ajouts.

"COMAL Kernel Syntax & Semantics" contient la définition formelle du langage. D'autres extensions sont communes à de nombreuses implémentations.

Concevoir

COMAL a été créé comme un mélange des langages de programmation éducatifs répandus à l'époque, BASIC , Pascal et, au moins dans les versions Commodore et Compis , les graphiques tortues de Logo . Le langage était destiné à introduire des éléments de programmation structurés dans un environnement où BASIC serait normalement utilisé.

Avec le recul, COMAL ressemble à un BASIC structuré qui a des normes raisonnablement bien écrites, indépendantes du fournisseur et gratuites. Il n'est jamais nécessaire d'utiliser GOTO, et les numéros de ligne sont purement à des fins d'édition plutôt que de contrôle de flux. Notez, cependant, que le langage standardisé ne prend en charge que la structuration des contrôles, pas la structuration des données telles que les enregistrements ou les structures (les implémentations commerciales telles que UniCOMAL 3 le prennent en charge en tant qu'extension).

Histoire

COMAL a été initialement développé au Danemark par le professeur de mathématiques Børge R. Christensen. L'école dans laquelle il enseignait avait reçu un mini-ordinateur Data General NOVA 1200 en 1972, dans l'espoir que l'école commencerait à enseigner l' informatique . Christensen, qui avait suivi un bref cours sur le sujet à l'université, devait diriger le programme et entretenir le système informatique. Le NOVA 1200 a été fourni avec Data General Extended BASIC , et Christensen est rapidement devenu frustré par la façon dont le langage non structuré a conduit les étudiants à écrire du code de mauvaise qualité qui était difficile à lire et donc à marquer. Christensen a rencontré l'informaticien Benedict Løfstedt, qui l'a encouragé à lire Systematic Programming , le nouveau livre sur la conception de langages de programmation de Niklaus Wirth , le créateur de Pascal . Christensen a été impressionné, mais a constaté qu'il ne pouvait pas utiliser Pascal directement, car il lui manquait le shell interactif qui rendait BASIC si facile à développer pour les étudiants. Au cours des six mois suivants, Christensen et Løfstedt ont correspondu par courrier pour concevoir une alternative à BASIC qui a conservé ses éléments interactifs mais a ajouté des éléments structurés de Pascal. En 1974, la définition du langage était complète, mais Christensen n'a pas réussi à attirer l'intérêt des sociétés de logiciels pour développer une implémentation. Il a donc travaillé avec deux de ses étudiants, à qui il avait enseigné le langage machine NOVA 1200 , pour écrire eux-mêmes une implémentation, pendant encore six mois. La première mise en œuvre de la preuve de concept (exécution d'une boucle de cinq lignes) était prête le 5 août 1974, et la première version (sur bande de papier , car c'était ce que le NOVA 1200 utilisait pour l' entrée-sortie ) était prête en février 1975 Les coûts de développement avaient été d'environ 300 $ US . Ce n'est que maintenant que le système (qui utilisait auparavant un nom danois interne) a repris le nom COMAL , pour Common Algorithmic Language , inspiré par ALGOL , avec lequel Christensen avait expérimenté. La première version s'appelait donc COMAL 75 . Christensen a ensuite écrit un manuel sur la langue qui a évolué vers le COMAL commençant .

En 1978, Christensen a commencé à adapter COMAL pour qu'il fonctionne sur des micro - ordinateurs , qui devenaient disponibles, craignant que sans une telle mise en œuvre, il serait obligé d'enseigner et d'utiliser à nouveau BASIC alors que les écoles danoises acquéraient les nouvelles machines. En 1980, une version de COMAL développée en conjecture avec un groupe universitaire était capable de fonctionner sur le Zilog Z80 , et ainsi COMAL 80 a été publié. À peu près à la même époque, une entreprise danoise a présenté le Comet , un micro-ordinateur très performant pour l'époque, qui serait la première machine à exécuter une version de ce qui ressemblerait aux versions ultérieures de COMAL. Christensen s'est ensuite retiré du développement de COMAL vers 1980-81, qui a été remis à des groupes tels que UniComal, lancé par Mogens Kjaer, qui avait écrit à Christensen avec des critiques de COMAL et l'a ensuite porté sur le Commodore PET pour la version 0.14. À cette époque, les écoles danoises insistaient pour que COMAL soit disponible sur tout micro-ordinateur qu'elles achetaient.

Au début des années 1980, Apple Computer a remporté un contrat pour la fourniture d' ordinateurs Apple II exécutant CP/M et COMAL aux écoles secondaires irlandaises. Il était populaire pour l'éducation et certains manuels étaient écrits localement.

En 1984, Acornsoft a publié une implémentation COMAL, par David Christensen, Jim Warwick et David Evers, pour leurs ordinateurs BBC Micro et Acorn Electron 8 bits (avec un manuel de Paul Christensen et Roy Thornton)

Entre 1984-1987, TeleNova , filiale de la branche industrielle du système suédois de télécommunications, a fabriqué un ordinateur de bureau appelé « Compis » pour le secteur de l'éducation. Une version améliorée de COMAL a été fournie comme langage de programmation standard pour ce PC. Des versions ont été créées pour CP/M-86 et MS-DOS . Cette dernière version est disponible pour Windows XP . Le manuel de référence (suédois) est ISBN  91-24-40022-X .

En 1990, Thomas Lundy et Rory O'Sullivan ont produit le texte définitif sur la programmation COMAL. Ils ont fait correspondre et comparé COMAL avec BBC Structured Basic .

En 2016, COMAL est toujours activement utilisé comme langage de programmation éducatif. Certaines écoles secondaires du Royaume-Uni continuent de l'utiliser pour enseigner l'informatique.

Disponibilité

COMAL était disponible pour :

Exemples

"Bonjour le monde!"
 PRINT "HELLO, WORLD!"
Conditions
 IF condition THEN
   instructions
 ENDIF
Boucles
 FOR number:= 1 TO 1000 DO   
  PRINT number
 ENDFOR
Imprimer des instructions avec des variables
 INPUT "What's your favourite number? " :nmr#
 PAGE
 PRINT "Your favourite number is " ; nmr#

Voir également

Les références

Lectures complémentaires

Liens externes