ClojureBridge/curriculum

Need to decide on editor for curriculum

Closed this issue · 5 comments

As I see it, there's four real choices: Nightcode, Catnip, Light Table, and Cursive Clojure. Here's the current knowledge about all four:

Nightcode

Simple Clojure IDE written in Clojure. Reasonably user-friendly.

  • Crossplatform? Yes; it's a Java .jar file that should run everywhere. It's not quite as nice as having a normal OS X or Windows executable.
  • Includes Leiningen? Yes, but doesn't expose all the tasks. If we make deployment a Leiningen task, we'll need lein installed separately.
  • Students can continue to use this afterwards for further Clojure projects.
  • Clinton's take: Not bad.

Catnip

Web-based editor, runs in the browser. Provided as a lein plugin.

  • Crossplatform? Yes; it's web-based.
  • Includes Leiningen? No. It's a lein task, so all Leiningen interaction would be at the command-line.
  • Pretty good, but doesn't stand up to very large projects well. Students would likely migrate to another editor if they kept using Clojure.
  • Clinton's take: The simplest solution.

Light Table

Next-generation Clojure (+ Javascript and Python) editor/IDE.

  • Crossplatform? Yes. Doesn't work with OS X 10.6 and earlier, though.
  • Includes Leiningen? Yes, but like Nightcode, you'd still need to install it locally, so it isn't a perfect integration.
  • Students could continue to use this afterward for further projects.
  • Still in beta.
  • Clinton's take: Still not reliable enough to use. Recommend using something else.

Cursive Clojure

Plugin for IntelliJ. A true IDE.

  • Crossplatform? Yes. Pretty heavy-weight, though; you wouldn't want to run it on an underpowered machine.
  • Includes Leiningen? Yes. Exposes it very well. Command-line not needed.
  • Students could continue to use this afterward for further projects easily. IntelliJ is well-known and loved among devs.
  • Still in beta.
  • Clinton's take: I use this professionally. It's the most complicated, but you don't have to know much to get started. I think this or Nightcode are the best options.

I started a discussion in the ClojureBridge Workshops group because I know other people have experience and strong opinions. I'm curious to see if anything gets unearthed that we can use here.

Cursive Clojure is great by all reports, but I foresee a headache with getting a professional grade IDE installed and running. Plus: licenses?

My intuition is that this is really between Nightcode and Light Table. But the reality is that this is really about whoever is going to write up the install instructions and test them out and what choices that person makes. :)

@bridgethillyer Licenses aren't a problem: the IntelliJ Community Edition (free) works with Cursive Clojure. It's easy to install, but underpowered machines will suffer.

I'm leaning strongly toward Nightcode based on 1) personal experience, 2) conversations with multiple people who have done beginner Clojure sessions at workplaces or meetups, 3) good discussion on the ClojureBridge Workshops list. My suggestion is that, due to time, we limit the installation instructions we write to just two of these, then test those both with willing testers. Nightcode is done.

Clinton - what do you think is the strongest runner-up to Nightcode?

I would have said Cursive Clojure, but commentary elsewhere has been pretty negative on that idea. Catnip is so simple to get started with that I'd go with that.

Nightcode it is!