Difference between revisions of "This Prolog Life"

From This Prolog Life
Jump to navigation Jump to search
(Created page with ";John Fletcher's home on the Web __NOTOC__ "Prolog is more than a language - it is a way of living :-)" Bart Demoen ==Prolog== Ever since I first learned Prolog, more than 2...")
 
m (The Wikipedia Prolog page is more current than the comp.lang.prolog FAQ.)
 
(24 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 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 <tt>x = x + 1</tt> 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 &ndash; 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 Frequently Asked Questions for comp.lang.prolog.
If you want to find out about Prolog on the Web, you can start with the [[Wikipedia:Prolog|Wikipedia Prolog page]].


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 &lsquo;tree&rsquo; structure, which makes it easy to program with XML and Prolog. My free  code for [[Parsing XML with Prolog]] makes it even easier.
* Recommended [[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]],
** [[Whodunit?]]
** [[Whodunit]]?


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.
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.

Latest revision as of 20:45, 13 February 2019

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, you can start with the Wikipedia Prolog page.

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.