Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Right, but I think he also has building websites in mind. So, both, I guess.


I'm fairly certainly that he has in mind the vision put forward in Prof. David Harel's late-career manifesto Can Programming be Liberated, Period? (2008)[1]

Five years earlier, Prof. Harel wrote a book, Come, Let's Play[2], in which he explored the role that temporal logic[3] could have in the building of reactive software systems (e.g. desktop GUI applications, among many others). If you visit Harel's full list of publications[4] and do an in-page search for the terms "LSC", "behavioral" and "scenario", you can follow the links to a number of papers published since the early 2000s, related to the application of temporal logic in the process of software design.

It's possible that my connection of Granger's "eve" to Harel's work is completely mistaken; and if so, I apologize for jumping the gun.

[1] http://www.wisdom.weizmann.ac.il/~harel/papers/LiberatingPro...

[2] http://www.wisdom.weizmann.ac.il/~playbook/

[3] http://en.wikipedia.org/wiki/Temporal_logic

[4] http://www.wisdom.weizmann.ac.il/~harel/papers.html


Prof. Rodney Brooks has always had a better more pragmatic take on this, coming from the robotics field no less:

http://en.m.wikipedia.org/wiki/Subsumption_architecture

http://en.m.wikipedia.org/wiki/Behavior-based_robotics

Kodu was based on this model, and it worked very well.


We did read the manifesto and I'm fairly convinced that Harel's vision of interactive specification and refinement is the the long-term future of software. I'm not sure how to get there though, short of general AI. Eve aims to reduce the amount of specification required and can make sensible guesses about implementation, but it is not able to 'fill in the blanks' for partial specifications and we won't be focusing on that any time soon.


Thinking of programming as a dialogue with the computer is a really strong metaphor that I gladly recognize as something that inspired you [1][2].

Short: You provide the goals and the constraints, then through a back and forth dialogue with the computer you describe and clarify the problem (and also your understanding). You keep on negotiating and providing more constraints until it simply finds a possible solution (the problem domain is now computable) or the best fitting solution now satisfies your needs (in time).

The hardest parts are probably: 1. Collecting, developing the constraint solvers. Should we imagine that collection more as platform of user contributed (programmed/trained) packages? 2. Developing the dialouge that is not just textual but visual (in both ways) (notepad vs IDE vs Theater(?!) don't forget macros/acting out!)). Showing is always faster then writing and gives one better cues on the closures/framework of the actual discussion.

[1] http://scattered-thoughts.net/blog/2014/07/21/imperative-thi... [2] https://gist.github.com/jamii/8957881c8eaa4035f4ae


Seems very closely related to what I've been talking about / working on lately. Cool!

https://speakerdeck.com/mtrimpe/graphel-the-meaning-of-an-im...


I'm not sure if it's an inspiration for Chris but it's definitely related since a key focus for Chris seems to be on building it on immutable data structures (and hence essentially temporal.)




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

Search: