**A Practical Theory of Programming**

by Eric C.R. Hehner

**Publisher**: Springer 2006**ISBN/ASIN**: 0387941061**ISBN-13**: 9780387941066**Number of pages**: 243

**Description**:

Understanding programming and programming languages requires knowledge of the underlying theoretical model. This book explores aspects of programming that are amenable to mathematical proof. The author describes a programming theory which is much simpler and more comprehensive than the current theories to date. In the theoretical model, a specification is just a boolean expression and refinement is just an ordinary implication. The author develops a practical and broad method for writing precise specifications and designing programs whose executions probably satisfy the specifications.

Download or read it online for free here:

**Download link**

(multiple PDF files)

## Similar books

**Semantics of Programming Languages**

by

**Andrew M. Pitts**-

**University of Cambridge**

These notes introduce the structural, operational approach to programming language semantics. The course shows how to specify the meaning of some simple programming language constructs and to reason formally about semantic properties of programs.

(

**7517**views)

**Programming Languages: Application and Interpretation**

by

**Shriram Krishnamurthi**-

**Lulu.com**

The textbook for a programming languages course, taken primarily by advanced undergraduate and beginning graduate students. This book assumes that students have modest mathematical maturity, and are familiar with the existence of the Halting Problem.

(

**11328**views)

**The Z Notation: A Reference Manual**

by

**J. M. Spivey**-

**Prentice Hall**

The standard Z notation for specifying and designing software has evolved over the best part of a decade. This an informal but rigorous reference manual is written with the everyday needs of readers and writers of Z specifications in mind.

(

**10222**views)

**Understanding Programming Languages**

by

**Monti Ben-Ari**-

**John Wiley & Sons**

The book explains what alternatives are available to the language designer, how language constructs should be used for safety and readability, how language constructs are implemented, the role of language in expressing and enforcing abstractions.

(

**15183**views)