Programming and Scaling
lambda-the-ultimate.org
lambda-the-ultimate.org
When not only Alan Kay but Chuck Moore as well describe your work as an epochal influence, it must really be something.
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:
"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."
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.
http://special.lib.umn.edu/cbi/oh/pdf.phtml?id=21
Edit: it deserves its own post, so I put it up at http://news.ycombinator.com/item?id=2855508.
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.
Or to make an analogy: IQ is like strength, but knowing where to push needs perspective (literally a different point of view) or a map (knowledge). Applying that strength to gain perspective instead of just pushing requires some self-awareness, particularly if just pushing even harder always worked for you in the past.
Dr. Kay mentions outlook and that does apply. This beauty analogy is important, so let's keep using it. My wife and I were in Monaco yesterday, and two women passed us who had clearly undergone tremendous amounts of plastic surgery; and we agreed that it made them look hideous. If there was a Beauty Quotient (BQ), they would proudly declare themselves to have "a high BQ". It simply doesn't work that way. Take any public figure you find beautiful and look at their feature set. You'll find it's not a simple addition of beauty features that makes them beautiful. It's about the mix of features -- for that time and culture. In other words, it's partly about "character" (what Kay calls "outlook"). But while that's where it ends for beauty, that's only where it starts for intelligence. Because your character, how you define yourself, will block your ability to make the right connections. If you think of yourself as a patriot, you will block information that will run contrary to that belief. If you define yourself as being smart, you won't be able to accept conclusions that might be contraversial and place that image in doubt, and so you will be less intelligent for it.
Dr. Kay calls knowledge important. It is, but not as much as he thinks. If we consider Graph Theory, we can say "knowledge" is like the vertices -- the dots. When learning you group dots and break apart dots: ascern (my word) and discern. Ascern means finding common properties in group of data points: wine and water are both part of the set of liquids. Discern means distinguishing differences: wine can be red or white, and red wine can be from different grapes such as merlot, pinot noir, etc.
"Understanding" is the equivalent of the edges -- the lines connecting the dots (of various abstraction levels). You can't understand what you don't know, so you need knowledge, but that alone won't get you there. In fact, too much knowledge in any particular space can inhibit your ability to draw inferences and truly 'understand' the subject (making relations amount the data points) because you're dealing with information in terms of too small of data points; you're not abstracting high enough. The edges are not as simple as I'm making them out to be. The edges actually say, this applies to that 'usually' and 'in certain cases'. Water belongs to the set of liquids, but only when the temperature is right. So these data points are abstracted via edges, and so, in conditional ways.
Understanding also means knowing at a comfort level that allows you to play with the information at the right abstraction level. Let's say you are air-dropped into New York City. All you know is what you've heard about Central Park and the Empire State Building. So what you do, initially, is to abstract around those landmarks. Where is the really good Thai restaurant? A bit to the South-West of Central Park. But as you learn more about NYC, you get more detailed: the place is next to the Roxy on Lex and 23rd. You're able to talk in terms of greater granualarity: What are the bad areas? At first they will be big swaths of areas of NYC, but later more and more like little bubbles throughout the city. Sorry, that's not a good explanation at all -- I'll try to come up with something better. The main thing is that "understanding" lets you create verticies when you don't have them (via approximation to other edges and vertices), and use unknowns with more ease. If you don't "understand", you will cling more tightly to your landmarks, but when you understand, you don't have to anymore.
We often call understanding about life "wisdom". We don't have a word for understand about cars and microbiology. And it's this understanding combined with character, where true intelligence or genius arises.
I strongly disagree with you that "true intelligence" (a true Scotsman?) is a synonym for genius; both words would be hopelessly ambiguous in meaning if that were the case; and I also disagree that understanding is required for intelligence. Rather, some intelligence is a prerequisite for understanding, and to some degree intelligence is a measure of the rate of change of understanding when presented with novel situations - the first derivative, if you will.
If you meet someone who is quick on the uptake, who learns quickly; and contrast them with someone a bit slow; what are you to call that quality of them if not intelligence? This quality is not reliant on character or understanding, but rather the reverse.
And I still think that if you use the words as Kay meant them, you would not disagree with him. All the more so, since you emphasize the synergy between understanding and smarts.
If you meet someone who is quick on the uptake, who learns quickly; and contrast them with someone a bit slow; what are you to call that quality of them if not intelligence?
I would call that "quick uptake" and "a bit slow." That's it. Einstein learned to talk at 5. So he was stupid? This is a poor way to define intelligence.
When Dr. Kay says IQ, he also means this "innate cleverness." And my response is that if two people lift weights, one has to work at it more than the other, but both can lift the same weight, which one is stronger? Neither. They're equally strong. Mental acuity is very much like physical strength: it is what you make it. So, I say, it makes no sense to define a predisposition to mental acuity, since that is impossible to define, is easily misunderstood and doesn't reflect the end reality. I'm not switching terms on this: it's a useless, and potentially harmful, distinction.
And I still think that if you use the words as Kay meant them, you would not disagree with him.
I think that knowledge is a basis for intelligence but not as important as Dr. Kay asserts. For me, knowledge, in-and-of-itself is only the vertices upon which to build the graph of true understanding. How that graph is built is fascinating and I think deserves more examination, which is why we can't leave it a single term called "outlook," in my opinion. But that's just my opinion; I'm not trying to win points or arguments.
Further, Dr. Kay's goal was not to give a lecture on intelligence, but to get the audience to think harder about what they value. Which is incredibly important and is just one of the reasons he's a hero of mine.
Have you, perchance, heard Steele's "How to Grow a Language" (not too relevant, but also a great talk).
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.
OMeta discussion on HN: http://news.ycombinator.com/item?id=2722730
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.
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."
http://stream.hpi.uni-potsdam.de:8080/download/podcast/HPIK_...
http://stream.hpi.uni-potsdam.de:8080/download/podcast/HPIK_...
http://stream.hpi.uni-potsdam.de:8080/download/podcast/HPIK_...
http://stream.hpi.uni-potsdam.de:8080/download/podcast/HPIK_...
Object-oriented programming probably wouldn't suck so bad if it had stuck to his vision. Objects are great 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.)
(I'm half-joking, since there are a variety of bad programmers and not all are of the "can't get code to compile" variety. Actually, the most dangerous bad programmers are the high-IQ bad programmers, but that's another rant. Still, I think it's true that the discipline enforced by languages like ML and Haskell turns a lot of bad programmers away.)
DSLs also tend to be leaky abstractions. If I need to drop down a layer of abstraction in the middle of an expression of your DSL suddenly I have to understand all the mechanics of your DSL.
Edit: As I discovered elsewhere, there is MP4 available for individual segments of the talk, just not the whole thing. I'm set.