A Practical Theory of Programming, Second Edition

A Practical Theory of Programming, Second Edition

Describes theory of programming as something that will provide a much greater degree of precision by providing a method of calculation to software engineers.

Publication date: 31 Dec 2004

ISBN-10: n/a

ISBN-13: n/a

Paperback: n/a

Views: 23,908

Type: N/A

Publisher: n/a

License: n/a

Post time: 28 Nov 2004 12:00:54

A Practical Theory of Programming, Second Edition

A Practical Theory of Programming, Second Edition Describes theory of programming as something that will provide a much greater degree of precision by providing a method of calculation to software engineers.
Tag(s): Formal Methods
Publication date: 31 Dec 2004
ISBN-10: n/a
ISBN-13: n/a
Paperback: n/a
Views: 23,908
Document Type: N/A
Publisher: n/a
License: n/a
Post time: 28 Nov 2004 12:00:54
Book excerpts:

A mathematical theory gives a much greater degree of precision by providing a method of calculation. It is unlikely that we could send a rocket to Jupiter without a mathematical theory of motion. And even baseball pitchers are finding that their pitch can be improved by hiring an expert who knows some theory. Similarly a lot of mundane programming can be done without the aid of a theory, but the more difficult programming is very unlikely to be done correctly without a good theory. The software industry has an overwhelming experience of buggy programs to support that statement. And even mundane programming can be improved by the use of a theory.

Programming changes from an art to a science when we learn to understand programs in the same way we understand mathematical theorems. With a scientific outlook, we change our view of the world. We attribute less to spirits or chance, and increase our understanding of what is possible and what is not. It is a valuable part of education for anyone.

Professional engineering maintains its high reputation in our society by insisting that, to be a professional engineer, one must know and apply the relevant theories. A civil engineer must know and apply the theories of geometry and material stress. An electrical engineer must know and apply electromagnetic theory. Software engineers, to be worthy of the name, must know and apply a theory of programming.

The subject of this book sometimes goes by the name programming methodology, science of programming, logic of programming, theory of programming, formal methods of program development, or verification. It concerns those aspects of programming that are amenable to mathematical proof. A good theory helps us to write precise specifications, and to design programs whose executions provably satisfy the specifications. We will be considering the state of a computation, the time of a computation, the memory space required by a computation, and the interactions with a computation. There are other important aspects of software design and production that are not touched by this book: the management of people, the user interface, documentation, and testing.
 




About The Author(s)


E.C.R Hehner earned his PhD in Computer Science from the University of Toronto in 1974. He then joined the faculty, became a full professor in 1983 and retired in 2012. His research has been mainly on the subject of formal programming methods, and the mathematics of program construction.

E.C.R. Hehner

E.C.R Hehner earned his PhD in Computer Science from the University of Toronto in 1974. He then joined the faculty, became a full professor in 1983 and retired in 2012. His research has been mainly on the subject of formal programming methods, and the mathematics of program construction.


Book Categories
Sponsors
Icons8, a free icon pack