On Feb 20, 2:29 pm, Kent Tenney <[email protected]> wrote:
> http://flowingdata.com/2012/02/20/live-coding-and-inventing-on-princi...
>
> I found this quite amazing, a glimpse at the future of programming 
> environments,
> and a lovely description of a good way to live.

Many thanks for this link.  I enjoyed the video immensely.  It's quite
a "whack on the side of the head".

Here are my reactions.

First, the critical bits, just to show that I've slept on the video
and haven't fallen completely under his spell :-)  Obviously,
motivation and drive are important, but adding a moral (or moralistic)
dimension to the motivation is debatable.  Perhaps pain motivates him
more than pleasure, but I doubt it.  Adding Richard Stallman to the
list of "crusaders" could be called truth in advertising, I'll give
him that.

But enough of the critical bits.  This is a great demo of a truly
important idea.  I would put it this way--we have just begun to
explore what computers can do for us.  Personal computers today are
supercomputers, and for the most part these supercomputers are simply
waiting for our keystrokes.  The demo challenges us (designers) to do
more, much more, with the available computing power.

The principle of instant feedback for actions is truly important.
That's all there is to it.

For many years I have been saying that I am not looking for anything
better than Python.  Now I can't say that!  Instantly, I am completely
dissatisfied with my programming tools!

I loved his throw-away comment about unit tests.  It shows how feeble
they really are.

As I think about the implications of Bret Victor's work, I am struck
by how easy it would be to make excuses for why our tools are not as
spectacular as his.  You can probably think of several, right off the
top of your head.

But that would be a huge mistake.  Instead, we must follow the
evidence, and admit that our present tools really suck :-)  For
example, I have spent a week cleaning Leo, and at no time did I begin
to get any kind of instant feedback that the cleanup was making a
difference.  Yes, eventually the outline became simpler, and so did
some of the code within it, but at all times I was "playing designer"
to paraphrase Bret.

The danger of making excuses is that it allows us to ignore the
opportunities.  That would be truly stupid.  And that is what is
likely to happen for most people, myself included.  We'll get excited,
and then (quickly or not) go right back to our old ways of doing
things.  If you disagree, think of how many excuses you have already
made for our present tools, including Leo.

I loved the programming demo.  In fact, the right side of the demo is
an "instant debugger".

Could we do that in Leo?  I think we could.  The "instant debugger"
could be a rendering of the body text!  It wouldn't be that hard: do
nothing unless the body text is syntactically correct, which is most
of the time while we are typing.  But if it is correct, the debugger
will evaluate the body pane and show the results.

But this is just the tip of the opportunity iceberg.  We could make
excuses, saying that Bret's principle is compelling only for toy
demos, but instead, let us consider how we could scale up his ideas to
larger and larger domains.

It seems to me that he is calling forth the creation of what I will
call "deep structure".  Leo was born because I don't consider computer
programs to be merely a collection of random text.  My mentor, Bob
Fitzwater, said that design happens in a different space, different
from the world of bits (or words).  But our tools don't exist in that
world, they treat programs *and* their design as nothing but text.

This deep structure would, in some sense, *be* the real program.
Leo's outlines are *not*, by themselves, this deep structure--they are
only an explicit structure imposed on text.  In the present
programming world (excepting Bret's), there is simply no way to
manipulate anything other than program text.  This leads to the edit/
test cycle, which is hugely different from the world of immediate
feedback.

Questions immediately arise: What would immediate feedback in other
domains look like?  On what kind of deep structures would it operate?
How can we use computers to validate our programs and designs
automatically and instantly?

Edward

P.S.  If I would choose a "moral" imperative that speaks to me it
would be this:  we humans have got to do a better job at honoring
evidence.  We are simply not at liberty to ignore inconvenient facts.
And yes, there truly are facts in this world.  This has revolutionary
implications, and the world is in full backlash mode at present, with
tragic consequences.

To see if you understand the power of evidence, answer the question,
"What is the most revolutionary science?"  Imo, there is one, and only
one, correct answer.  This is not a trick question.  You either know
the answer or you don't.  If you don't know the answer, you are
ignorant, in a deep sense, of the modern world.  In this sense, you
might as well be living 300 years ago.

EKR

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en.

Reply via email to