Logic Programming

Summary

Alan TuringLogic programming has a number of advantages and disadvantages, and here are some of them:

Advantages:
• Logic programming can be used to express knowledge in a way that does not depend on the
implementation, making programs more flexible, compressed and understandable.
• It enables knowledge to be separated from use, ie the machine architecture can be changed
without changing programs or their underlying code.
• It can be altered and extended in natural ways to support special forms of knowledge, such
as meta-level or higher-order knowledge.
• It can be used in non-computational disciplines relying on reasoning and precise means of
expression.

Disadvantages:
• Initially, due to insufficient investment in complimentary technologies, users were poorly
served.
• In the beginning, poor facilities for supporting arithmetic, types, etc. had a discouraging
effect on the programming community.
• There is no adequate way of representing computational concepts found in built-in
mechanisms of state variables (as is usually found in conventional languages).
• Some programmers always have, and always will prefer the overtly operational nature of
machine operated programs, since they prefer the active control over the 'moving parts'.

Recommended Reading:
Prolog Programming for AI : Ivan Bratko
Essentials of Logic Programming : Christopher J. Hogger
Foundations of Logic Programming : John W. Lloyd
Programming in Prolog : W. F. Clocksin and C.S. Mellish
Logic and Prolog : Richard Spencer-Smith.
Association for Logic Programming
WWW Virtual Library on Logic Programming