This Prolog Life: Difference between revisions

From This Prolog Life
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
;John Fletcher's home on the Web
;John Fletcher's home on the Web
__NOTOC__
__NOTOC__
“Prolog is more than a language - it is a way of living :-)Bart Demoen
“Prolog is more than a language - it is a way of living :-)” Bart Demoen


==Prolog==
==Prolog==
Line 9: Line 9:
===Why use Prolog?===
===Why use Prolog?===


Prolog is a tool for solving problems, rather than producing “software products”, and it will appeal to you if:
Prolog is a tool for solving problems, rather than producing “software product”, and it will appeal to you if:


* You want your programs to be readable, and to have a close correspondence with their specifications;
* You want your programs to be readable, and to have a close correspondence with their specifications;
* Statements like x = x + 1 offend your mathematical sensibility;
* Statements like x = x + 1 offend your mathematical sensibility;
* You like to develop programs incrementally with an interactive top-level, interactive debugging, and the ability to test (execute) program fragments independently;
* You like to develop programs incrementally – with an interactive top-level, interactive debugging, and the ability to test (execute) program fragments independently;
* You want fewer lines of code and therefore fewer faults;
* You want fewer lines of code and therefore fewer faults;
* You prefer to work with a handful of big ideas, rather than a lot of small ones;
* You prefer to work with a handful of big ideas, rather than a lot of small ones;
Line 22: Line 22:


* [[Logic Programming and the Internet]]. Prolog is unequalled as a language for expressing queries and integrity constraints, and for processing text, which make it an excellent choice for Internet applications.
* [[Logic Programming and the Internet]]. Prolog is unequalled as a language for expressing queries and integrity constraints, and for processing text, which make it an excellent choice for Internet applications.
* XML documents and Prolog terms have the same ‘tree’ structure, which makes it easy to program with XML and Prolog. My free  code for [[Parsing XML with Prolog]] makes it even easier.
* XML documents and Prolog terms have the same ‘tree’ structure, which makes it easy to program with XML and Prolog. My free  code for [[Parsing XML with Prolog]] makes it even easier.
* Recommended [http://www.binding-time.co.uk/prolog_books.html Prolog programming books].
* Recommended [http://www.binding-time.co.uk/prolog_books.html Prolog programming books].
* My solutions to some puzzles in Prolog:
* My solutions to some puzzles in Prolog:

Revision as of 16:00, 12 May 2015

John Fletcher's home on the Web

“Prolog is more than a language - it is a way of living :-)” Bart Demoen

Prolog

Ever since I first learned Prolog, more than 20 years ago, it has been my preferred programming language.

Why use Prolog?

Prolog is a tool for solving problems, rather than producing “software product”, and it will appeal to you if:

  • You want your programs to be readable, and to have a close correspondence with their specifications;
  • Statements like x = x + 1 offend your mathematical sensibility;
  • You like to develop programs incrementally – with an interactive top-level, interactive debugging, and the ability to test (execute) program fragments independently;
  • You want fewer lines of code and therefore fewer faults;
  • You prefer to work with a handful of big ideas, rather than a lot of small ones;

If you want to find out about Prolog on the Web, start with the Frequently Asked Questions for comp.lang.prolog.

Other useful links include:

Although Prolog is regarded as a niche language, it's a very versatile language. I believe that the programming languages used in 2050 will owe more to Prolog than to any other language.