What is Prolog?
A. is an opening to a story that establishes the context and gives background details, often some earlier story that ties into the main one.
B. is a high-level computer programming language first devised for artificial intelligence applications.
Of course its B. But, what REALLY IS Prolog?
There are different approaches to software development other than using a traditional language. Other types of useful languages exist, such as Prolog. Prolog is a logic programming language from the 1970s that is still one of the main programming languages used in artificial intelligence and computational linguistics. Prolog is Turing complete and uses logic to answer complex questions.
A great introduction to the Prolog language is at this academic website.
In Prolog, a developer defines facts and relations as well as rules regarding relations. Using the facts, relations, and rules, the system can answer questions about what things are, what they do, and how they relate.
As a logic programming language, Prolog depends on formal logic, specifically, predicate logic. Instead of telling the computer every step of how to do something, as in a traditional programming language, Prolog uses definitions and rules to answer questions using logic.
Many academic and research applications in artificial intelligence use Prolog. Professors often teach students about artificial intelligence by having them work on projects based in Prolog.
Here are some non-academic uses of Prolog (summarized from this site):
- An expert system for figuring out the best way to raise pigs
- Weather forecasting
- Monitoring air pollution levels in industrial plants
- Modeling water supply
- An expert system for helping workers use proper electrical process specifications
- Keeping track of sports information
A popular implementation of Prolog is SWI-Prolog. SWI-Prolog is an open-source, free version of Prolog that you can even try online. Some developers use SWI-Prolog to develop web applications. Check out this tutorial to see how web development is possible with SWI-Prolog.
For more information about software development techniques and tools, or if you have an Artificial Intelligence application need, please contact us