Eve: programming for humans

A few days ago, the Eve project released an ambitious new version of their "programming for humans" environment. It is just the latest in a venerable succession of ideas aimed at humanizing programming, which includes Donald Knuth's literate programming, Bret Victor's Inventing on Principle talk (highly recommended to watch), and Chris Granger's Light Table IDE.

Although Light Table was met with great fanfare when it launched, work on it was halted later as Chris realized that we need to question age-old assumptions more aggressively to fix the act of programming. That's how Eve began. It's been in the research phase for years, but they're finally making exciting progress: the programming model is mostly nailed down.

You can read more about the project's origins on the website. If you're interested in the research, Chris' summary of the last 2 years and the Eve developers blog are fantastic resources.

As an analogy, Eve is like Lisp's simplicity (everything is a record) married to React's philosophy[1] (you never mutate things - instead you return data to represent actions you want to perform). And it manages to stay surprisingly compact without resorting to obsessive LoC optimization - see the 63 line TodoMVC example, for instance.

This looks fun! Where do I dive in?

The best way to start learning Eve is by reading the launch blog post for the motivations, followed by the official quickstart program. Since Eve embraces literate programming, the latter is basically an executable tutorial :)

Need help understanding Eve? Leave a comment below and I'll do my best to explain.

Aside: my first pull request to Eve just got merged! Hopefully there will be many more :)

  1. I don't mean to say that React invented that idea - it just happens to be the most popular example of it in the front-end community. ↩︎