Skip to content

Need to decide on editor for curriculum #3

@cndreisbach

Description

@cndreisbach

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions