This week's book giveaway is in the Reactive Progamming forum. We're giving away four copies of Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams and have Adam Davis on-line! See this thread for details.
Excellent advice! I started dipping into LightTable as soon as the first version became available, moving up to one day a week by the time 0.5.0 appeared. When 0.6.0 appeared, I switched to it full-time for all my development - not just Clojure. I came from two years of Emacs so I've installed the Emacs plugin for LT and enabled Emacs mode in the underlying CodeMirror editor. There are a lot of useful plugins - and REPL/inline-eval for an increasingly wide selection of languages - and it keeps growing from strength to strength.
It's definitely still a "developer's editor" rather than a general IDE: it needs some care and feeding, and it still has a bunch of quirks. But it's usable on a day-to-day basis now, despite that.
I find the live eval feature to be so overwhelmingly useful that I'm willing to put up with the quirks.
I usually have three tabsets open (three columns) with console on the left, my source file in the middle, my test file on the right. I write the ns declaration in both files and then ctl-shift-enter eval the whole source file and then ctl-shift-enter eval the whole test file, then I work back and forth between the tests and the code slowly growing my code over time, and evaluating each form as I write it (ctl-enter). I have a custom keymap for ctl-c , to run my Expectations (it's bound to [(:eval.custom "(expectations/run-tests [*ns*])")] so that it evaluates whatever tests have been defined.
The immediately feedback and the ability to have really small increments of code for exploration and testing is incredibly valuable.
I'm also using core.typed so I can overlay strong typing if I want (and I have ctl-c t bound to [(:eval.custom "(clojure.core.typed/check-ns)")] to run type checking on my code "instantly").
Results appear inline in the source / test files, and console output appears continuously in the left tabset so you get both immediate and detailed information about your code works - or doesn't.
I spent the morning putting in a comma and the afternoon removing it.
-- Gustave Flaubert, French realist novelist (1821-1880)