Prolog
Hacker ApprovedRanked 31 of 163 programming languages by recommenders
Recommended as a mind-expanding declarative language that solves search, parsing and rule-based problems in very concise code, though critics say it's narrow and hard to learn.
Recommended as a mind-expanding declarative language that solves search, parsing and rule-based problems in very concise code, though critics say it's narrow and hard to learn.
127 people gave an opinion
- recommend it
- 97
- criticize it
- 30
- approval share
- 76%
Recommended in 12 of 13 months
- November 2025: recommended
- December 2025: recommended
- January 2026: recommended
- February 2026: recommended
- March 2026: recommended
- April 2026: recommended
- May 2026: recommended
- June 2026: recommended
- July 2026: recommended
- August 2026: recommended
- September 2026: recommended
- October 2026: recommended
- November 2026: not recommended (month in progress)
Owned for 18 years
Median of the 6 owners who said how long they have had it.
Each square is one year.
Why it carries the badge
- 97 people recommend itNeeds 10 or more, met.
- 3.2 recommenders for every criticNeeds 2 to 1 or better, met.
- Recommended in 12 of 13 monthsNeeds 4 or more, met.
The same three rules apply to every product, and the badge can’t be bought. How the badge works
What people say about it
The reasons people give, with the number of comments that give each one. Open a reason to read what they said.
Why people recommend it
Each mark is one comment
Declarative rules, interpreter handles execution
“The nice thing about prolog is that you write logical rules, and they can get used in whatever order and direction that is needed.”
Comment from 7 Jan 2026 in “Stop Designing Languages. Write Libraries Instead (2016)” “Prolog searches through a space of logical proposition (constraints) and finds conditions that lead to solutions (if one exists).”
Comment from 12 Nov 2025 in “Learn Prolog Now (2006)” “Plenty of problems involve a lot of parsing and searching, both could be expressed declaratively in Prolog and it just works”
Comment from 30 Nov 2025 in “Advent of Code 2025” - Comment from 12 Nov 2025 in “Learn Prolog Now (2006)”
- Comment from 8 Jan 2026 in “Stop Designing Languages. Write Libraries Instead (2016)”
- Comment from 18 May 2026 in “Prolog Coding Horror”
- Comment from 16 Jan 2026 in “My Gripes with Prolog”
Very concise, succinct programs
“Prolog has a beautiful unification-based "pattern-matching"-style syntax that results in very succinct programs.”
Comment from 23 Aug 2026 in “A Friendly Introduction to Racket” “It's pretty mind-bending what it can accomplish and how concise the resulting programs tend to be.”
Comment from 6 Oct 2026 on Hacker News “Prolog is an excellent language for expressing certain types of problems in a very concise way”
Comment from 13 Nov 2025 in “Learn Prolog Now (2006)” - Comment from 12 Nov 2025 in “Learn Prolog Now (2006)”
Mind-expanding way to think
“Prolog is a great language to learn. But I wouldn't want to use it for anything more than what its directly good at.”
Comment from 12 Nov 2025 in “Learn Prolog Now (2006)” “I find myself reaching for Prolog in cases that are entirely orthogonal to any kind of code I used to write before”
Comment from 6 Aug 2026 in “Sula: A Gemini protocol server written in Scryer Prolog” “the value for me of learning Prolog was being awakened to a refreshingly different way of expressing a program”
Comment from 12 Nov 2025 in “Learn Prolog Now (2006)” - Comment from 22 Jul 2026 in “The Birth of Prolog (1996)”
Code as data, easy meta-interpreters
“I find myself reaching for Prolog in cases that are entirely orthogonal to any kind of code I used to write before”
Comment from 6 Aug 2026 in “Sula: A Gemini protocol server written in Scryer Prolog” “Since Prolog programs are just Prolog data structures, it is easy to write Prolog meta-interpreters which generate or consume Prolog code.”
Comment from 16 Jan 2026 in “My Gripes with Prolog” “It is designed to be metainterpreted with the same ease in which a for-loop might be written in another language.”
Comment from 7 Mar 2026 in “ΛProlog: Logic programming in higher-order logic” - Comment from 17 Jan 2026 in “My Gripes with Prolog”
What people warn about
Each mark is one comment
Only good for narrow problems
“Seems more like an interesting research project than something I'd ever deploy in an application serving millions of users”
Comment from 8 Jan 2026 in “Stop Designing Languages. Write Libraries Instead (2016)” “Prolog is a great language to learn. But I wouldn't want to use it for anything more than what its directly good at.”
Comment from 12 Nov 2025 in “Learn Prolog Now (2006)” “Prolog handles anything you want to say in formal logic very well (at the cost of not doing anything else well).”
Comment from 13 Nov 2025 in “Learn Prolog Now (2006)” - Comment from 20 Apr 2026 in “The seven programming ur-languages”
Steep, confusing learning curve
“After trying for a while, I got frustrated and asked the teacher if I could do it in Ruby instead.”
Comment from 24 Feb 2026 in “ΛProlog: Logic programming in higher-order logic” “I found it very confusing: trying to code A*, N-Queens, or anything in it was just too much.”
Comment from 12 Nov 2025 in “Learn Prolog Now (2006)” “It took me a lot to be able to do anything more than simple Hello World level things”
Comment from 13 May 2026 in “Why senior developers fail to communicate their expertise” Search explodes, order-dependent evaluation
“as soon as you do something actually complicated, you realize that the different optimization modes of the engine give different results”
Comment from 17 May 2026 in “Prolog Basics Explained with Pokémon” “With Prolog, the calls can quickly become a combinatorial explosion of search space, leading to a program which does not finish at all”
Comment from 18 May 2026 in “Prolog Basics Explained with Pokémon” “prolog rule evaluation depends on the order the rules are presented in the program”
Comment from 17 May 2026 in “Prolog Coding Horror” Could just be a library
“Prolog is a contrived example. It's small and simple enough to be implemented as a DSL embedded in another language”
Comment from 7 Jan 2026 in “Stop Designing Languages. Write Libraries Instead (2016)” “It's a language that should have just been a library. There's nothing noteworthy about it”
Comment from 13 Nov 2025 in “Learn Prolog Now (2006)”
Other programming languages people recommend
The four most recommended other programming languages, with the same counts for each, so you can compare like for like. The tick on each bar marks the 2 to 1 line the badge needs.
See all 163 programming languages, rankedWhat people said
40 of the 176 comments that mention it, newest first. Each links to the original comment.
“It's pretty mind-bending what it can accomplish and how concise the resulting programs tend to be.”
“Prolog loses much of its power and intuitiveness to become a barebones functional PL without much going for it”
“Prolog has a beautiful unification-based "pattern-matching"-style syntax that results in very succinct programs.”
“Prolog is great in applications that must be able to analyze, extend, adapt, reason about and give account of their own workings and results”
“I find myself reaching for Prolog in cases that are entirely orthogonal to any kind of code I used to write before”
“It’s such a fun language to program in because it forces you to think in relationships and facts.”
“they know what reproducibility means instead of what LLM's slop around were by design they are stacking errors over time.”
“The language gives you sensible tools to deal with edge cases that otherwise require you to jump through hoops or import libraries”
“With Prolog, the calls can quickly become a combinatorial explosion of search space, leading to a program which does not finish at all”
“Prolog is useful everywhere it's simple to express a rule but not that easy to implement it.”
“prolog rule evaluation depends on the order the rules are presented in the program”
“as soon as you do something actually complicated, you realize that the different optimization modes of the engine give different results”
“It took me a lot to be able to do anything more than simple Hello World level things”
“I tried many things in Prolog but ordinary languages often proved to be more suitable.”
“You're dancing around many of the same ideas, including backwards execution, constraint programming, stratification, and finding possible values.”
“It is designed to be metainterpreted with the same ease in which a for-loop might be written in another language.”
“After trying for a while, I got frustrated and asked the teacher if I could do it in Ruby instead.”
“very-high-level scripting-languages with more rigorous semantics (e.g. homoiconicity)”
“I think that's a feature not a bug, because it allows you to create bidirectional formulas”
“The ability to just use infix and compound terms in a generic way without it being tied to a clause or operator is a huge feature.”
“Since Prolog programs are just Prolog data structures, it is easy to write Prolog meta-interpreters which generate or consume Prolog code.”
“It's not supposed to look like your friendly neighbourhood programming language because it's mathematical notation.”
“It was cool to learn Prolog, but I wish it had been a whole course on just Prolog and actual present-day use-cases”
“Prolog showed that declarative beats imperative for problems where you can formalize the rules.”
“Seems more like an interesting research project than something I'd ever deploy in an application serving millions of users”
“Prolog is a contrived example. It's small and simple enough to be implemented as a DSL embedded in another language”
“The nice thing about prolog is that you write logical rules, and they can get used in whatever order and direction that is needed.”
“Plenty of problems involve a lot of parsing and searching, both could be expressed declaratively in Prolog and it just works”
“Prolog comes built-in with a universal problem solver, SLD-Resolution, that can solve any problem a human programmer can pose to it.”
“It's a language that should have just been a library. There's nothing noteworthy about it”
“Prolog is an excellent language for expressing certain types of problems in a very concise way”
“Prolog handles anything you want to say in formal logic very well (at the cost of not doing anything else well).”
“it's certainly fair to say that expressing many programs is easier in Prolog than Fortran”
“Professionals write Prolog by focusing on the predicates and relations and leaving the execution flow to the interpreter.”
“Prolog is a great language to learn. But I wouldn't want to use it for anything more than what its directly good at.”
“I found it very confusing: trying to code A*, N-Queens, or anything in it was just too much.”
“Prolog searches through a space of logical proposition (constraints) and finds conditions that lead to solutions (if one exists).”
“that code will work X orders magnitude faster and with 100% reliability compared to much more inferior LLM reasoning capabilities”
“the value for me of learning Prolog was being awakened to a refreshingly different way of expressing a program”
“Prolog is beyond a power tool. A one-off bit of experimental tech built by the greatest minds of a forgotten generation.”
Counts come from 1,795,640 Hacker News comments, November 2025 to November 2026. How we count. Report a mistake.