4 ms·
Clojure is not easy, but it is simple, as Rich Hicky explained. For the trivial projects, you won’t find yourself bulding products faster in this stack compared
by titanix88 5y ago
Clojure is not easy, but it is simple, as Rich Hicky explained.
For the trivial projects, you won’t find yourself bulding products faster in this stack compared to others.
To feel productive, you need to amortize your time spent learning Clojure over the time saved building and maintaining complex, non-trivial projects.
I can’t say for Elm as I never tried it. But, as a mostly backend developer, moving from Javascript to Clojurescript was a huge enablement for me. I am a rather mediocre programmer in a two man team. Still, with Clojure/Clojurescript, I was able to make something I could only dream about before.
- uxcolumbo 5y agoSo you're using CLJS for the backend? Also, can you explain what you mean with the following: "with Clojure/Clojurescript, I was able to make something I could only dream about before." What does CLJS enable you to do that you can't do with JS / TS? PS. I'm in a somewhat similar boat, i.e. not a great programmer (not my job anyway) - more of a prototyper - hence my interest in your experience with CLJS.
- titanix88 5y agoNo. I am using Clojurescript for frontend. What I meant was that my strong point is server side programming and I lack experience and time to master all the nooks and cranies of programming in Javascript. I built a voice broadcasting service as a side project in Clojure, built on top of freeswitch and Datomic. From low level library (freeswitch-clj) to API server and frontend SPA, all in Clojure(script). The whole system is approximately 32K SLOC, written over 3.5 years. I have tried similar projects with other stack, mainly with PHP+js and python+js. None went as far as this one. Although we are yet to make a profit, I am very satisfied with the whole development process and subsequent maintainability offered by Clojure. In frontend, we are using reframe + antd react UI library, along with other necessary glue libraries from npm. Project website: https://www.dandydialer.com https://www.dandydialer.com SPA: https://app.dandydialer.com https://app.dandydialer.com API: https://api.dandydialer.com/public/swagger/index.html https://api.dandydialer.com/public/swagger/index.html Open source Freeswitch event socket library: https://github.com/titonbarua/freeswitch-clj https://github.com/titonbarua/freeswitch-clj
- uxcolumbo 5y agoThis is great - thanks for clarifying - I'll check it out. And good luck with your project!