4 ms·
I was keeping a close eye on Eve until it changed direction from programming for everyone to yet another lisp. Is there any writeup/discussion on why this happe
by 0x01 10y ago
I was keeping a close eye on Eve until it changed direction from programming for everyone to yet another lisp. Is there any writeup/discussion on why this happened?
I do like learning about mind-expanding languages, and something resonated with me when the CardWiki interface was revealed. I get that this language is very 'human readable' but at the end of the day if I want to read or write it I will actually have to put a lot of time into learning it.
I'm already suffering decision paralysis with my current language shortlist and this language doesn't make the cut. The card wiki was innovative, like LightTable. To me, this is 'just a language'. I realised you moved away from the wiki idea for a reason but is putting a GUI on the language still on the roadmap?
- jononor 10y agoIts less the direction changing than the plan for how to get there. The major pieces to the roadmap is now: 1. Eve: Programming designed for humans (current) 2. Eve: Computation for all 3. Eve: The world scale computer http://www.chris-granger.com/2016/07/21/two-years-of-eve/ http://www.chris-granger.com/2016/07/21/two-years-of-eve/ has some information on why. Selected quotes: "We learned with Light Table that we can't just slap a UI onto Javascript and expect it to work; the platform has to allow for the representation." "Another reason the platform is necessary is really counterintuitive: we need developers to like it before end users will. Technology diffuses from technical people to non-technical people over time."
- 0x01 10y agoThanks for this. I've read that post before, and back then I just took the explanation to mean we're dropping the UI. I can see now that was not the meaning. > we need developers to like it before end users will While I can see how there is some separation of concerns as mentioned in that post, I think the above quote doesn't have to be true in order for Eve to succeed. It has the potential to contradict the whole programming designed for humans line. Developers can be quite happy with some pretty funky syntax/abstractions which won't seem remotely obvious/intuitive to non-programmers. If developers' considerations are put before non-programmers, Eve might end up a language for developers, as opposed to the intended audience. Personally I think that means that you can't drop the UI even for now. It has to be the only interface. Otherwise you won't get the interest from non-programmers. What developers might like and grok, non-developers might not. Just one data point from somebody interested in this sort of thing.
- tom_mellior 10y ago> I get that this language is very 'human readable' I wonder why people say/think that. The language uses sigils like @ and #. Sigils automatically make a language non-"human readable" since they have no "human meaning". And no, "you just have to learn the meaning of the language constructs and then you can read it" is not "human readable" in a useful sense. From what I gather, in Eve the @ sign refers to databases. That's fine, but "database foo" is human readable in a sense that "@foo" certainly isn't. Or look at this example from http://play.witheve.com/#/examples/todomvc.eve http://play.witheve.com/#/examples/todomvc.eve search [#app filter] all-checked = if not([#todo completed: false]) then true else false none-checked = if [#todo completed: true] then false else true todo-count = if c = count[given: [#todo completed: false]] then c else 0 Why aren't these just all-checked = [#todo completed: true] none-checked = [#todo completed: false] ? Is the triple negation relevant? What is #todo? Is there some sort of implicit iteration over the database where #todo is bound to successive entries? If so, how are the individual flags combined to really arrive at an "all checked" or "none checked" value? I know plenty of languages that are more "human readable" than this. It might still be a nice language once you learned it. But this, too, won't be the holy grail of "programming for non-programmers".
- jononor 10y ago#todo is shorthand for [ tag: 'todo' ]. A record can have multiple tags. Agreed that there should be a full-form for database, not just @.
- themgt 10y agoYeah that's awful. In Ruby it'd be like: all_checked = todo.select(&:completed?) none_checked = todo.reject(&:completed?) todo_count = todo.count(&:completed?)
- miguelrochefort 10y agoIn C# var allChecked = todos.All(todo -> todo.IsCompleted); var noneChecked = todos.None(todo -> todo.IsCompleted); var todoCount = todos.Count(todo -> todo.IsCompleted);
- miguelrochefort 10y agoIt should not take you more than 1h to learn Eve...
- cmontella 10y agoI just wanted to respond to your comment, even though I see you posted later in this thread that you re-read Chris' post in a different light. In developing Eve, we faced a problem of getting involved in too many research projects. How do you make a new language and a new interface to that language at the same time? It was very hard, and in the end we realized it was a mistake to take this route. For instance, how do you version control and make unit tests for a card wiki UI? Instead, we are developing the language first, getting that to a point where it's stable, well defined, and actually used by people. In order to do this, we needed an interface that was also well understood and defined, and the only choice there really is a textual syntax. This has several benefits: 1: we know how to make a textual interface. We've made many, and there really aren't too many questions there. 2: people know how to use textual interfaces and there are tons of tools out there to work with them 3: developers in particular, the people who will be using our language first, are comfortable with textual interfaces 4: we can still provide some innovation here, and make Eve exciting to work with for the people who want to use it this way. The obvious drawback is that we're not making a huge leap in programming interfaces this way. But that's okay, since we're making progress in another direction that really is a prerequisite to bringing computation to everyone. When Eve the platform is better understood, we'll tackle the even bigger hurdle of an interface that appeals to more than just developers.