请输入您要查询的百科知识:

 

词条 Turing (programming language)
释义

  1. Overview

  2. Syntax

  3. Open implementations

     Open Turing  TPlus  OpenT 

  4. Trivia

  5. Turing+

  6. Object-Oriented Turing

  7. See also

  8. References

  9. Further reading

  10. External links

{{Infobox programming language
| name = Turing
| logo =
| paradigm = multi-paradigm: object-oriented, procedural
| year = 1982
| designer = Ric Holt and James Cordy
| developer = Holt Software Associates
| latest_release_version =
| latest release date =
| typing = static, manifest
| implementations = Turing, TPlus, OpenT
| dialects = Object-Oriented Turing, Turing Plus
| influenced_by =Euclid, Pascal, SP/k
| influenced =
| operating_system = Microsoft Windows
| license =
| website =
| file_ext =
}}

Turing is a Pascal-like programming language developed in 1982 by Ric Holt and James Cordy, then of University of Toronto, in Toronto, Ontario, Canada. Turing is a descendant of Euclid, Pascal and SP/k that features a clean syntax and precise machine-independent semantics.

Turing 4.1.0 is the latest stable version of Turing. Turing 4.1.1 and Turing 4.1.2 do not allow for stand alone .EXE files to be created and versions before Turing 4.1.0 have outdated syntax and outdated functions.

Overview

Named after British computer scientist Alan Turing, Turing is used primarily as a teaching language at the high school and university level.{{Citation needed|date=January 2011}} Two other versions exist, Object-Oriented Turing and Turing Plus, a systems programming variant. In September 2001, "Object Oriented Turing" was renamed "Turing" and the original Turing was renamed "Classic Turing". Turing is no longer supported by Holt Software Associates in Toronto, Ontario. Currently, Microsoft Windows is the only supported platform. Turing is widely used in high schools in Ontario as an introduction to programming.[1]

On November 28, 2007, Turing, which was previously a commercial programming language, became freeware, available to download from the developer's website free of charge for personal, commercial, and educational use.[2][3][4]

The makers of Turing, Holt Software Associates, have since ceased operations, and Turing has seen no further development since November 25, 2007.[3]

Syntax

Turing is designed to have a very lightweight, readable, intuitive syntax. Here is the entire Hello World! program in Turing with syntax highlighting:

Turing avoids semicolons and braces, using explicit end markers for most language constructs instead, and allows declarations anywhere. Here is a complete program defining and using the traditional recursive function to calculate a factorial.

% 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)

Open implementations

Currently, there are two open source alternative implementations of Turing: Open Turing, an open source version of the original interpreter, and TPlus, a native compiler for the concurrent systems programming language variant Turing Plus. OpenT, a project to develop a compiler for Turing, is no longer in development.

Open Turing

Open Turing is an open-source implementation of the original Turing interpreter for Windows written by Tristan Hume. It includes speed improvements, new features such as OpenGL 3D and a new code editor. It is fully backwards compatible with the closed-source implementation.[5]

TPlus

TPlus is an open-source implementation of original (non-Object-Oriented) Turing with systems programming extensions developed at the University of Toronto and ported to Linux, Solaris and Mac OS X at Queen's University in the late 1990s.[6] TPlus implements Turing+ (Turing Plus), a concurrent systems programming language based on the original Turing programming language. Some, but not all, of the features of Turing Plus were eventually subsumed into the present Object-Oriented Turing language. Turing Plus extends original Turing with processes and monitors (as specified by C.A.R. Hoare) as well as language constructs needed for systems programming such as binary input-output, separate compilation, variables at absolute addresses, type converters and other features.

OpenT

OpenT is an abandoned open-source language, compiler, and IDE that was being developed by the members of the dTeam of Computer Science Canada.{{citation needed|date=October 2013}} It shares many similarities with Turing, and is fully backwards compatible with it.

Trivia

As an addition to the usual graphics drawing functions, Turing features special functions for drawing maple leaves to allow easier drawing of the Canadian flag.[7]

Two Canadian students have also created trivia game based around the topics in Turing. The program was coded in Turing and can be downloaded from here.  

Turing+

{{Infobox programming language
| name = Turing+
| logo =
| paradigm = multi-paradigm: object-oriented, procedural, concurrent
| year = 1987
| designer = Ric Holt and James Cordy
| developer = Ric Holt and James Cordy
| latest_release_version =
| latest release date =
| typing = static, manifest
| implementations =
| dialects =
| influenced_by =Concurrent Euclid, Turing
| influenced =Object-Oriented Turing
| operating_system =
| license =
| website =
| file_ext =
}}

Turing+ (Turing Plus) is a concurrent systems programming language based on the Turing programming language designed by James Cordy and Ric Holt, then at the University of Toronto, Canada, in 1987. Some, but not all, of the features of Turing+ were eventually subsumed into Object-Oriented Turing. Turing+ extended original Turing with processes and monitors (as specified by C.A.R. Hoare) as well as language constructs needed for systems programming such as binary input-output, separate compilation, variables at absolute addresses, type converters and other features.

Turing+ was explicitly designed to replace Concurrent Euclid in systems-programming applications. The TUNIS operating system, originally written in Concurrent Euclid, was recoded to Turing+ in its MiniTunis implementation. Turing+ has been used to implement several production software systems, including the TXL programming language.

