372 karma · joined February 21, 2020
Wouldn't this apply if you are using a static typed language too? what's harder about changing the schema in the DB?
Yes but it's a big time sink, you waste time thinking on how to wrap library, and for some libs you end hitting some blockers cause Clojure's interop is not that smooth, ending up writing two wrappers, one in Java(to make the lib usable from Clojure without pulling your out) and one in Clojure.
And I'm talking about ad-hoc use of Java libs, writing a more idiomatic wrapper is a lot work. The Clojure ecosystem is pretty much abandonware at this point, even for high profile libraries.
In languages with big ecosystems, you simply just use the lib and get work done, no cognitive overhead, no time sink.
Does that includes Vim?
HN probably has the biggest crowd of devs that know (and like) Lisps, even if they don't use it for everyday things. Anything about Lisps gets upvoted quickly but if you look at Clojure posts here in HN, you'll see that all the comments don't really have any substance (also, look at the point to comments ratio of Clojure posts.).
I'll take the one/two days to set up node, express, postgres with libs for now. What takes up the majority of the time is domain modeling anyway.
If someone is not tied to Windows, it's hard to justify this over a $999 MBA.
If someone is not tied to Windows, it's hard to justify this over a $999 MBA.
Curious, from what and why? ML?
The remote code dev extension is another big one.
All those lifetime annotations are not sheer beauty or pretty, sure they are necessary but not nice to look at if you are comparing it to a higher level language.
Racket extends Scheme with useful stuff too for everyday programming but Clojure's immutable data structures with its big library of functions for manipulating them in a nice abstract generic way, with the fact that in runs in the JVM gives it a big edge for "real world" programming IMO. You do need strong knowledge of Java and the JVM for critical services.
Almost all your knowledge of Racket and Scheme will transfer and be valuable for Clojure, so you already know most of it and have a big head start if you plan to learn it.
Something doesn't sound right.
Clojure is also not making this easier(interop) by not keeping up with Java advancements. Ex: functional interfaces