Hacker News new | past | comments | ask | show | jobs | submit login

Clojure is one of the most addictive languages I've ever worked in. I can see why so many people pick it up as something to build hobby projects with, it's just so damn fun to write.



I'd love to dive into it more but the startup time for Lein just absolutely kills me.

10s to build, 15s for REPL. This is on a laptop that handles VS2015, Rust and many other languages fine.


Ideally, you wouldn't be restarting the process all that often. I'll typically be REPL'd in for quite a few hours at a time as I'm developing (only reason for restarts is usually pulling in new dependencies, or if your state gets out of whack; which is something that doesn't happen all that often after adopting Stuart's "reloaded" workflow based on component)


Stuart Sierra's Component: https://github.com/stuartsierra/component

and his 'reloaded' workflow: http://thinkrelevance.com/blog/2013/06/04/clojure-workflow-r...

I haven't looked into them but the lein startup time kills me too. I love Clojure but I am looking at alternatives like Racket because of this.


People seriously switch languages based on the time it takes their dev environment to boot up?


I can't speak for other people, but I guess being a person and considering switching from Clojure because the development workflow has a long feedback cycle that the answer to your question is a yes?

I have Ring reloading code for me as it changes, however if there is a syntax error or exception in a thread, code doesn't get reloaded and strangeness ensues, requiring me to kill the jvm instance and start it up again. Stuart Sierra talks about this problem in his reloaded workflow, and how it's still a problem for him, but he at least now has a faster way of refreshing his app instances.


The REPL takes a bit to start, and then I leave it running for days. The startup time really has nothing to do with the development experience once you're in the system. Even very large projects compile in less than a second for me.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

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

Search: