Alan Kay's praise of Bob Barton in this talk inspired me to do some googling, and I ran across an extraordinary thing: a transcript of an oral history conference from 1985 that reunited Barton and the team that built the Burroughs B5000. Here is what Kay says about Barton and the B5000 in his talk: "In history you can find really incredible geniuses like this man, who anticipated so strongly that we can only emulate his ideas in software today. Intel hasn't gotten around to understanding them yet." "The hardware of today is not as advanced as this machine was."<p>When not only Alan Kay but Chuck Moore as well describe your work as an epochal influence, it must really be something.<p>In 1985, some wise people got the B5000 team together and recorded them talking about it at length. The transcript exists online, and it is a remarkable document. Among many gems, Barton says: "I just thought of this morning a way of characterizing what I've been doing for 30-some years. I'm an industrial saboteur." Also: "I have never been able to work with devil's advocates". And here is something that is reminiscent of Kay:<p>"I was interested in small machines. In my view, the machine got too big too soon. All the experience we had from working with very small machines, particularly the 650, only indirectly with 205s, was in the direction of simplicity and operating systems and engineering out as much as possible all the incidental red tape that was very common in those days."<p>Also, it's noteworthy how frequently [Laughter] annotations appear in the transcript. I've long felt that the best teams are also the most fun ones.<p><a href="http://special.lib.umn.edu/cbi/oh/pdf.phtml?id=21" rel="nofollow">http://special.lib.umn.edu/cbi/oh/pdf.phtml?id=21</a><p>Edit: it deserves its own post, so I put it up at <a href="http://news.ycombinator.com/item?id=2855508" rel="nofollow">http://news.ycombinator.com/item?id=2855508</a>.
Dr. Kay is a genius of the highest order. He not only understands that we're not at the Promise Land, he understands why we're not and gives valid advice on how to get there, including working on it himself.<p>This is not to say the he doesn't get many things wrong. VPRI's COLA, for example, and the IQ/Knowledge/Outlook portion of this presentation is horribly off-base. I won't go into it here, the margins are too small and it doesn't matter. The main point is that he's still the bright torch in a dark night.
Link to the paper he mentions as one of the best papers ever at the start of his talk for your convenience: <a href="http://www.bottomup.co.nz/mirror/Barton-B5000.pdf" rel="nofollow">http://www.bottomup.co.nz/mirror/Barton-B5000.pdf</a><p>The paper describes a CPU architecture. It has a lot of similarity with Chuck Moore's Forth hardware in that it is stack based instead of register based.
This was a breath of fresh air. I think someone could do great good to take, say, 15 or 20 seminal papers in computer science over the last 60 years and turn them into a book that teaches history and its discarded ideas.<p>I still think one of the biggest pieces missing from the puzzle here is the problem of notation. Kay's examples seemed to largely still be stuck in the ASCII paradigm, and I think we need to raise the abstraction so appropriate notation can be used without any restrictions.<p>To quote Whitehead: "By relieving the brain of all unnecessary work, a good notation sets it free to concentrate on more advanced problems, and in effect increases the mental power of the race."
Direct links to the four parts of the video, in MP4 format:<p><a href="http://stream.hpi.uni-potsdam.de:8080/download/podcast/HPIK_SS11/HPIK_2011_07_21_01_part_1_podcast.mp4" rel="nofollow">http://stream.hpi.uni-potsdam.de:8080/download/podcast/HPIK_...</a><p><a href="http://stream.hpi.uni-potsdam.de:8080/download/podcast/HPIK_SS11/HPIK_2011_07_21_01_part_2_podcast.mp4" rel="nofollow">http://stream.hpi.uni-potsdam.de:8080/download/podcast/HPIK_...</a><p><a href="http://stream.hpi.uni-potsdam.de:8080/download/podcast/HPIK_SS11/HPIK_2011_07_21_01_part_3_podcast.mp4" rel="nofollow">http://stream.hpi.uni-potsdam.de:8080/download/podcast/HPIK_...</a><p><a href="http://stream.hpi.uni-potsdam.de:8080/download/podcast/HPIK_SS11/HPIK_2011_07_21_01_part_4_podcast.mp4" rel="nofollow">http://stream.hpi.uni-potsdam.de:8080/download/podcast/HPIK_...</a>
I think his point about the language-oriented approach is interesting. My fear is that the create-an-appropriate-DSL-and-your-problem-takes-little-code approach would actually be disastrous if used by mediocre programmers. Instead of having to read their bad code, we'd be stuck trying to read their bad code in their shitty DSLs.<p>Object-oriented programming probably wouldn't suck so bad if it had stuck to his vision. Objects are <i>great</i> in some circumstances (the biological metaphor of complexity encapsulated behind a simple interface applies) but they've utterly failed as the default means of abstraction. The default abstractions should be (1) pure functions, and (2) simple and sound mutable state primitives (STM, Agents, etc.)
What I've seen is fascinating— I wish the video were faster, or available in a format that didn't completely shit the bed every time the stream hiccups. (The "other formats" available are Real and... Real HQ.)<p>Edit: As I discovered elsewhere, there is MP4 available for individual segments of the talk, just not the whole thing. I'm set.