TIOBE index. (March 2022 - Prolog - 21)
Looking back can you believe that Prolog was 3 on the list in 1987.
TIOBE index. (March 2022 - Prolog - 21)
Looking back can you believe that Prolog was 3 on the list in 1987.
In 1987, I was working on IBM Prolog.
#1 was C, which was fairly new then (I was TL for IBM’s mainframe C library); #2 was Lisp (and special-purpose hardware was popular - SPARC even had some of its design targeted towards Lisp); #4 was C++ (wasn’t it still using cfront then?); #5 was Basic.
And then came the “AI winter” … are we seeing an “AI spring”?
Interesting that today Prolog ranks above COBOL and Fortran – there’s a lot of legacy software in COBOL (banks, etc.) and a lot of statistics stuff in Fortran (although often wrapped in R).
Prolog broke into the top 20 again a few months ago (should have captured it then for historical use). As of June 2022 it is still at 20.
If Prolog were in the top 5, then we would be in a machine-led utopia by now
“Ruby on Rails” is a terrible design (doesn’t support “undo”, journalling, etc. AFAICT).
But a persistent database of tuples might be a winner … I’m doing a bit of work on @jan’s experimental predicate store using RocksDB; it should be possible to expand this to work with other databases. But first, I want to modify some of my code to use the persistent database and see if it’s performant enough.
Yes, that’s what I don’t like about Rails. My experience with production databases is that directly manipulating the database is often a bad idea (and not just because it doesn’t provide “undo”); and object-relational mapping has its own set of problems (again, from bitter experience).
Rails provides a fast way to get things up and running with a persistent data store; but, if anything, it gets in the way of good database design. (Some day, I should write a blog post about good production database design and why programmers should all learn best practices from how double entry bookkeeping is done …)
Anyway, despite my misgivings, something like a Rails integration with a persistent datastore might be a “killer app” for Prolog, especially as Prolog is a far better query language than SQL.