Computer Science An Overview _J. Glenn Brookshear _11th Edition
Universal Programming Languages
In Chapter 6 we studied a variety of features found in high-level programming
languages. In this section we apply our knowledge of computability to determine
which of these features are actually necessary. We will find that most features in
today’s high-level languages merely enhance convenience rather than contribute
to the fundamental power of the language.
Our approach is to describe a simple imperative programming language that
is rich enough to allow us to express programs for computing all the Turing-
computable functions (and thus all the computable functions). Hence, if a future
programmer finds that a problem cannot be solved using this language, the rea-
son will not be a fault of the language. Instead, it will be that there is no algo-
rithm for solving the problem. A programming language with this property is
called a universal programming language.