Hacker News new | ask | show | jobs
by graue 4591 days ago
Didn't see this survey in time to contribute, but I'm one of the tinkerers who's used CLJS more than Clojure. Most of what I've been interested in doing is in-browser. For my last project[1] I used a regular Clojure REPL to clarify my understanding of the standard lib and paste in little functions for testing. Don't remember why I didn't use a browser-connected ClojureScript REPL. Maybe it just didn't seem worth typing "rlwrap lein trampoline cljsbuild repl-listen" when I can type "lein repl" :P

My biggest wish is for the ClojureScript compiler to be less accepting of stupid code. I've made all kinds of moronic mistakes[2] that would ideally yield a warning or even a straight-up error, right at the source, but they don't and I just end up finding data structures full of nils at runtime. I've also hit a few traps with lein-cljsbuild[3][4]. This is all definitely improving though.

I've now started my first real Clojure project, a web app built on Luminus[5]. Luminus kind of strikes me as training wheels for Clojure. It's easy to get started with, and minimizes the sense of foreign-ness coming from a Python web development background. But I doubt I'll still use it once I have more experience, as opposed to simply putting its component libraries (Compojure, Ring, lib-noir, etc.) into a project directly. Which is fine; it fills a valuable role in the ecosystem anyway.

1. https://github.com/graue/dumbbell

2. Example: http://dev.clojure.org/jira/browse/CLJS-639

3. https://github.com/emezeske/lein-cljsbuild/issues/239

4. https://github.com/emezeske/lein-cljsbuild/issues/248

5. http://www.luminusweb.net/

1 comments

The intent behind Luminus is that it's training wheels, but you're still using the "real" tools you'll use when you're making your own services. It's a way to teach people patterns without needing to reify them into a rigid and unnecessary framework.