Hacker News new | past | comments | ask | show | jobs | submit login

As someone who has had a hell of a time setting up and consistently getting running certain programming language environments, this appeals to me greatly. It was countless headaches getting Clojure to work, and I still can't update cabal for Haskell without breaking everything.



I don't understand what's so hard to get clojure to work. You only need Java and lein, and that's about it.

Af for Haskel cabal hell, just use "cabal sandbox" and be happy.


A few comments here:

- Some people (myself included) do not want to install Java on their desktop. Among other reasons, Java is a frequent source of security vulnerabilities. This allows you to use Java-based applications without installing the JVM on your desktop.

- Some applications require specific versions of Java to work correctly. I may want to do Clojure with the latest JVM while another application might require Java 6. With Spoon, you can handle this easily:

  > spoon run jre:8.0,modern-project
  > spoon run jre:6.45,legacy-project
- If you have other servers or components (databases, apache/nginx, etc), those can be installed in the same container or linked together in other containers. Many projects come with a long list of setup instructions (install this, change that flag, etc). With containers, those go away -- just publish a pre-configured dev environment.

- Spoon containers in particular support a concept called "continuation" that stores transient container state between commits. If you mess up your dev environment, you can restart execution at a specific state ID. This is also extremely powerful for testing. And continuation points migrate between machines -- if you want to continue your work on a different box, just execute the same "spoon continue" instruction and your container restarts.

And for clarity, these are built on lightweight VMs, not whole OS VMs. Spin up time is very rapid (excluding of course any time to download images) and you can run dozens of containers on your box with minimal overhead. (Will address this point in more detail in response to a separate thread.)


Thanks -- we have a Clojure image up already:

> spoon run clojure

and Haskell/Cabal sounds like a great idea as well.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: