© 2006

Theoretical Introduction to Programming

  • Authors

Table of contents

  1. Front Matter
    Pages i-xi
  2. Pages 92-130
  3. Pages 154-213
  4. Pages 214-234
  5. Pages 235-264
  6. Pages 265-314
  7. Pages 315-338
  8. Back Matter
    Pages 339-358

About this book


Is there nothing more to programming?

How can you develop your skill if all you do is hunt for the prescribed routine in a menu of 1001 others? Are you frustrated by the plethora of languages that ultimately do the same thing? Would you like your skills to give you lasting and intrinsic worth as an expert programmer, instead of going stale like last week's bread? Would you like to know more about the nature and limits of programming?

Can code be written so that it is intrinsically robust? Written rapidly without sacrificing reliability? Written generically without iterative loops, without recursion, or even variables?

This book shows you how. Densely packed with explicit techniques on each page, this book takes you from a rudimentary understanding of programming into the world of deep technical software development.

It is demonstrated that most of the important features of modern languages are derived from deeper concepts that change much more slowly than computer languages. A small representative collection of languages (such as C, Java, Scheme, Prolog and Haskell) is used to show that paradigms are largely language independent. The effort of programming can occur separately, and then be molded in detail to fit the language at hand.

Bruce Mills has been teaching and practicing programming in industry and academia for two decades. His experience covers the spectrum in languages and applications. He brings to this book his love of programming and a desire to encourage robust and yet creative engagement with computer languages.


Crytology and Information theory Data structures HTML Java Operating systems Programming techniques Software Engineering Theory of computation programming

Bibliographic information


From the reviews:

"A good programmer has to know more than the constructs of a given programming language: eg., computational models, formal technologies, limitations on models, technologies and computers, properties of programming languages (and their compilers), interaction between programs, and even philosophical aspects. … the author gives a good introduction to the mentioned fields in the form of chapters partitioned into notions (and some exercises) … . So, the book is a good survey for specialists … ." (G. Riedewald, Zentralblatt MATH, Vol. 1097 (23), 2006)