<< 1 >>
Rating: ![4 stars](http://www.reviewfocus.com/images/stars-4-0.gif) Summary: Concise models for what the software is to do Review: The precise language of logic has so many uses in computer science, it is sometimes surprising that it is not more widely used. Ambiguity is a recurring problem in writing everything from the initial specifications to the final documentation. The formal statements of logic are by nature unambiguous, which would eliminate most of the problems of imprecision. However, there are two major obstacles to the widespread adoption of the language of logic:
1) Very few programmers understand the formal language and most do not have time to learn it. 2) If logic were to be used, it would require the writing of almost another complete set of specifications. Most programmers don't have time to write or won't write standard documentation Expecting a formal set is asking for more than can normally be delivered.
Despite this stiff mass of resistance, there are uses for formal logic, and many of those uses are described in this book. Most of the standard structures of software modeling are described using formal logic structures. If you do not have some experience in formal logic, then you will find most of this book very difficult to understand. However, if you have had the pleasure of some study in logic, then you will appreciate the conciseness and precision of the models that are constructed. To the initiated, they allow for the creation of some very elegant descriptions of what software is supposed to do. All of the fundamental areas of logic in application to computer science are covered. Each chapter concludes with a set of exercises and solutions are included in an appendix. This book would be an ideal one for an advanced undergraduate or beginning graduate course in logic applied to computer science. To the extent that programming is mentioned, the languages are Lisp and Prolog. Formal logic is sorely underutilized in computer science. Writing formal descriptions of your models and code demands a degree of intellectual rigor that cannot be achieved any other way. It is clear that the only true path to correct software is to be intellectually precise and the models in this book will help you do that.
<< 1 >>
|