3 ms·
This article feels kind of like a tease. It mentions all the usual suspects of better code this, and state isolation that. It of course touches on homoiconicity
by Royalaid 9y ago
This article feels kind of like a tease. It mentions all the usual suspects of better code this, and state isolation that. It of course touches on homoiconicity and that code can modify code. It shows a bit of host language interoperability but it never says why any of this Pragmatic beyond the obvious and has just two code examples.
Granted I love Clojure and it does feel very pragmatic but that's more because of the attention to detail put into the language. Examples include the strong host interoperability, mentioned in the article, but also the collections in the standard library and the argument order of functions to allow for things like the threading macros (-> or - >>) work the way they do. Watch any of Rich Hickeys talks (simple made easy or the speculation keynote) and you will get a feel for the thought put into things.
Having said all of this it is important to note that just because of all the praise functional languages are getting doesn't mean there aren't trade-offs. My most recent problem has been dealing with multithreaded map (via Claypoole) calls leading to hanging http requests (in Aleph) and the nice clean layers of abstraction have to be stripped away to assist in debugging the problem.
The grass is always greener on the other side.