Re: [fonc] holy grail of FONC?

2013-04-14 Thread Pascal J. Bourguignon
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?

2013-04-13 Thread John Carlson
> 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?

2013-04-13 Thread Casey Ransberger
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?

2013-04-13 Thread Eugen Leitl
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?

2013-04-13 Thread John Carlson
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