
Clojure 2015 Year in Review - lauriswtf
http://stuartsierra.com/2015/12/31/clojure-2015-year-in-review
======
hellofunk
This year, Clojure cemented itself as my favorite programming language, and I
felt glad to be able to use it daily for my work, as it does take so much
effort off the developer for little things, allowing one to concentrate more
on big things.

However, it was also the year I learned that, while Clojure, as a dynamic
typed language running on a VM, is the best of that class of languages, static
system languages are still irreplaceable for so many other things. This was
the year I realized that one language does not fit all, and that it is okay to
have more than one favorite language. (And in my case, it is Clojure and C++
that I am now using equally, and with equal enjoyment, and for entirely
different reasons).

~~~
modarts
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.

~~~
vvanders
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.

~~~
modarts
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)

~~~
lsh
Stuart Sierra's Component:
[https://github.com/stuartsierra/component](https://github.com/stuartsierra/component)

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

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.

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

~~~
lsh
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.

------
sdegutis
Some days I wish I hadn't completely scrapped and deleted my Mac-only Clojure-
only native IDE. It was fricken cool, even if it wasn't Emacs. I think that
thing had promise. Welp.

~~~
vijaykiran
Isn't it this:
[https://github.com/vijaykiran/Leviathan](https://github.com/vijaykiran/Leviathan)
? I briefly played with code, but never got time to hack on it.

~~~
sdegutis
Oh wait, you didn't find it, you're the one who forked it! I should pay closer
attention to usernames heh. Thanks so much for forking it and holding onto it
for this long. Out of curiosity, if you did have the time, what kind of things
would you have hacked into it?

~~~
vijaykiran
One primary thing I was interested in "visual-structural editing" at least
presenting the program as a nice "pipeline" of functions.

I've been a fan of (disappearing) Cocoa-built IDEs
([http://lists.apple.com/archives/java-
dev/2007/Aug/msg00025.h...](http://lists.apple.com/archives/java-
dev/2007/Aug/msg00025.html) was another one)

