Turing (programmeringsspråk)
Paradigm | multi-paradigm : objektorienterad , procedural |
---|---|
Designad av | Ric Holt och James Cordy |
Utvecklare | Holt Software Associates |
Dök först upp | 1982 |
Maskinskrivningsdisciplin | statisk , uppenbar |
OS | Microsoft Windows |
Stora implementeringar | |
Turing, TPlus, OpenT | |
Dialects | |
Objektorienterad Turing , Turing Plus | |
Influerad av | |
Euclid , Pascal , SP/k |
Turing är ett högnivå , allmänt programmeringsspråk utvecklat 1982 av Ric Holt och James Cordy , vid University of Toronto i Ontario, Kanada. Den designades för att hjälpa elever som tar sin första datavetenskapskurs att lära sig koda. Turing är en ättling till Pascal , Euclid och SP/k som har en ren syntax och exakt maskinoberoende semantik.
Turing 4.1.0 är den senaste stabila versionen av Turing. Turing 4.1.1 och Turing 4.1.2 tillåter inte att fristående .exe- filer skapas och versioner före Turing 4.1.0 har föråldrad syntax och föråldrade funktioner.
Översikt
Uppkallad efter den brittiske datavetaren Alan Turing används Turing främst som undervisningsspråk på gymnasie- och universitetsnivå. Två andra versioner finns, Object-Oriented Turing och Turing Plus , en systemprogrammeringsvariant. I september 2001 döptes "Object Oriented Turing" om till "Turing" och den ursprungliga Turing döptes om till "Classic Turing". Turing stöds inte längre av Holt Software Associates i Toronto, Ontario . Turing användes flitigt i gymnasieskolor i Ontario som en introduktion till programmering.
Den 28 november 2007 blev Turing, som tidigare var ett kommersiellt programmeringsspråk, gratisprogram, tillgängligt att ladda ner från utvecklarens webbplats gratis för personligt, kommersiellt och pedagogiskt bruk.
Tillverkarna av Turing, Holt Software Associates, har sedan dess upphört med sin verksamhet, och Turing har inte sett någon vidare utveckling sedan den 25 november 2007.
Syntax
Turing är designad för att ha en mycket lätt, läsbar, intuitiv syntax. Här är hela Hello World! program i Turing med syntaxmarkering :
sätta "Hej världen!"
Turing undviker semikolon och klammerparenteser, använder explicita slutmarkörer för de flesta språkkonstruktioner istället, och tillåter deklarationer var som helst. Här är ett komplett program som definierar och använder den traditionella rekursiva funktionen för att beräkna en faktor .
*kommentar*% Accepterar ett tal och beräknar dess faktoriell funktion faktoriell ( n : int ) : reell om n = 0 då resultat 1 annars resultat n * faktoriell ( n - 1) end if end factorial var n : int loop put "Vänligen mata in ett heltal: " .. få n exit när n >= 0 sätter "Indata måste vara ett icke-negativt heltal." slutslinga sätta "Faktorialen av", n , " är" , faktoriell ( n )
Öppna implementeringar
För närvarande finns det två alternativa implementeringar av Turing med öppen källkod: Open Turing, en öppen källkodsversion av den ursprungliga tolken, och TPlus, en inbyggd kompilator för programmeringsspråksvarianten Turing Plus för samtidiga system . OpenT, ett projekt för att utveckla en kompilator för Turing, är inte längre under utveckling.
Öppna Turing
Open Turing är en öppen källkodsimplementering av den ursprungliga Turing-tolken för Windows skriven av Tristan Hume. Den innehåller hastighetsförbättringar, nya funktioner som OpenGL 3D och en ny kodredigerare. Den är helt bakåtkompatibel med implementeringen med sluten källkod.
TPlus
TPlus är en öppen källkodsimplementering av original (icke-objektorienterad) Turing med systemprogrammeringstillägg utvecklade vid University of Toronto och portade till Linux, Solaris och Mac OS X vid Queen's University i slutet av 1990-talet. TPlus implementerar Turing+ ( Turing Plus ), ett programmeringsspråk för samtidiga system baserat på det ursprungliga Turing-programmeringsspråket. Vissa, men inte alla, funktionerna i Turing Plus inordnades så småningom i det nuvarande objektorienterade Turing- språket. Turing Plus utökar original-Turing med processer och monitorer (som specificerats av CAR Hoare ) samt språkkonstruktioner som behövs för systemprogrammering såsom binär input-output, separat kompilering, variabler vid absoluta adresser, typomvandlare och andra funktioner.
Turing+
Paradigm | multi-paradigm : objektorienterad , procedurell , samtidig |
---|---|
Designad av | Ric Holt och James Cordy |
Utvecklare | Ric Holt och James Cordy |
Dök först upp | 1987 |
Maskinskrivningsdisciplin | statisk , uppenbar |
Influerad av | |
Concurrent Euclid , Turing | |
Influerad | |
Objektorienterad Turing |
Turing+ (Turing Plus) är ett programmeringsspråk för samtidiga system baserat på Turing-programmeringsspråket designat av James Cordy och Ric Holt , då vid University of Toronto, Kanada, 1987. Vissa, men inte alla, funktionerna i Turing+ blev så småningom inordnad i objektorienterad Turing . Turing+ utökade original-Turing med processer och monitorer (enligt specificerat av CAR Hoare ) samt språkkonstruktioner som behövs för systemprogrammering såsom binär input-output, separat kompilering, variabler vid absoluta adresser, typomvandlare och andra funktioner.
Turing+ designades uttryckligen för att ersätta Concurrent Euclid i systemprogrammeringsapplikationer. Operativsystemet TUNIS , ursprungligen skrivet i Concurrent Euclid, kodades om till Turing+ i dess MiniTunis-implementering. Turing+ har använts för att implementera flera produktionssystem, inklusive programmeringsspråket TXL .
Objektorienterad Turing
Paradigm | multi-paradigm : objektorienterad , procedurell , samtidig |
---|---|
Designad av | Ric Holt |
Utvecklare | Ric Holt |
Dök först upp | 1991 |
Maskinskrivningsdisciplin | statisk , uppenbar |
OS | Cross-platform : Sun-4 , MIPS , RS-6000 |
Influerad av | |
Turing |
Objektorienterad Turing är en förlängning av programmeringsspråket Turing och en ersättning för Turing Plus skapad av Ric Holt vid University of Toronto, Kanada, 1991. Det är absolut nödvändigt , objektorienterat och samtidigt . Den har moduler , klasser , enstaka arv , processer , undantagshantering och valfri maskinberoende programmering.
Det finns en integrerad utvecklingsmiljö under X Window System och en demoversion. [ citat behövs ] Versioner finns för Sun-4 , MIPS , RS-6000 , NeXTSTEP , Windows 95 och andra.
Vidare läsning
- Grogono, Peter (1995). Programmering med Turing och Objektorienterad Turing . Springer-Verlag. ISBN 978-0-387-94517-0 .
- Holt, Richard C ; Cordy, James R (december 1983). "Turings språkrapport". Årlig lägesrapport . Kanada: Computer Systems Research Institute, University of Toronto . ISSN 0316-6295 .
- Holt, Richard C ; Cordy, James R (december 1988). "Turing-programmeringsspråket". Kommunikation från ACM . 31 (12): 1410–1423. doi : 10.1145/53580.53581 . S2CID 40859457 .
- Holt, Richard C ; Matthews, Philip A; Rosselet, J Alan; Cordy, James R (1988). Programmeringsspråket Turing: design och definition . Englewood Cliffs, NJ : Prentice Hall . ISBN 978-0-13-933136-7 . OCLC 17377539 .
externa länkar
- OpenTuring på GitHub