My view of this is: all of us who have written a lot of code feel intuitively there is something wrong with how coding is done. It feels like we are repeating too much work every time, reinventing the wheel for the umpteenth time. It feels like the tools and notations we have are missing something fundamental and thus forcing extra menial work that is not essentially necessary. Eve was one of the multiple attempts at converting that intuition in actual knowledge and in an actual product. They weren't able to do it, same as Intentional Software and others before them, but they explored uncharted territory using that intuition, and that is an interesting exploration. Kudos to them for trying. And hopefully someone will find the underlying core concepts we're missing to make that leap into future programming!
Most successful languages were initially created for a very specific target. C -> UNIX OS. C++ -> network simulations. PHP -> Rasmus's homepage. JS -> interactive web pages. C# -> WinForms apps.<p>From scrolling through that list of prototypes, which are all over the place, it looks like they couldn't decide what language to make because they didn't know what they were making it for. I think there's a real lesson here in being <i>specific</i> with your product at first and then generalizing later. It's very hard to be all things to all people from day one.
Eve's whole focus on "observability" of code and data seems kind of overwhelming imo...<p>I mean, the 2 most successful paradigms for "full-strength" interaction with computers are (1) code in general purpose programming languages and (2) spreadsheets. And they both have one thing in common: <i>only code or only data is visible most of the time (or by default)!</i> I think this is for one simple reason: that's all our monkey brains can take, we only want a small narrow window into one of these 2 domains, and we can barely handle that. We don't really want to "see the data flow" or "the code behind the cells", we want things hidden away 99% of the time, and we want to be spared from the paralyzing effect of endless choice that allowing us to interact with everything would cause.<p>I think the problems people would most appreciate solving are instead:<p>(1) how to switch between code-first and data-first mode in the same tool<p>(2) how to build a successful repository/marketplace of good enough "components" usable in your tool (and "NPM of Excell plugins" but for your tool)<p>I think people mostly fall clearly into two camps: either <i>completely overwhelmed</i> by their current tools already, anything even slightly more complex and their "brain would explode", or <i>they just want full power for their technical task</i> (so they'll use something semi-domain-specific like Jupyter notebook). I think "designing for humans" should be based or deisngning for <i>limitations,</i> for <i>neuroticism</i> and for <i>somewhat illogical/irrational behavior</i> ...that's what best describes <i>human</i> users and that's what Excell got brilliantly right. You can be resentfully angry, lazy, overwhelmed and ADHDed, all at the same time, in one of the worse days of your life, and you'll still get something done with Excell.
> <i>Thanks to the Eve team: Chris Granger, Corey Montella, Josh Cole, and Jamie Brandon. You were an inspiration.</i><p>And I hope they continue to be! The ideas that Eve made concrete are too good not to carry forward in the design of future languages. It wasn't just the literate/logical programming paradigms, atypical of popular languages in production today, that made Even stand out: it was the idea (really, the sort of moral imperative) that as you make changes to the code, you should be able to see the effects of those changes <i>in real time.</i><p>It's worth pointing out that Light Table, sort of the precursor to Eve, was pretty much directly inspired by Bret Victor's talk "Inventing on Principle." [0] I'd encourage anyone who hasn't seen Bret's work to go check out that, and all his talks really. :)<p>[0] <a href="https://vimeo.com/36579366" rel="nofollow">https://vimeo.com/36579366</a>
I thought this was going to be some kind of April Fool's thing where it went from spreadsheets and tables and eventually ended up with space combat.<p>That screenshot in the middle with the moon had me going for a second.
It's neat seeing all the prototypes in one place. It looks like the team was trying to find what the product wanted to be. Is it a spreadsheet? Is it a wiki? A database? A web application maker? A REPL? A literate IDE? Some combination of all these things?<p>It seems like the team never was able to close the loop on the human outcomes of what their product was supposed to enable.
This progression is impressive and the examples are visually stunning but I'm a bit concerned about how much the mouse is being used. When there's too many panels, fields and values on the screen, how do you keep your hands on the keyboard?<p>In the IDEs that I've tried, I find them impossible to use if there aren't keyboard shortcuts for everything. As an extreme example, take a look at Eclim which merges the functionality of the Eclipse code engine with the GUI of vi - <a href="http://eclim.org/index.html" rel="nofollow">http://eclim.org/index.html</a> (note that I don't use this as my daily editor - I'm not proficient enough yet or perhaps it's just a bit too extreme).
Since a number of people who worked on Eve are watching the thread: what's next for you? What do you feel like you learned about human-computer interaction? What are you going to bring to your future work on these kinds of ideas?
I know a lot of people suggest there is a market for a programming language / Excel hybrid and it looked like some of these prototypes at least partially leaned in that direction.<p>What would be the most successful new development that Eve discovered? What is the best part of this that we can take away?
I'm probably not the only one that went in thinking this was going to be about Eve (the game). When I saw the spreadsheets and visualizations it only further confirmed this. It took me about half the page before I realized this was something else entirely I'd never heard of.