Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The tooling is actually great, but kind of hard to discover if you're a beginner. The clojure.org website isn't very beginner-friendly, unfortunately.

Types... I find most people missing static type checking are really reliant on a certain way of programming which isn't applicable to Clojure, e.g. write code, look for red squiggly lines, fix type signatures, compile, wait, fix the bugs the compiler tells you about.

Clojure is much more exploratory in the way that you are always connected to a live system (like other Lisps) plus most of your functions are small and pure, making their logic self-contained and simple to deal with in isolation.



That mirrors some of my experience of Java vs a repl heavy Python habit, BUT — this misses the experience of diving into and reading unfamiliar or new codebases. For me, this is where the chunky type system and regularity of even the worst maintained Java codebases really shines.


> Types... I find most people missing static type checking are really reliant on a certain way of programming which isn't applicable to Clojure, e.g. write code, look for red squiggly lines, fix type signatures, compile, wait, fix the bugs the compiler tells you about.

I use a repl in Haskell just as much as I used a repl in Clojure.

The development experience is also somewhat similar if we're talking in terms of what you described here. In Clojure, you also fix the bugs the compiler tells you about, except the compiler in this case is one you partially implement yourself with a test suite.

> plus most of your functions are small and pure, making their logic self-contained and simple to deal with in isolation.

This is hardly exclusive to Clojure.


Maybe I wasn't describing you then.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: