It’s not as common any more, but there’s still things using logic programming languages (Prolog and similar) even today.
Java uses it in the type checker. From the JVM spec:
The type checker enforces type rules that are specified by means of Prolog clauses.
There’s some other compiler and NLP (natural language processing) use cases for it too. I’ve seen some companies use it to define restraints for their business logic, which isn’t too different from the type checker rules use case.
We did Prolog in university - actually it was one of the two languages we had to learn in CS, the other one being Pascal.
I always considered Prolog a pain in the ass and unsuitable for anything bigger than a piece of homework due to the “we don’t do loops, we have tail recursion” making the code unnecessary complex and hard to read. On a list of Write-Only languages I’d rate it a few steps below Perl.
Old enough they still know Prolog.
And before the time people actually talked about the multidimensional clusterfuck that C become.
Well, to be honest C is still C, but it’s children have run mad.
C changed from the 90’s to now. It got a lot of syntactic improvements, and a ton of semantic madness.
Our C is not the same as the last generation’s.
–std=c99
It doesn’t change the madness. Just the syntax.
It’s not as common any more, but there’s still things using logic programming languages (Prolog and similar) even today.
Java uses it in the type checker. From the JVM spec:
There’s some other compiler and NLP (natural language processing) use cases for it too. I’ve seen some companies use it to define restraints for their business logic, which isn’t too different from the type checker rules use case.
It’s definitely fallen out of common use though.
We did Prolog in university - actually it was one of the two languages we had to learn in CS, the other one being Pascal.
I always considered Prolog a pain in the ass and unsuitable for anything bigger than a piece of homework due to the “we don’t do loops, we have tail recursion” making the code unnecessary complex and hard to read. On a list of Write-Only languages I’d rate it a few steps below Perl.
Tail recursion is just fancy way to loop.
There’s a few things it’s very good at, but anything outside of that tends to be painful.
I also used Pascal and Prolog in university, in my first year. That was… 15 years ago now. Wow.
I’m using Prolog in university right now. And Scala :(