Re: [fonc] holy grail of FONC?
John Carlson writes: > My coworker actually delivered a system with "programmer's undo;" it > was called a reversible debugger in 1993--before IDEs were popular. There's also the more recent debugging backward in time: http://www.youtube.com/watch?v=xpI8hIgOyko With the capabilities of current machines, this can be done rather easily. The challenge was to do it on machines where the programs were as big as the memory, if not bigger. -- __Pascal Bourguignon__ http://www.informatimago.com/ A bad day in () is better than a good day in {}. ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
Re: [fonc] holy grail of FONC?
> One initiative which is interesting is Worlds which could function as a kind of "exploratory programmer's undo." This has been covered in various papers on the VPRI writings page, and touched upon IIRC in some of the NSF updates. It's actually IMHO one of the unsung heroes of what these people have been up to. My coworker actually delivered a system with "programmer's undo;" it was called a reversible debugger in 1993--before IDEs were popular. We had a virtual machine. There wasn't a lot of syntax present. We used icons instead of just text to represent the program. We could delete operations before and after the program counter. We weren't given enough time to develop it into a full OO system...we kind of got in trouble for competing with industry at the time. Here's a link to the paper. If you have any questions, ask. All primitives were strings, but we did have a simple desktop calculator. http://w3.isis.vanderbilt.edu/OOPSLA2K1/Papers/Carlson.pdf In essence my understanding of how it worked was for every action stepped through an a undo record was created and kept on a stack. I am not sure how undos were handled inside loops, but I suspect there was undo until you find a record for the action present in the program. It was a fine piece of work by Jeffrey Allen. So I'm singing for Jeffrey. The project gave me respect for what you can do with a few desktop gadgets integrated with a flowchart. Programs were exportable and importable to/from C++ global variables--yes, i did the housepainting. We were storing the programs in flat files as well...one per class. If we could combine windows 8 with a reversible debugger, Wow! So now I'm essentially retired and reliving glory days. Remember this is before the web for the initial development. ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
Re: [fonc] holy grail of FONC?
I think what you might be seeing is a desire in the community to overcome some of the boundaries to advancement that one arrives upon when building an educational system on top of a less educational system. A class example might be the challenge an avid Etoys user might face when exiting the "walled garden" of Etoys and starting to try to program in (in this case) something like Smalltalk. Smalltalk is easier to learn than C++ (thanks!) but a lot harder to learn than Etoys. It's sudden. There isn't a very good gradient to the learning curve. It's kind of like, kid, now you're on your own, and you better learn how to use that sword fast if you wanna survive. You go from safe to true become: false pretty fast. See below for one way to ease the "unsafe programming" problem that's been a product of the FONC work, called "worlds." It would be better, one might argue, if the knowledge of one layer might be able to help explain the knowledge needed to tackle the next lower layer. One way to facilitate this might be to build every layer in terms of the layer beneath it, but also, *linguistically* to describe every layer's language in terms of the same substrate. See also, OMeta. Frank seems to do this -- as far as I can discern without using it -- better than anything we've seen yet. Or anyway that's the hope as I understand it. Of course there are other objectives which are related, like getting the total body of work needed to express a fully working system down to the quanta we really actually need to continue our studies. If we can do that, we may be able to make our studies more precise, more accurate. This could be valuable to both educators and to the "thousands of slaves" in industry (raises hand.) One initiative which is interesting is Worlds which could function as a kind of "exploratory programmer's undo." This has been covered in various papers on the VPRI writings page, and touched upon IIRC in some of the NSF updates. It's actually IMHO one of the unsung heroes of what these people have been up to. My favorite quote from anyone related to this effort comes from a private conversation with Ian Piumarta, (Ian, if it wasn't cool to share this, I'll let you hit me in the face one time) and he said this: "My mission is to discover the Bose-Einstein condensate of computer programming..." Which is (I think) to say: I want to find a way to make quantum effects become apparent at a macroscopic scale. If we can figure out how to do something analogous to that in the context of programming, by re-examining the fundamentals we have taken for granted since the birth of the industry, we may be able to apply that knowledge to build massively simpler large scale systems. Please forgive if I've gone on at length about stuff you already knew. As for the Holy Grail? I don't think it exists. There is no dark side of the moon, really. As a matter of fact, it's all dark. (The redacted part of the original studio recording was: the only thing that makes it look light is the sun.) Hugs and such! Casey On Apr 13, 2013, at 6:34 AM, John Carlson wrote: > Is the holy grail of FONC to create an environment where you can use command > line, text editor, IDE, and end-user programming to program the same program? > Are there any other ways to program? Circuit boards? I believe FONC > includes this. Speech and gestures? Does FONC provide a way to use speech > and gestures to program? Is this a bit like Intentional Software? This > reminds me a bit of Tcl/Tk as well, where programming command line, program > and GUI were integrated. What else out there is trying to encompass all > kinds of programming in a cross media way? > > John > ___ > fonc mailing list > fonc@vpri.org > http://vpri.org/mailman/listinfo/fonc ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
Re: [fonc] holy grail of FONC?
On Sat, Apr 13, 2013 at 08:34:34AM -0500, John Carlson wrote: > Is the holy grail of FONC to create an environment where you can use > command line, text editor, IDE, and end-user programming to program the same > program? Are there any other ways to program? Circuit boards? I believe > FONC includes this. Speech and gestures? Does FONC provide a way to use > speech and gestures to program? Is this a bit like Intentional Software? > This reminds me a bit of Tcl/Tk as well, where programming command line, > program and GUI were integrated. What else out there is trying to encompass > all kinds of programming in a cross media way? There could be a kind of programming where you specify the boundary conditions, and let the system fit a sufficiently good solution, in a stochastic way, using massive parallellism. There could be a way of iteratively select suitable behavior from a population, where a number of human analysts would select suitable behaviors, from a past record or in realtime, with machine assist hopefully. ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc
[fonc] holy grail of FONC?
Is the holy grail of FONC to create an environment where you can use command line, text editor, IDE, and end-user programming to program the same program? Are there any other ways to program? Circuit boards? I believe FONC includes this. Speech and gestures? Does FONC provide a way to use speech and gestures to program? Is this a bit like Intentional Software? This reminds me a bit of Tcl/Tk as well, where programming command line, program and GUI were integrated. What else out there is trying to encompass all kinds of programming in a cross media way? John ___ fonc mailing list fonc@vpri.org http://vpri.org/mailman/listinfo/fonc