This Prolog Life: Difference between revisions
Jump to navigation
Jump to search
(13 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== | ==Prolog== | ||
Ever since I first learned Prolog, more than | 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 | 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 | * 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 | * 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 [ | 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. | ||
* XML documents and Prolog terms have the same | * 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 [ | * 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:
- 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.
- Recommended Prolog programming books.
- My solutions to some puzzles in Prolog:
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.