**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

**Let Over Lambda: 50 Years of Lisp**

by

**Doug Hoyte**-

**Lulu.com**

One of the most hardcore computer programming books out there. Starting with the fundamentals, it describes the most advanced features of the most advanced language: Common Lisp. This book is about macros, that is programs that write programs.

(

**12204**views)

**Programming Languages: Theory and Practice**

by

**Robert Harper**-

**Carnegie Mellon University**

What follows is a working draft of a planned book that seeks to strike a careful balance between developing the theoretical foundations of programming languages and explaining the pragmatic issues involved in their design and implementation.

(

**6157**views)

**Computational Category Theory**

by

**D.E. Rydeheard, R.M. Burstall**

The book is a bridge-building exercise between computer programming and category theory. Basic constructions of category theory are expressed as computer programs. It is a first attempt at connecting the abstract mathematics with concrete programs.

(

**13037**views)

**Programming and Programming Languages**

by

**Shriram Krishnamurthi**-

**Brown University**

Many people would regard this as being two books in one. One book is an introduction to programming, teaching you basic concepts of organizing data and the programs that operate over them. The other book is an introduction to programming languages.

(

**3194**views)