4 ms·
This is all nice and exciting until you start to 1) Debug code, the high density of clojure code means that this is really painful. 2) Read code you wrote a wh
by hsaliak 7y ago
This is all nice and exciting until you start to
1) Debug code, the high density of clojure code means that this is really painful.
2) Read code you wrote a while back. The high density of clojure code means that this is really painful.
- BWStearns 7y agoI find the high density makes debugging easier (up to a point) when combined with immutability. Being able to quickly stub/swap out a referentially transparent branch of the code while knowing you haven't more broadly changed behavior can be really useful. Also code density means you're more likely to be pointed to the line (or within a few lines) of where the actual problem is. This may be personal preference but I'd rather debug 1-5 dense line than 20-50 sparse lines given the equivalent code quality and functionality.
- nimih 7y agoAnecdotally, clojure seems to have a very nice subset of the language which is easy to debug and expressive enough to solve most problems effectively and naturally. What makes clojure exciting [for me] isn't the ability to build efficient transducers or create powerful custom syntax or build complicated value-level dispatch hierarchies (and in my experience, although they are cool and fun to use, all of these things certainly do make for code which is hard to understand and harder to debug), it's the comprehensive and easily-composable functional programming primitives, excellent built-in immutable data structures with intuitive shared interfaces, practical and (for the most part) straightforward approach to polymorphism, and sane approach to concurrency.
- kgwxd 7y agoHigh density?
- hsaliak 7y agoyou can accomplish a lot in a few lines of clojure
- vnorilo 7y agoFor me, the balancing factor is that there is much less code to debug or read.
- badsavage 7y agolooks like you don't know FP pure functions are completely separate to every other parts of your software, they are very readable and easy to debug * edit: don't write functions longer than a few lines
- iLemming 7y agoThis. I've been using Clojure for a few years. Only once I had to actually use a debugger. Just out of curiosity.