This Prolog Life: Difference between revisions

From This Prolog Life
Jump to navigation Jump to search
No edit summary
(9 intermediate revisions by the same user not shown)
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==


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


===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 products”, 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;


If you want to find out about Prolog on the Web, start with the [http://www.logic.at/prolog/faq/faq.html Frequently Asked Questions] for [https://groups.google.com/forum/?fromgroups#!forum/comp.lang.prolog comp.lang.prolog].
If you want to find out about Prolog on the Web, start with the [https://www.metalevel.at/prolog/faq/ Frequently Asked Questions] for [https://groups.google.com/forum/?fromgroups#!forum/comp.lang.prolog comp.lang.prolog].


Other useful links include:
Other useful links include:


* [[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 [[Prolog programming books]].
* My solutions to some puzzles in Prolog:
* My solutions to some puzzles in Prolog:
** [[The Water Jugs Problem]],
** [[The Water Jugs Problem]],
** [[The Counterfeit Coin Puzzle]],
** [[The Counterfeit Coin Puzzle]],
** [[Cheating Linguists]]?,
** [[Cheating Linguists]]?
** [[Mister X]],
** [[Mister X]],
** [[Zoom Tracks]],
** [[Zoom Tracks]],

Revision as of 16:11, 8 May 2016

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 30 years ago, it has been my preferred programming language.

Why use Prolog?

Prolog is a tool for solving problems, rather than producing “software products”, 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.