Prolog
/PROH-log/ · noun · Development · Origin: 1972
Definitions
A logic programming language where programs are expressed as relations and rules rather than step-by-step instructions. Prolog's built-in backtracking search engine makes it natural for AI applications, expert systems, natural language processing, and constraint satisfaction problems.
In plain English: A programming language where you describe rules and relationships, and the computer figures out the answers on its own, like a logic puzzle solver.
Example: I wrote a Sudoku solver in Prolog — it's literally just the rules of Sudoku, and Prolog figures out the rest.
Origin Story
PROgramming in LOGic: the language that reasons backward
Alain Colmerauer and Philippe Roussel created Prolog at the University of Aix-Marseille in 1972. They were working on natural language processing and needed a way to express logical relationships that a computer could reason about.
The name **Prolog** is short for **"PROgrammation en LOGique"** (Programming in Logic) in French. Unlike conventional languages where you tell the computer *how* to solve a problem, in Prolog you declare *what* the problem is, and the runtime figures out the solution.
Japan's ambitious Fifth Generation Computer Systems project (1982-1992) chose Prolog as its core language, aiming to build AI-capable computers. The project ultimately fell short of its goals, but Prolog remains the go-to language for rule-based AI, expert systems, and computational linguistics.
Coined by: Alain Colmerauer, Philippe Roussel
Context: University of Aix-Marseille, France, 1972
Fun fact: Prolog uses 'backward chaining' -- it starts with the goal and works backward to find facts that support it, much like a detective solving a case. Erlang was originally implemented in Prolog, which influenced Erlang's pattern-matching syntax.