Object-Oriented Turing

{{Infobox programming language
| name =Object-Oriented Turing
| logo =
| paradigm = multi-paradigm: object-oriented, procedural, concurrent
| year =1991
| designer =Ric Holt
| developer =Ric Holt
| latest_release_version =
| latest release date =
| typing = static, manifest
| implementations =
| dialects =
| influenced_by =Turing
| influenced =
| operating_system = Cross-platform: Sun-4, MIPS, RS-6000
| license =
| website =
| file_ext =
}}

Object-Oriented Turing is an extension of the Turing programming language and a replacement for Turing Plus created by Ric Holt[8][9] of the University of Toronto, Canada, in 1991. It is imperative, object-oriented, and concurrent. It has modules, classes, single inheritance, processes, exception handling, and optional machine-dependent programming.

There is an integrated development environment under the X Window System and a demo version.{{citation needed|date=October 2013}} Versions exist for Sun-4, MIPS, RS-6000, NeXTSTEP, Windows 95 and others.

See also

  • Euclid (programming language)
  • Concurrent Euclid
  • Turing Plus (programming language)
  • Object-Oriented Turing
  • TXL

References

1. ^{{Cite web|url=http://compsci.ca/holtsoft/|title=Download Turing & RTP (Ready to Program)|last=info@compsci.ca|website=compsci.ca|access-date=2018-08-21}}
2. ^{{cite web|url=http://www.holtsoft.com|title=Holt Software Associates Home Page|date=January 2008|accessdate=2010-04-10|deadurl=yes|archiveurl=https://web.archive.org/web/20100405101149/http://www.holtsoft.com/|archivedate=2010-04-05|df=}}
3. ^{{cite web|url=http://www.holtsoft.com/old_index.html|title=Holt Software Associates Home Page (old)|date=2007-11-25|accessdate=2010-04-10|deadurl=yes|archiveurl=https://web.archive.org/web/20100417185823/http://www.holtsoft.com/old_index.html|archivedate=2010-04-17|df=}}
4. ^{{Cite web |url= http://compsci.ca/blog/download-turing-411/|title= Download Turing 4.1.1|accessdate= 2009-01-10|publisher= compsci.ca Blog|date= 2007-11-28}}
5. ^{{cite web|last=Hume|first=Tristan|title=Open Turing|url=http://tristan.hume.ca/openturing/|accessdate=6 May 2012}}
6. ^{{cite web|last=Cordy|first=James|title=Turing+ 5.1|url=http://research.cs.queensu.ca/~cordy/pub/downloads/tplus/|accessdate=13 April 2017}}
7. ^{{cite web|title=Turing Documentation for drawfillmapleleaf|url=http://compsci.ca/holtsoft/doc/drawfillmapleleaf.html|accessdate=21 August 2014}}
8. ^{{cite journal |last= Mancoridis|first= S |author2=Holt, R C |author3=Penny, D A |date=February 1993|title= A Conceptual Framework for Software Development|journal= ACM Annual Computer Science Conference (SIGCSE, Indianapolis)|pages= 74–80|oclc= 194807519|issn= 1041-4517|id= BL Shelfmark 0578.623000}}
9. ^{{cite book |title= Turing reference manual|last= Holt|first= RC|authorlink= Ric Holt|edition= 3rd.|year= 1992|publisher= Holt Software Associates|location= Toronto|isbn= 978-0-921598-15-2|oclc= 71476276}}

Further reading

  • {{cite book |title= The Turing language report|last1= Holt|first1= Richard C|last2= Cordy|first2= James R|authorlink1= Ric Holt|authorlink2= James Cordy|date=December 1983|publisher= Computer Systems Research Institute, University of Toronto | location=Canada |issn= 0316-6295}}
  • {{cite journal |last= Holt|first= Richard C|authorlink= Ric Holt|author2=Cordy, James R |authorlink2=James Cordy |date=December 1988|title= The Turing programming language|journal= Communications of the ACM|volume= 31|issue= 12|pages= 1410–1423|doi=10.1145/53580.53581|url= }}
  • {{cite book |title= The Turing programming language: design and definition|last1= Holt|first1= Richard C|last2= Matthews|first2= Philip A|last3= Rosselet|first3= J Alan|last4= Cordy|first4= James R|authorlink1= Ric Holt|authorlink4= James Cordy|year= 1988|publisher= Prentice Hall|location= Englewood Cliffs, N.J.|isbn= 978-0-13-933136-7|oclc= 17377539}}
  • {{cite book |last=Grogono |first=Peter |date=1995 |title=Programming with Turing and Object Oriented Turing |url=https://www.springer.com/gp/book/9780387945170 |publisher=Springer-Verlag|isbn=978-0-387-94517-0 |access-date= }}

External links

{{Wikibooks|Turing}}
  • Forum for Turing Help, Tutorials, & Source Code
  • [https://github.com/Open-Turing-Project/OpenTuring Github page for the Open Turing project]
{{FOLDOC}}

10 : 1982 establishments in Ontario|Academic programming languages|Algol programming language family|Articles with example code|Educational programming languages|Programming languages created in 1982|Statically typed programming languages|Structured programming languages|University of Toronto|Alan Turing

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/9/24 2:33:28