DEV Community

Discussion on: What is Clojure(/Script)'s best first run and tooling experience?

Collapse
 
seanthegreat profile image
Sean Antony Brunton

Yeah.. The next best Editor for Clojure, aside from Spacemacs or Emacs is IntelliJ IDEA, using the Cursive plugin.. It's so automated and constantly checks your code. I like it.. I find it a bit more user friendly than Spacemacs or Emacs.. However I personally think it's down to personal preference, to me your preference should with be Spacemacs/Emacs or IntelliJ IDEA with the Cursive plugin for Clojure, which can interact with both Clojure CLI and Leiningen.. I like to use Leiningen.. Just seems more robust to me personally.. I like IntelliJ because it is traditionally adapted for Java, which is what Clojure works with.. It's so nicely automated l, and the interaction with the JVM is like magic. The only time you touch your terminal is when you want to run a REPL.. Still and also Figwheel is just the bomb man.. I love the "eMac-like" REPL.. Called Rebel-Readline.. Just such a joy to use, but it took a while and silly trail errors to get all working as I wanted. It's either Spacemacs or IntelliJ IDEA with the Cursive plugin for Clojure development on the IDE. Keep rocking bud!

Collapse
 
kspeakman profile image
Kasey Speakman

Hey, thanks for the suggestions!

I ended up using VS Code with the Calva plugin. I found VS Code a good option because I am already familiar with it. I wrote a short post on how I set it up to run in a container so I don't have to globally install the JVM on my machine.

I used shadow-cljs to setup the project, and it seems to work well. It adds hot reloading.

Thanks again for your comment!

Collapse
 
seanthegreat profile image
Sean Antony Brunton

Yeah I have VS Code, for some reason I will use that to write Python, as I like to run Jupyter Notebooks from time to time, it's a cool way to learn about something. Just seems better for it (again it's really down to preference). Yep hot reloading is awesome man, I add comments to my code all the time, save just for the hell of it, so that I can see it work. Really cool.

I have this thing in my head that if I work closely with Leiningen, as opposed to CLI, I would better access to ring and it middleware. Figwheel and many other are just built on top of Ring. Just my nature I suppose. Having said that shadow-cljs is more "hands-on" (don't know how else to describe it), give more like turnkey to front end. I'm stubborn though. LoL!