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.
