Prolog 29th most popular language according to TIOBE Index

The annual “top of the 2020 pops” for programing languages is out at
https://www.tiobe.com/tiobe-index/

While Python ranked third overall, it won the “language of the year” award due to showing the fastest annual growth of 2.01%, narrowly beating fourth placed C++ which grew 1.99%.

Prolog was ranked at 29 with 0.48% growth while Lisp was ranked 36 with 0.37% growth – which I think is not bad for “classical languages” in a pop ranking.

The TIOBE index is obviously flamebait, based on how many people searched via Google etc for solutions to problems programming in whatever. One of the few smart comments on slashdot was this means confusing languages have an advantage.

But it does raise the old debate about what can be done to make Prolog more popular.

2 Likes

Make it more confusing?

4 Likes

I don’t think 0.48% is growth. It’s just a current rank against other languages. It doesn’t show if the Prolog’s popularity is growing.

It would be interesting if anybody has stored a historical TIOBE Prolog’s rating.

There are problems with the TIOBE method. Interestingly, arguing over it has been popular ever since it was invented. The question of popularity is what the Germans would call “komisch”. “Well, Hitler was popular!” Is it fair to bring dictators into a discussion of programming languages? We should ask someone from the Python crowd.

Anecdotal evidence, collected by me, suggests that the relevance of the programming language is either a) shrinking; or b) was never a thing. I don’t have historical data going far back enough to be able to tell which one of the two, or both. What I can tell with high confidence is: in a brave new world of serverless cloud-native microservices, an ancient and all but forgotten programming paradigm has taken over the software world. Its second coming was prophesied in a dry, academic treatment of programming languages:

At a neighborhood Italian restaurant Rasmus Lerdorf realizes that his plate of spaghetti is an excellent model for understanding the World Wide Web…

[emphasis mine]

Which programming language, which technology will tame and harness the power of spaghetti? Will this trigger the technological singularity or is it a reincarnation in an endless cycle of transmigration and rebirth?

4 Likes

Thanks for the link to the satirical history of programming languages (which I think shows a lot of underlying knowledge).

My favourite taxonomy of programming languages is the joke Programming Language Checklist which has “imperative” but not “declarative” in the opening choice.

It does, however, have a bottom line that will survive through the ages:

Programming in this language is an adequate punishment for inventing it.

1 Like

Reminds me of a post by Jan Burse in spring 2017

A recent analysis shows that Prolog seems to become most popular language in the future. Among the current top contenders are Java, Python, … But they are drastically loosing turf as Edward J. Goodwin from the software institute in New Albany, Indiana told. Another commenter involved with machine lerning told us, we run all our prediction models and it seems pretty clear that Prolog will be the raising star in the next 6-18 Months. Meanwhile GitHub has announced it might default the extension .p to Prolog in the future. Many schools started buying the Art of Prolog books, which is currently out of stock at Amazon. A definitive explanation for this surge of Prolog has not yet been found. Professor Sally Popcorn from the Applehart University for Lingustics and Philosophy said, we speculate that the programming language has a genetic advantage in that it provides the logical variable. A concept that was more than 2000 years ago introduced by Aristoteles. She cited various studies that showed that logical variables have clearer semantics, support unicode, dont need a preprocessor, have a parser friendly syntax and are less prone to segmentation faults. index | TIOBE - The Software Quality Company

1 Like

The Art of Prolog was “open access” at The Art of Prolog, Second Edition a short while ago (I availed myself to a free pdf) but seems to have been made “commercial only” again.

A freely available book I really like is Robert Kowalski’s Logic for Problem Solving http://www.doc.ic.ac.uk/~rak/papers/LogicForProblemSolving.pdf which unfortunately doesn’t use novice-friendly Prolog syntax (a common problem with the “classics”).

Alone the fact that TIOBE is supposedly an acronym for “The Importance of Being Earnest” (have you read the play?) makes me strongly suspect that the whole thing is just a masterclass troll move. :slight_smile:

I know, and it was a good one. I tried to hide it a bit by writing “spring 2017”. There was even a response, something along the lines of “Oooh Jan…”

Best,

Matthias

Strange. When I visit swi-prolog.org and then Community, then old mailing list/Google group, then I use the search function with tiobe, I can see two posts (rather threads), yours and one of Annie. And if I select yours, I can see a response “Oh you!” from “steph…”

Nondeterministic behavior all over the place

In 2012 and 2018 it was on position 36:

And there is also a rating daigram:
https://www.tiobe.com/tiobe-index/prolog/

2 Likes

Well most of the time the programming languages marketing
psychology works by the following equation:

pattern matching = one sided unification

Which somehow implies that pattern matching is somehow
the more controlled and better Prolog. Even seasoned Prologers
might fall for this marketing psychology. But the sad truth for
functional programming languages is only:

pattern matching = no logical variables

That Haskell doesn’t have logical variables is best explained by the Slogan:

patterns in Haskell are not first class

You find the slogan here:

Why It’s Nice to be Quoted: Quasiquoting for Haskell
https://www.cs.tufts.edu/comp/150FP/archive/geoff-mainland/quasiquoting.pdf

You find also explanations in the paper why this is so,
and solutions to lift certain limitations, such as Template Haskell,
which provides compile-time metaprogramming facilities.

Edit 09.01.2021:
Woa! Excel going functional programming with lambdas and let:

To illustrate the power of LAMBDA, here’s a function written using the
notation to compute the length of the hypotenuse of a right-angled triangle:

     =LAMBDA( X, Y, SQRT( X*X+Y*Y ) )

LAMBDA complements the March 2020 release of LET, which allows us
to structure the same example like this:

     =LAMBDA( X, Y, LET( XS, X*X, YS, Y*Y, SQRT( XS+YS ) ) )

LAMBDA: The ultimate Excel worksheet function
Published January 25, 2021
https://www.microsoft.com/en-us/research/blog/lambda-the-ultimatae-excel-worksheet-function/

A harsh wind is blowing into the face of Prolog now…

Well, although I personally feel some excitement about that programming languages rankings, much more interest for me is to gain knowledge which companies or business domains have chosen which language and why. Especially if the language of question is not mainstream it is cool to know which problem a company tackles by using this language. This was true in my Smalltalk days, to learn that Smalltalk was on interest at JP Morgan was cool. But unfortunately, for Prolog I have nearly no information where Prolog is used (beside academic research). Sometimes I get the impression that “people who love language X, where X is not C/C++, Java/JS or Python” coming from academic and coming from commercial use don’t find together. But only my personal impression.

Cheers

Hans