Turing (programming language)
![]() |
|
| Paradigm(s) | multi-paradigm: object-oriented, procedural |
|---|---|
| Appeared in | 1982 |
| Designed by | Ric Holt and James Cordy |
| Developer | Holt Software Associates |
| Typing discipline | static, manifest |
| Major implementations | Turing, TPlus, OpenT |
| Dialects | Object-Oriented Turing, Turing Plus |
| Influenced by | Euclid, Pascal, SP/k |
| OS | Microsoft Windows |
Turing is a Pascal-like programming language developed in 1982 by Ric Holt and James Cordy, then of University of Toronto, Canada. Turing is a descendant of Euclid, Pascal and SP/k that features a clean syntax and precise machine-independent semantics.
Named after British computer scientist Alan Turing, Turing is used primarily as a teaching language at the high school and university level.[citation needed] 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. Currently, Microsoft Windows is the only supported platform. Turing was, at one point, widely used in high schools in Ontario as an introduction to programming.[citation needed]
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.[1][2][3]
The makers of Turing, Holt Software Associates, have since ceased operations. It is unclear whether Turing is still in development, but there have been no new releases since November 25, 2007.[2]
Contents |
[edit] Syntax
Turing is designed to have a very lightweight, readable, intuitive syntax. Here is the entire Hello World! program in Turing with syntax highlighting:
put "Hello World!"
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)
[edit] Open implementations
Currently, there are two open source alternative implementations of Turing: Open Turing, an open source version of the original interpreter, TPlus, a native compiler for the concurrent systems programming language variant Turing Plus, and OpenT, an abandoned project to develop a compiler for Turing.
[edit] Open Turing
Open Turing is an open-source implementation of the original Turing interpreter for Windows written by Holt Software. It includes speed improvements and new features such as OpenGL 3D. It is fully backwards compatible with the non open source implementation.
[edit] TPlus
TPlus is an open-source implementation of original (non-OO) 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. 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.
[edit] 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. It shares many similarities with Turing, and is fully backwards compatible with it.
[edit] Notes
- ^ "Holt Software Associates Home Page". January 2008. http://www.holtsoft.com. Retrieved 2010-04-10.
- ^ a b "Holt Software Associates Home Page (old)". 2007-11-25. http://www.holtsoft.com/old_index.html. Retrieved 2010-04-10.
- ^ "Download Turing 4.1.1". compsci.ca Blog. 2007-11-28. http://compsci.ca/blog/download-turing-411/. Retrieved 2009-01-10.
[edit] See also
[edit] References
- Holt, Richard C; Cordy, James R (December 1983). The Turing language report. Computer Systems Research Institute, University of Toronto. ISSN 0316-6295-153.
- Holt, Richard C; Cordy, James R (December 1988). "The Turing programming language". Communications of the ACM 31 (12): 1410–1423. doi:10.1145/53580.53581.
- Holt, Richard C; Matthews, Philip A; Rosselet, J Alan; Cordy, James R (1988). The Turing programming language: design and definition. Englewood Cliffs, N.J.: Prentice Hall. ISBN 9780139331367. OCLC 17377539.
[edit] External links
| Wikibooks has a book on the topic of |
This article was originally based on material from the Free On-line Dictionary of Computing, which is licensed under the GFDL.
