Summary
Logic 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
|