I really like Clojure (and have enjoyed David Nolen's CLJS tutorials and guides), but I find ClojureScript to have terribly arcane tooling. Despite being familiar with Clojure, it's still 10 minutes of cargo-culting and copy-pasting before I can start actually working on a ClojureScript project. Slightly ironic for a language which places such an emphasis on removing "incidental complexity."
Internalizing exactly what all the ClojureScript build options do definitely takes some time and it's frustrating if all you want to do is quickly try some little thing out. But it's for this reason I created the Leiningen templates mies, mies-om, and mies-node. These can get you up and running in a few seconds. For similar reasons other people have created templates for Ring app + ClojureScript, etc.
If Emacs is your thing, which it should be if you do Clojure, DPPs starter project Spiffy, will give you very decent setup in a couple of minutes. https://github.com/dragonmark/spiffy
> If Emacs is your thing, which it should be if you do Clojure,
This is the kind of attitude that keeps people away from your language. The amount of people who shun away from C# simply because they don't like the idea of Windows / Visual Studio should be a hint.
And it's unfounded. Thanks to Lisps unusually regular syntax adding support for semantic editing features (paredit-like) should be rather straightforward in any editor. And accidentally paredit is also enough to make coding any Lisp way more pleasant than editing raw code in other languages.
That's more of a Lisp problem than a Clojure problem. All the Expert Lisp Programmers settled on Emacs many moons ago (as in decades past) and no one has bothered to write another (good) Lisp-friendly text editor since. And well, you can't really write Lisp without a suitable text editor, so all the Lisp neophytes either give up or learn to cope with emacs and eventually forget about replacing it.
all the Lisp neophytes either give up or learn to cope with emacs and eventually forget about replacing it.
This is really not true any more. LightTable is great for beginners, and there are more options for Clojure now. I'm developing Cursive, which is becoming pretty popular - Vim also seems to work well, Counterclockwise is good too.
Even before that, it's shocking how few text editors have basic Lisp indentation and REPL support.
I guess I did forget about Light Table (as AFAIK it doesn't support Scheme or Common Lisp yet), which seems like the right thing to point beginning Clojure programmers to.
Hell, that's probably a big part of why Clojure became more popular than the previous Lisps.
To be fair, I'm on-side with the idea of an environment that adds niceties for your language. However, I agree that you should be able to still have a decent experience without installing or setting up language-specific editors or environments. I've really enjoyed being able to get into Rust with nothing more than Vim and a terminal.
This was only meant as a recommendation, not a command. Lightable, Vim, Eclipse IntelliJ and quite a few others are perfectly viable alternatives. I have just personally found that Emacs to be excellent for Clojure development.
I definitely felt the same but there's quite a few bits of tooling popping up now - lien-mies for a very quick first step, and more powerful bits like figwheel, which makes itterating in the browser with om really shine.