From the post:
“This is my workflow. There are many like it, but this one is mine.” –Anon.
This is the first in a sequence of posts about my current workflow for developing in Clojure. I call this workflow “advanced” because it takes time to learn the various tools involved, but also because it allows me to tackle harder problems than I otherwise could.
The basic ingredients of this workflow are:
- Lisp-related editor enhancements, including parenthesis magic, and, especially, in-editor REPL integration.
- Continuous testing with instant display of results
- Notebook-style semi-literate programming with continuous updating of documentation, display of math symbols, and in-page plots.
My setup has evolved over time and I expect it will be different by the time most people read this. I have found, though, that the right combination of tools allows me not only to manipulate Clojure code and see results quickly, but also to think more clearly about the problem at hand. In my experience, this leads to simpler, more elegant, more maintainable code.
These tools and techniques provide a sort of “sweet-spot” – they help me be productive in the language, and I find them fun to use together. Your mileage may vary – I have seen people be productive with vastly different workflows and toolsets.
In the first post in this series (Emacs Customization for Clojure) we learn:
I have been using Emacs since the 1990s, though I still consider myself a novice (Emacs is that way). Though good alternatives exist, over half of the Clojure community has adopted Emacs despite its lack of polish and its Himalayan learning curve. Emacs is massively customizable, with hundreds of plugins available, and can be extended to just about any degree using its own flavor of Lisp.
Could over half of the Clojure community be wrong?
It’s possible, but highly unlikely. 😉
I first saw this in a tweet by Christophe Lalanne.