5 ms·
I wrote about my journey covering Clojure's pros and cons: https://medium.com/swlh/what-i-learned-after-writing-clojure-for-424-days-straight-8884ec471f8e https
by shivekkhurana 5y ago
I wrote about my journey covering Clojure's pros and cons:
https://medium.com/swlh/what-i-learned-after-writing-clojure-for-424-days-straight-8884ec471f8e https://medium.com/swlh/what-i-learned-after-writing-clojure...
- CraigJPerry 5y agoYour talk linked from https://shivekkhurana.medium.com/reaching-flow-state-with-clojures-repl-231f0f28d972 https://shivekkhurana.medium.com/reaching-flow-state-with-cl... was absolutely brilliant.
- jjwiseman 5y ago"It has a slow startup time. Clojure runs on the JVM and has a significantly slower startup time compared to Node. Again, this is only a problem from an outsider’s perspective. We have REPL. You start the app only once, and it keeps running in the background. You can interactively include new changes, without having to startup every time." I've been using Clojure for about 8 years and this is one of the talking points I find most annoying. The slow startup time is a disadvantage, and it should be owned. It disqualifies clojure from a large class of applications and if you're not honest about it you lose credibility, and you retard potential attempts to solve it. It doesn't mean you can't write software with Clojure, but be honest about the fact that it makes lots of types of usage (not all) a poor match.
- jjwiseman 5y agoThe faster startup time is one reason I've thought that clojurescript on Node (shadow-cljs makes this really easy) could become more popular than Clojure Classic.
- fnordsensei 5y agoRight. I find it annoying too, but for the opposite reason. Since GraalVM, Babashka, and before them Lumo and Planck, or just plain CLJS + NodeJS, Clojure (the language) has several answers to those use cases, and it’s unclear to me at least why this is a point of contention regarding Clojure (the JVM implementation). Should we also bash CLJS for being single threaded?
- jjwiseman 5y agoAnd now that it's honestly approached as a potential issue, you can talk about the tradeoffs involved here. I haven't followed those projects closely so correct me if I'm wrong, but Babashka is an interpreter that implements a "substantial subset" of Clojure, right? GraalVM seems amazing, but it also is not a guaranteed seamless experience, either (no eval, partial support for reflection).
- divs1210 5y agoIf you want fast-starting CLI apps in Clojure, there's a wide variety of options such as: - CLJS + node - Babashka - Graal native compiled Clojure Here's a fast-starting CLI app I made in CLJS+node: https://github.com/hugit-project/hugit https://github.com/hugit-project/hugit