Turing (langage de programmation) - Turing (programming language)

Turing
Turing logo.gif
Paradigme multi-paradigme : orienté objet , procédural
Conçu par Ric Holt et James Cordy
Développeur Holt Software Associates
Première apparition 1982
Discipline de frappe statique , manifeste
Système d'exploitation Microsoft Windows
Les principales mises en œuvre
Turing, TPlus, OpenT
Dialectes
Turing Orienté Objet , Turing Plus
Influencé par
Euclide , Pascal , SP/k

Turation est un Pascal -comme langage de programmation développé en 1982 par Ric Holt et James Cordy , puis de l' Université de Toronto , à Toronto , Ontario, Canada. Turing est un descendant d' Euclid , Pascal et SP/k qui présente une syntaxe claire et une sémantique précise indépendante de la machine.

Turing 4.1.0 est la dernière version stable de Turing. Turing 4.1.1 et Turing 4.1.2 ne permettent pas de créer des fichiers .EXE autonomes et les versions antérieures à Turing 4.1.0 ont une syntaxe et des fonctions obsolètes.

Aperçu

Nommé d'après l'informaticien britannique Alan Turing , Turing est principalement utilisé comme langue d'enseignement au niveau secondaire et universitaire. Deux autres versions existent, Turing Orienté Objet et Turing Plus , une variante de programmation système. En septembre 2001, "Object Oriented Turing" a été renommé "Turing" et le Turing original a été renommé "Classic Turing". Turing n'est plus pris en charge par Holt Software Associates à Toronto, en Ontario . Actuellement, Microsoft Windows est la seule plate-forme prise en charge. Turing est largement utilisé dans les écoles secondaires de l' Ontario comme introduction à la programmation.

Le 28 novembre 2007, Turing, qui était auparavant un langage de programmation commercial, est devenu un logiciel gratuit, disponible en téléchargement gratuit sur le site Web du développeur pour un usage personnel, commercial et éducatif.

Les fabricants de Turing, Holt Software Associates, ont depuis cessé leurs activités et Turing n'a connu aucun développement depuis le 25 novembre 2007.

Syntaxe

Turing est conçu pour avoir une syntaxe très légère, lisible et intuitive. Voici l'intégralité de Hello World! programme en Turing avec coloration syntaxique :

put "Hello World!"

Turing évite les points-virgules et les accolades, en utilisant à la place des marqueurs de fin explicites pour la plupart des constructions de langage, et autorise les déclarations n'importe où. Voici un programme complet définissant et utilisant la fonction récursive traditionnelle pour calculer une factorielle .

 % Accepts a number and calculates its factorial
 
 function factorial (n: int) : real
      if n = 0 then
           result 1
      else
           result n * factorial (n - 1)
      end if
 end factorial
 
 var n: int
 loop
      put "Please input an integer: " ..
      get n
      exit when n >= 0
      put "Input must be a non-negative integer."
 end loop
 
 put "The factorial of ", n, " is ", factorial (n)

Implémentations ouvertes

Actuellement, il existe deux implémentations alternatives open source de Turing : Open Turing, une version open source de l'interpréteur original, et TPlus, un compilateur natif pour la variante du langage de programmation de systèmes concurrents Turing Plus . OpenT, un projet de développement d'un compilateur pour Turing, n'est plus en développement.

Ouvrir Turing

Open Turing est une implémentation open source de l'interpréteur Turing original pour Windows écrit par Tristan Hume. Il comprend des améliorations de vitesse, de nouvelles fonctionnalités telles que OpenGL 3D et un nouvel éditeur de code. Il est entièrement rétrocompatible avec l'implémentation à source fermée.

TPlus

TPlus est une implémentation open source de Turing original (non orienté objet) avec des extensions de programmation système développées à l'Université de Toronto et portées sur Linux, Solaris et Mac OS X à l'Université Queen's à la fin des années 1990. TPlus implémente Turing+ ( Turing Plus ), un langage de programmation de systèmes concurrents basé sur le langage de programmation Turing original. Certaines des fonctionnalités de Turing Plus, mais pas toutes, ont finalement été intégrées dans le langage Turing orienté objet actuel . Turing Plus étend Turing original avec des processus et des moniteurs (tels que spécifiés par CAR Hoare ) ainsi que des constructions de langage nécessaires à la programmation de systèmes telles que les entrées-sorties binaires, la compilation séparée, les variables aux adresses absolues, les convertisseurs de type et d'autres fonctionnalités.

Anecdotes

En plus des fonctions habituelles de dessin graphique, Turing propose des fonctions spéciales pour dessiner des feuilles d'érable afin de faciliter le dessin du drapeau canadien .

Turing+

Turing+
Paradigme multi-paradigme : orienté objet , procédural , concurrent
Conçu par Ric Holt et James Cordy
Développeur Ric Holt et James Cordy
Première apparition 1987
Discipline de frappe statique , manifeste
Influencé par
Euclide concurrente , Turing
Influencé
Turing orienté objet

Turing+ (Turing Plus) est un langage de programmation de systèmes concurrents basé sur le langage de programmation Turing conçu par James Cordy et Ric Holt , alors à l' Université de Toronto , Canada, en 1987. Certaines, mais pas toutes, des fonctionnalités de Turing+ ont finalement été englobé dans Turing Orienté Objet . Turing+ a étendu Turing original avec des processus et des moniteurs (tels que spécifiés par CAR Hoare ) ainsi que des constructions de langage nécessaires à la programmation de systèmes telles que des entrées-sorties binaires, une compilation séparée, des variables à des adresses absolues, des convertisseurs de type et d'autres fonctionnalités.

Turing+ a été explicitement conçu pour remplacer Concurrent Euclid dans les applications de programmation système. Le système d'exploitation TUNIS , écrit à l'origine en Concurrent Euclid, a été recodé en Turing+ dans son implémentation MiniTunis . Turing+ a été utilisé pour implémenter plusieurs systèmes logiciels de production, dont le langage de programmation TXL .

Turing orienté objet

Turing orienté objet
Paradigme multi-paradigme : orienté objet , procédural , concurrent
Conçu par Ric Holt
Développeur Ric Holt
Première apparition 1991
Discipline de frappe statique , manifeste
Système d'exploitation Multiplateforme : Sun-4 , MIPS , RS-6000
Influencé par
Turing

Turing orienté objet est une extension du langage de programmation Turing et un remplacement de Turing Plus créé par Ric Holt de l' Université de Toronto , Canada, en 1991. Il est impératif , orienté objet et simultané . Il comporte des modules , des classes , un héritage unique , des processus , une gestion des exceptions et une programmation optionnelle dépendante de la machine.

Il existe un environnement de développement intégré sous le système X Window et une version de démonstration. Des versions existent pour Sun-4 , MIPS , RS-6000 , NeXTSTEP , Windows 95 et autres.

Voir également

Les références

Lectures complémentaires

Liens externes