HN2new | past | comments | ask | show | jobs | submitlogin

I have also been using CLJS/Clojure for a solo project. I debated between CL and Clojure for the backend, but CL’s package ecosystem is too weak to be justified. What other languages did you consider for your stack and what did you think were the tradeoffs?


This is sort of a next generation successor to a personal project written years ago in Perl (evolving from a form fit tool to something much more general and flexible). I originally was going to do it in Ruby but after learning Clojure and doing a bunch of book exercises (toy coding tasks) I thought Clojure would be a better fit. (When I learned Python I considered that but it did not seem any better of a fit than Ruby and since my use case was web oriented it seemed like Rails could eventually be useful.) It remains a personal project but one I (unlike the predecessor) think is good enough to eventually open source.

I think my motivators to do in Clojure were edn (dsl files are a key part of what I'm building), the concurrency story being strong, Java interop for libraries (Ruby wasn't necessarily missing anything but without the Java libs Clojure would not be an option), and a general belief that Clojure's overall approach (data oriented, LISP, functional) would prove generally more productive (I believe this is true but have no evidence since I never tried building it in another language). Spec has been an unexpected benefit as it saved me from writing a lot of validation code and because it can be used as a parser for the DSL (it does most of the heavy lifting).

How has your experience with CLJS? I have been using vanilla CLJ but curious to some day try CLJS.


CLJS has been surprisingly good. re-frame really simplified a lot of the development. There are some oddities with trying to work out whether something is a JS problem or a CLJS problem, but for a solo project, it has been pretty good. CLJ/S seems to me a good spot between practicality and idealism (CL being the latter for some things). It's the most practical Lisp atm, and it can't get better than that.




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

Search: