<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Turing_%28programming_language%29</id>
	<title>Turing (programming language) - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.sarg.dev/index.php?action=history&amp;feed=atom&amp;title=Turing_%28programming_language%29"/>
	<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Turing_(programming_language)&amp;action=history"/>
	<updated>2026-06-25T13:12:51Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.2</generator>
	<entry>
		<id>https://wiki.sarg.dev/index.php?title=Turing_(programming_language)&amp;diff=20254&amp;oldid=prev</id>
		<title>imported&gt;Kvng: avoid unnec redirect</title>
		<link rel="alternate" type="text/html" href="https://wiki.sarg.dev/index.php?title=Turing_(programming_language)&amp;diff=20254&amp;oldid=prev"/>
		<updated>2025-10-23T22:44:40Z</updated>

		<summary type="html">&lt;p&gt;avoid unnec redirect&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|High-level computer programming language}}&lt;br /&gt;
{{Update|date=December 2021}}&lt;br /&gt;
{{Infobox programming language&lt;br /&gt;
| name = Turing&lt;br /&gt;
| logo = Turing logo.gif&lt;br /&gt;
| paradigm = [[Multi-paradigm programming language|multi-paradigm]]: [[Procedural programming|procedural]], [[Object-oriented programming|object-oriented]]&lt;br /&gt;
| designer = [[Ric Holt]], [[James Cordy]]&lt;br /&gt;
| developer = Holt Software Associates&lt;br /&gt;
| released = {{Start date and age|1982}}&lt;br /&gt;
| latest release version = 4.1.1&lt;br /&gt;
| latest release date = {{End date and age|2007|11|25}}&lt;br /&gt;
| discontinued = Yes&lt;br /&gt;
| typing = [[Static typing|static]], [[Manifest typing|manifest]]&lt;br /&gt;
| operating system = [[Microsoft Windows]]&lt;br /&gt;
| license = &lt;br /&gt;
| file ext = &lt;br /&gt;
| website = &amp;lt;!-- {{URL|www.example.com}} --&amp;gt;&lt;br /&gt;
| implementations = Turing, [[#TPlus|TPlus]], [[#OpenT|OpenT]]&lt;br /&gt;
| dialects = [[#Object-Oriented Turing|Object-Oriented Turing]], [[#Turing+|Turing+]]&lt;br /&gt;
| influenced by = [[Euclid (programming language)|Euclid]], [[Pascal (programming language)|Pascal]], [[SP/k]]&lt;br /&gt;
| influenced = &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Turing&amp;#039;&amp;#039;&amp;#039; is a [[High-level programming language|high-level]], [[General-purpose programming language|general purpose]] [[programming language]] developed in 1982 by [[Ric Holt]] and [[James Cordy]], at [[University of Toronto]] in Ontario, Canada. It was designed to help students taking their first [[computer science]] course learn how to code. Turing is a descendant of [[Pascal (programming language)|Pascal]], [[Euclid (programming language)|Euclid]], and [[SP/k]] that features a clean [[Syntax (programming languages)|syntax]] and precise machine-independent [[Semantics (computer science)|semantics]].&lt;br /&gt;
&lt;br /&gt;
Turing 4.1.0 is the latest stable version. Versions 4.1.1 and 4.1.2 do not emit stand alone [[.exe]] files. Versions pre-4.1.0 have outdated syntax and functions.&lt;br /&gt;
&lt;br /&gt;
==Overview==&lt;br /&gt;
Named after British computer scientist [[Alan Turing]], Turing is used mainly as a teaching language at the high school and university level.&amp;lt;ref&amp;gt;{{cite journal |last1=Fluck |first1=A. |last2=Webb |first2=M. |last3=Cox |first3=M. |last4=Angeli |first4=C. |last5=Malyn-Smith |first5=J. |last6=Voogt |first6=J. |last7=Zagami |first7=J. |date=2016 |title=Arguing for computer science in the school curriculum |journal=Journal of Educational Technology &amp;amp; Society |volume=19 |issue=3 |pages=38–46}}&amp;lt;/ref&amp;gt; Two other versions exist, [[#Object-Oriented Turing|Object-Oriented Turing]] and [[#Turing+|Turing+]], a systems programming variant. In September 2001, &amp;quot;Object Oriented Turing&amp;quot; was renamed &amp;quot;Turing&amp;quot; and the original Turing was renamed &amp;quot;Classic Turing&amp;quot;. Turing is now unsupported by Holt Software Associates in [[Toronto, Ontario]]. Turing was widely used in high schools in [[Ontario]] as an introduction to programming.&amp;lt;ref&amp;gt;{{Cite web|url=http://compsci.ca/holtsoft/|title=Download Turing &amp;amp; RTP (Ready to Program)|last=info@compsci.ca|website=compsci.ca|access-date=2018-08-21}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
On November 28, 2007, Turing, which was previously a commercial programming language, became freeware, available to download from the developer&amp;#039;s website free of charge for personal, commercial, and educational use.&amp;lt;ref name=holtsoft&amp;gt;{{cite web |url=http://www.holtsoft.com |title=Holt Software Associates |date=January 2008 |access-date=2010-04-10 |url-status=dead |archive-url=https://web.archive.org/web/20100405101149/http://www.holtsoft.com/ |archive-date=2010-04-05}}&amp;lt;/ref&amp;gt;&amp;lt;ref name=&amp;quot;holtsoft/old_index&amp;quot;&amp;gt;{{cite web |url=http://www.holtsoft.com/old_index.html |title=Holt Software Associates (old) |date=2007-11-25 |access-date=2010-04-10 |url-status=dead |archive-url=https://web.archive.org/web/20100417185823/http://www.holtsoft.com/old_index.html |archive-date=2010-04-17}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{Cite web |url=http://compsci.ca/blog/download-turing-411/ |title=Download Turing 4.1.1 |access-date=2009-01-10 |publisher=compsci.ca Blog |date=2007-11-28}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The makers of Turing, Holt Software Associates, have since ceased operations, and Turing has seen no further development since November 25, 2007.&amp;lt;ref name=&amp;quot;holtsoft/old_index&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Syntax==&lt;br /&gt;
Turing is designed to have a very lightweight, readable, intuitive [[Syntax (programming languages)|syntax]]. Here is the entire [[&amp;quot;Hello, World!&amp;quot; program]] in Turing with [[syntax highlighting]]:&lt;br /&gt;
&lt;br /&gt;
 &amp;#039;&amp;#039;&amp;#039;put&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;quot;Hello World!&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Turing avoids [[semicolon]]s and [[Curly brackets|braces]], using explicit end markers for most language constructs instead, and allows [[Declaration (computer programming)|declarations]] anywhere. Here is a complete program defining and using the traditional [[Recursion|recursive]] function to calculate a [[factorial]].&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;span style=&amp;quot;color:green&amp;quot;&amp;gt;[[Comment (computer programming)|%]] Accepts a number and calculates its factorial&amp;lt;/span&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;function&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;factorial&amp;lt;/span&amp;gt; (&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;: &amp;#039;&amp;#039;&amp;#039;int&amp;#039;&amp;#039;&amp;#039;) : &amp;#039;&amp;#039;&amp;#039;real&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;if&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt; = 0 &amp;#039;&amp;#039;&amp;#039;then&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
            &amp;#039;&amp;#039;&amp;#039;result&amp;#039;&amp;#039;&amp;#039; 1&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;else&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
            &amp;#039;&amp;#039;&amp;#039;result&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt; * &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;factorial&amp;lt;/span&amp;gt; (&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt; - 1)&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;end if&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;end&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;factorial&amp;lt;/span&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;var&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;: &amp;#039;&amp;#039;&amp;#039;int&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;loop&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;put&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;quot;Please input an integer: &amp;quot;&amp;lt;/span&amp;gt; ..&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;get&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;exit when&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt; &amp;gt;= 0&lt;br /&gt;
       &amp;#039;&amp;#039;&amp;#039;put&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;quot;Input must be a non-negative integer.&amp;quot;&amp;lt;/span&amp;gt;&lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;end loop&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
  &lt;br /&gt;
  &amp;#039;&amp;#039;&amp;#039;put&amp;#039;&amp;#039;&amp;#039; &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;quot;The factorial of &amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;&amp;quot; is &amp;quot;&amp;lt;/span&amp;gt;, &amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;factorial&amp;lt;/span&amp;gt; (&amp;lt;span style=&amp;quot;color:blue&amp;quot;&amp;gt;n&amp;lt;/span&amp;gt;)&lt;br /&gt;
&lt;br /&gt;
==Open implementations==&lt;br /&gt;
&lt;br /&gt;
Currently, there are two open source alternative implementations of Turing: Open Turing, an open source version of the original [[Interpreter (computing)|interpreter]], and [[#TPlus|TPlus]], a native compiler for the concurrent system programming language variant [[#Turing+|Turing+]]. [[#OpenT|OpenT]], a project to develop a Turing compiler, was discontinued.&lt;br /&gt;
&lt;br /&gt;
===Open Turing===&lt;br /&gt;
&lt;br /&gt;
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.&amp;lt;ref&amp;gt;{{cite web|last=Hume|first=Tristan|title=Open Turing|url=https://tristan.hume.ca/openturing/|access-date=6 May 2012}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===TPlus===&lt;br /&gt;
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]], [[Oracle Solaris|Solaris]], and [[macOS|Mac OS X]] at [[Queen&amp;#039;s University at Kingston|Queen&amp;#039;s University]] in the late 1990s.&amp;lt;ref&amp;gt;{{cite web|last=Cordy|first=James|title=Turing+ 6.1|url=https://txl.ca/txl-tplusdownload.html|access-date=11 December 2020}}&amp;lt;/ref&amp;gt; TPlus implements [[#Turing+|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|Object-Oriented Turing]] language. Turing Plus extends original Turing with [[Process (computing)|processes]], [[Monitor (synchronization)|monitors]] (as specified by [[C.A.R. Hoare]]), and language constructs needed for system programming such as binary input-output, separate compiling, variables at absolute addresses, type converters and other features.&lt;br /&gt;
&lt;br /&gt;
== Turing+ ==&lt;br /&gt;
{{Infobox programming language&lt;br /&gt;
| name = Turing+&lt;br /&gt;
| logo = &lt;br /&gt;
| paradigm = [[Multi-paradigm programming language|multi-paradigm]]: [[Procedural programming|procedural]], [[Object-oriented programming|object-oriented]], [[Concurrent programming|concurrent]]&lt;br /&gt;
| designer = [[Ric Holt]], [[James Cordy]]&lt;br /&gt;
| developer = [[Ric Holt]], [[James Cordy]]&lt;br /&gt;
| released = {{Start date and age|1987}}&lt;br /&gt;
| latest release version = &amp;lt;!--x.y.z --&amp;gt;&lt;br /&gt;
| latest release date = &amp;lt;!-- {{Start date and age|202y|mm|dd|mf=yes}} --&amp;gt;&lt;br /&gt;
| typing = [[Static typing|static]], [[Manifest typing|manifest]]&lt;br /&gt;
| operating system = &lt;br /&gt;
| license = &lt;br /&gt;
| file ext = &lt;br /&gt;
| website = &lt;br /&gt;
| implementations = &lt;br /&gt;
| dialects = &lt;br /&gt;
| influenced by = [[Concurrent Euclid]], Turing&lt;br /&gt;
| influenced = [[#Object-Oriented Turing|Object-Oriented Turing]]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Turing+&amp;#039;&amp;#039;&amp;#039; (Turing Plus) is a [[concurrent system]]s 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|Object-Oriented Turing]]. Turing+ extended original Turing with processes and [[Monitor (synchronization)|monitor]]s (as specified by [[C.A.R. Hoare]]) as well as language constructs needed for systems programming such as binary input-output, separate compiling, variables at absolute addresses, type converters, and other features.&lt;br /&gt;
&lt;br /&gt;
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 language [[TXL (programming language)|TXL]].&lt;br /&gt;
&lt;br /&gt;
== Object-Oriented Turing ==&lt;br /&gt;
{{Infobox programming language&lt;br /&gt;
| name = Object-Oriented Turing&lt;br /&gt;
| logo =&lt;br /&gt;
| paradigm = [[Multi-paradigm programming language|multi-paradigm]]: [[Procedural programming|procedural]], [[Object-oriented programming|object-oriented]], [[Concurrent programming|concurrent]]&lt;br /&gt;
| designer = [[Ric Holt]]&lt;br /&gt;
| developer = [[Ric Holt]]&lt;br /&gt;
| released = {{Start date and age|1991}}&lt;br /&gt;
| latest release version = &amp;lt;!--x.y.z --&amp;gt;&lt;br /&gt;
| latest release date = &amp;lt;!-- {{Start date and age|202y|mm|dd|mf=yes}} --&amp;gt;&lt;br /&gt;
| typing = [[Static typing|static]], [[Manifest typing|manifest]]&lt;br /&gt;
| operating system = [[Cross-platform]]: [[Sun-4]], [[MIPS architecture|MIPS]], [[IBM System p|RS-6000]]&lt;br /&gt;
| license =&lt;br /&gt;
| file ext =&lt;br /&gt;
| website =&lt;br /&gt;
| implementations =&lt;br /&gt;
| dialects =&lt;br /&gt;
| influenced by = Turing&lt;br /&gt;
| influenced =&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Object-Oriented Turing&amp;#039;&amp;#039;&amp;#039; is an extension of the Turing programming language and a replacement for [[#Turing Plus|Turing Plus]] created by [[Ric Holt]]&amp;lt;ref&amp;gt;{{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|author2-link=Ric Holt}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite book |title=Turing reference manual|last=Holt|first=RC|author-link=Ric Holt|edition=3rd.|year=1992|publisher=Holt Software Associates|location=[[Toronto]]|isbn=978-0-921598-15-2|oclc=71476276}}&amp;lt;/ref&amp;gt; of the [[University of Toronto]], Canada, in 1991. It is [[Imperative programming|imperative]], [[Object-oriented programming|object-oriented]], and [[Concurrency (computer science)|concurrent]]. It has [[Modularity (programming)|modules]], [[Class (programming)|classes]], single [[Inheritance (object-oriented programming)|inheritance]], [[Process (computing)|processes]], [[exception handling]], and optional [[machine-dependent]] programming.&lt;br /&gt;
&lt;br /&gt;
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 architecture|MIPS]], [[IBM System p|RS-6000]], [[NeXTSTEP]], [[Windows 95]], and others.&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==Further reading==&lt;br /&gt;
*{{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}}&lt;br /&gt;
*{{cite journal |last1=Holt |first1=Richard C. |author1-link=Ric Holt |last2=Cordy |first2=James R. |author2-link=James Cordy |date=December 1983 |title=The Turing language report |journal=Annual Progress Report |publisher=Computer Systems Research Institute, [[University of Toronto]] |location=Canada |issn=0316-6295}}&lt;br /&gt;
*{{cite journal |last1=Holt |first1=Richard C. |author1-link=Ric Holt |last2=Cordy |first2=James R. |author2-link=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 |s2cid=40859457 |doi-access=free}}&lt;br /&gt;
*{{cite book |last1=Holt |first1=Richard C. |author1-link=Ric Holt |last2=Matthews |first2=Philip A. |last3=Rosselet |first3=J. Alan |last4=Cordy |first4=James R. |author4-link=James Cordy |year=1988 |title=The Turing programming language: design and definition |publisher=[[Prentice Hall]] |location=[[Englewood Cliffs, New Jersey|Englewood Cliffs, N.J.]] |isbn=978-0-13-933136-7 |oclc=17377539}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
{{Wikibooks|Turing}}&lt;br /&gt;
* {{GitHub|Open-Turing-Project/OpenTuring}}&lt;br /&gt;
&lt;br /&gt;
{{Authority control}}&lt;br /&gt;
&lt;br /&gt;
[[Category:1982 establishments in Ontario]]&lt;br /&gt;
[[Category:Academic programming languages]]&lt;br /&gt;
[[Category:Algol programming language family]]&lt;br /&gt;
[[Category:Articles with example code]]&lt;br /&gt;
[[Category:Educational programming languages]]&lt;br /&gt;
[[Category:Programming languages created in 1982]]&lt;br /&gt;
[[Category:Statically typed programming languages]]&lt;br /&gt;
[[Category:Structured programming languages]]&lt;br /&gt;
[[Category:University of Toronto]]&lt;br /&gt;
[[Category:Alan Turing]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Kvng</name></author>
	</entry>
</feed>