Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The Turing programming language
Holt R., Cordy J. Communications of the ACM31 (12):1410-1423,1988.Type:Article
Date Reviewed: Jun 1 1989

Turing is a general-purpose imperative programming language designed to support both teaching and larger-scale applications, especially in its system programming extension, Turing Plus. The authors of this paper give an informal introduction to the language (which they classify as a ‘super Pascal’) by means of a number of examples that illustrate its superiority to Pascal. Besides tightening up some of Pascal’s documented insecurities, the developers of Turing added elements of specification via Hoare-style pre- and post-conditions. These conditions can be checked at run-time and provide a succinct and powerful means of program documentation.

In my view, the most important aspect of Turing is its formal definition [1]. This definition uses axiomatic semantics, which has existed for a number of years. Although the axiomatic approach does have its limits--the definition’s authors point out that aliasing and side-effects are difficult to handle--it seems imperative that any new language have such a definition.

Another aspect of Turing that deserves comment is the way it handles variant records and pointers: insecurities are tightened up to allow run-time signalling of violations. In both cases the constructs could have been further modified to prevent run-time errors, surely a desirable situation. Specifically, for the first case code could be provided, at any use of a variant record, to deal with every variant, and in the second case the explicit deallocation of pointers could be replaced by garbage collection. Nevertheless, the authors present a coherent summary of the salient features of an elegant language, and they whet one’s appetite for the greater detail for the definition [1].

Reviewer:  Simon Thompson Review #: CR113224
1) Holt, R. C.; Matthews, P. A.; Rosselet, J. A.; and Cordy, J. R.The TURING programming language: design and definition. Prentice-Hall, Englewood Cliffs, NJ, 1987.
Bookmark and Share
  Featured Reviewer  
 
Turing (D.3.2 ... )
 
 
Applicative (Functional) Languages (D.3.2 ... )
 
 
Validation (D.2.4 ... )
 
 
Language Classifications (D.3.2 )
 
 
Language Constructs and Features (D.3.3 )
 
 
Software/ Program Verification (D.2.4 )
 
Would you recommend this review?
yes
no

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy