- Paperback: 300 pages
- Publisher: Springer; 5th edition (September 10, 2003)
- Language: English
- ISBN-10: 3540006788
- ISBN-13: 978-3540006787
- Product Dimensions: 6.1 x 0.7 x 9.2 inches
- Shipping Weight: 1.2 pounds (View shipping rates and policies)
- Average Customer Review: 11 customer reviews
- Amazon Best Sellers Rank: #715,773 in Books (See Top 100 in Books)
To get the free app, enter your mobile phone number.
Programming in Prolog: Using the ISO Standard 5th Edition
Use the Amazon App to scan ISBNs and compare prices.
All Books, All the Time
Read author interviews, book reviews, editors picks, and more at the Amazon Book Review. Read it now
Frequently bought together
Customers who bought this item also bought
From the reviews of the fifth edition:
"This is the fifth and the most recent edition of a legendary book … . It was probably the first introductory Prolog book and it is still the most gentle introduction to Prolog for everyone, including non-computer scientists. … the book is as great as ever as an introductory text for Prolog. When a newbie asks for an introduction to Prolog, the best advice is still Clocksin & Mellish." (Bart Demoen, TLP-Theory and Practice of Logic Programming, Vol. 5 (3), 2005)
From the Back Cover
Originally published in 1981, this was the first textbook on programming in the Prolog language and is still the definitive introductory text on Prolog. Though many Prolog textbooks have been published since, this one has withstood the test of time because of its comprehensiveness, tutorial approach, and emphasis on general programming applications.
Prolog has continued to attract a great deal of interest in the computer science community, and has turned out to be the basis for an important new generation of programming languages and systems for Artificial Intelligence. Since the previous edition of Programming in Prolog, the language has been standardised by the International Organization for Standardization (ISO) and this book has been updated accordingly. The authors have also introduced some new material, clarified some explanations, corrected a number of minor errors, and removed appendices about Prolog systems that are now obsolete.
Top customer reviews
While is does start with the basics, it is an incredibly thorough text, covering all minutia of the language. The text is clear, easy to understand, and to the point, moving quickly through topics without sacrificing understanding.
I used this book as a supplementary text in an upper-division college course. After reading only the first four chapters, I knew things about the language that the instructor did not.
I highly recommend this book to any programmer of any skill level that is interested in learning the Prolog programming language.
The following two books were recommended in the preface of Programming in Prolog. The first as a quicker (though not as complete) overview for the experienced programmer, and the second as a language reference.
Clause and Effect: Prolog Programming for the Working Programmer
Prolog: The Standard: Reference Manual
- Even someone with no programming or math knowledge could pick up the book, read it, and learn Prolog
- Uses ISO-Prolog
- Large section of helpful example programs
(I'll give citations, only from the first 100 pages to keep things short, lest anyone think I am lying about the problems with the book)
- Frequent syntax errors *in program statements* - in Prolog, every comma and period is absolutely essential, when they are missing it entirely changes the meaning of the statement - the book misses them pretty routinely (p 81, twice)
- Frequent logic errors - in Prolog, the order of facts and rules is extremely important. The book commonly mixes things up, presenting you with programs that will not work (p 56 - note here that they are trying to give an example of what will/won't work, and they get it backwards)
- Frequent editing/formatting errors - charts, diagrams etc are fairly often on the wrong page or in the wrong location, etc. (p 48)
- Poor organization - looking through the table of contents, you would think the book is extremely well organized, but as you read it, you'll find new and important ideas thrown into random sections - if you forget something, and need to find it later, you'll probably need to re-skim the entire book. Things are almost never presented in convenient bullets/numbering, almost always in paragraph form, again, making essential ideas tedious to find.
- Confusing - I have degrees in math and computer science, and have been programming for 15 years, and I still found parts of the book hard to follow - note that it had nothing to do with Prolog itself, which is actually very straightforward, but rather with the explanations given, which sometimes seem meandering and poorly worded.
- A really short and crummy index makes things hard to find. For example, look up "atoms", a concept first mentioned on page 26, and routinely mentioned afterwards, a concept absolutely essential to understanding Prolog - the index shows that the first (and only) time it appears is on page 123.
- Authors use an "arrow system" to trace Prolog decision making, I think a table system (which could easily show previous, current, and future steps, and details of each iteration) would have been better while presenting more information in a clearer fashion.
- Code re-use - normally a good thing, frustrating in this book. You might have a rule (like a function) called "mother(X)..." early on in the book, not use it for 100 pages, and then it appears again. If you want to try the program out yourself, you'll need to know the exact definition of "mother(X)...". There's no way to find what page the function was on in the index or TOC, so you find yourself spending 30 minutes leafing through the book to find it. 99% of these are a single line of code, so there's really no need to reuse them, it's hardly saving any space.
- Overly complex examples - sometimes the authors illustrate an idea with 20 lines of code, when 4 would have been sufficient. It makes for a lot of extra reading and deciphering.
- (This could be a pro or con - since I don't know too many people who *start* their programming experience with Prolog, I assume the reader has some experience with programming, and so list this as a con) Book is far too detailed for someone with moderate programming or math experience. This helps some people, but makes it a tedious read for others. Every concept is thoroughly explained. If you're a programmer, this gets a little old during things like variables and recursion. If you know any math, verbose explanations of predicate logic will become tiresome. In fairness, it was no doubt the authors' intention to make a "complete" introduction to Prolog, and so it is hard to criticize this.
- (Another pro/con, depending on the reader) British examples - the authors are British (or at least one of them is), and use British references in their code all the time (9th century princes of Wales, p 34; horses who won races in Britain in 1927, p 53) - if you're British this might break up the monotony and make things a little more interesting, if you're not, it just gets a little old, I'd rather see every example just use "cat","dog","mouse".
- NOT a good reference book (and it wasn't meant to be), if you know Prolog already and need a reference book, look elsewhere. This is for people who do not know Prolog.
- I wish I bought a different book. BUT despite everything, I did adequately learn Prolog from this book, so will reluctantly give it 3 stars.
Nevertheless, "Programming in Prolog" could be a very good programming reference once you are relatively comfortable with the language.