Excluding silly languages like whitespace and malbolge, what’s your least favorite language to program in? No poll, since the amount of languages out there is pretty large, and I’m not going to write a huge list only to miss some Allegro LISP or something similarly arbitrary.
Mine is Prolog. I. Hate. Prolog. It operates under the guise of basically being “programming in first order logic, where you don’t have to worry about implementation details.” But every damn bug I’ve had in the language has been an implementation detail, and often betrays logic programming. “And” clauses should be order independent, they’re not. I understand the reason for this, logically, it would probably makes things harder if you had no guaranteed order, but I’ve had some insane infinite recursion bugs I’ve spent hours trying to find because I misordered a length and an append predicate.
The syntax is also unintuitive if it’s not your first language, the concept that you have to pass an uninstantiated variable to get a binding is rather annoying, but would be more tolerable if it weren’t so picky about exactly what can be uninstantiated. If I have a predicate like:
a(X,Y,Z) :- Z is X + Y.
You may, reasonably, think “okay, maybe I can’t say a(X,Y,5) because those are infinite results.” But the way the language forces you to think (binding variables in terms of other variables via predicate), you’re often tempted to do things like a(3,Y,2), but it will give you an uninstantiated variable error since it’s arithmetic. But even then, you can’t overload “a” because then whichever predicate it queries first will throw an error depending on whether you have a specific variable uninstantiated or not. Yes, I’m aware that in pretty much every other programming language you couldn’t do what I’m asking, my point is Prolog tries to lead you down thinking a certain path, but then refuses to allow you to complete that thought. It drives me insane.
So what programming languages do you hate with the passionate fury of a thousand suns?
Edit: Honorable mention is Ocaml. Not because it’s a particularly bad language, it’s actually rather cool in some ways, but rather because ocamlc (the standard compiler) has exactly one syntax error called “syntax error”, and it makes debugging a nightmare.