5 ms·
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
by Glench 9y ago
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?
It seems like the team never was able to close the loop on the human outcomes of what their product was supposed to enable.
- fusiongyro 9y agoAn optimist might look at all that and say, it just shows you how much fertile ground there is outside conventional programming languages. Maybe any or all of those could be significant. It seems more likely to me that once you get far enough down any of those roads, the complexity of programming reappears. Now you have to decide whether you chose the wrong road or whether complexity is an unavoidable feature of programming. It looks to me like the Eve folks kept thinking they might find a twist that would avoid it. I'm impressed at how many ideas they tried. But I can't help but feel that they were never in one place long enough to really build something lasting. Every time I looked at Eve, it was totally different (and looked promising) but when things change that much, that quickly, it's hard to lay down roots.
- Glench 9y agoHm, that's an interesting claim! That there may be an essential, unavoidable complexity to certain types of software creation. And maybe the Eve team was trying to create tools that avoided or simplified that complexity enough to allow more people to create that type of software. From my own research, I have a sense there's promise in domain-specific modeling with hooks into more general purpose languages. Bret Victor talks about making languages for people other than software developers or "end users" here: http://worrydream.com/ClimateChange/#tools-technical http://worrydream.com/ClimateChange/#tools-technical
- repsilat 9y agoI think we can do a better job of teasing apart the essential from the incidental complexity. There is a great deal of essential complexity. Programmers deal with corner-cases more often than most other people, and having an eye for a "good" solution to a problem in a programming language or in a spreadsheet or whatever is a specific skill that takes some learning. On the other hand, programming is just not very approachable, and I don't think that's because of essential complexity. A "good" Excel user -- someone who can use the string functions, vlookup and maybe those "array formulas" -- is basically a programmer, and every step between that and your cousin who uses Excel to write shopping lists is just "Oh, let me show you this one trick." Get your cousin to write a CRUD shopping list site or app in any programming environment, though? Not a chance. Maybe AirTable counts as a relational model. There's a useful gradient there. You can start with shopping lists and end with foreign keys, maybe. Not a huge scope for logic, but you can do some pretty cool things in SQL with "this one trick". I wouldn't want to stop at tricking people into learning SQL, though. I think a nice easy ramp up to a Turing complete language is possible. You don't have to make programming easy, though. Most people will not be programmers. Making "just a bit more programming" easy is a huge win, though.
- cmontella 9y agoFrom an outside perspective this seems rather random, but we were really methodically exploring a design space. We incorporated different ideas from each IDE into the next. For a long time we were working on the IDE and semantics of the language at the same time, which was really holding us back. Eventually we separated those concerns, and refined the programming model in v0.2. But in each iteration of the language, there was something missing, causing us to try a new angle, or to throw out old assumptions. > It seems like the team never was able to close the loop on the human outcomes of what their product was supposed to enable. What we really wanted from Eve was to define programming in a way that didn't feel like programming. We got close to this feeling in FiveSquare Eve and WikiEve. Smalltalk Eve (that's not what we called it, but what the article calls it) was probably the closest we got to this ideal, but unfortunately we didn't have enough runway to flesh it out.
- woah 9y agoWho was supposed to use it? Did you ever have them try it out?
- seanmcdirmid 9y agoIf you don't think you have the right thing yet, having other people try out what you know is the wrong thing isn't going to be very useful.
- dragonwriter 9y ago> If you don't think you have the right thing yet, having other people try out what you know is the wrong thing isn't going to be very useful. I disagree, because think ≠ know. Now, usually that's an issue we talk about when the creator thinks what they have is right, but it's just as true and relevant when they think it's wrong. You can both be wrong about it being wrong and, perhaps more often, be wrong about how it's wrong. Without some interaction with the target market, you lose feedback and course correction.
- 9y ago