Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

Is there such thing as a good multi-paradigm language?

Name: Anonymous 2018-01-25 7:56

I'm not a man blindly devoted to a single paradigm. I understand the advantages of functional, but I don't despise procedural, and if it makes things easier I'll even do object oriented. actors, relations, flows and logic are not paradigms I use often, but they can prove invaluable when the need arises. typefaggotry or dynamic typing? I can do both.

here's a problem though: most of the supposedly multi-paradigm languages clearly suffer from paradigm favoritism, and something will always get the shaft. most lithps can do anything, but what they do well is meta and functional (inb4 typefags claiming it's not teh real functional). OCaml and derivatives are clearly functional-first, and doing OOP in them feels kinda wrong. and as much as I enjoy FIOC (I know, heresy), its unbelievably half-baked when it comes to functional and concurrent (and even its OOP could be better: implicit self would make shit less tedious). I know, there's always Common Lisp. but Common Lisp is an overcomplicated mess (plus, it's Lisp-2 which sucks).

is it the inevitable fate of the multi-paradigm? either half-baking half of the things or making an incomprehensible, chaotic and over-engineered meta-language? is it possible to avoid those two pitfalls, or does it only lead to falling into both at the same time like Sepples did?

Name: Anonymous 2018-01-29 8:16

>>34
Clojure is absolute garbage. There are some nice things you can do with it, but once you step out of the scope of the fancy homepage demos, you get acquainted with the fucking Java monstrosity hiding below it. It's somehow less usable than plain Java. Every error is cryptic. It's the dumbest compiler I've ever seen. You get stack traces that go straight to some internal JVM code. The documentation is garbage. It's easier to just look up the implememtation code on github than try to understand Rich Hickey's ramblings. Also, the "standard" way of doing anything nontrivial is always to do Java interop.

It's actually nice as an alternative syntax for Java. Macros at least were done right. If you have to write some small Java program and are very familiar with the Java standard libraries, use Clojure. If you want Lisp, use Lisp.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List