
Interview with Alan Kay - gits1225
http://www.drdobbs.com/architecture-and-design/interview-with-alan-kay/240003442#
======
bcantrill
Alan Kay is a brilliant guy, but I really wish he could open his mouth without
shooting it off. In particular -- to speak to my own domain -- he bleats about
"feature creep" in an operating system with absolutely no demonstrated
understanding for a modern OS. Is KVM "feature creep"? Is ZFS? Is DTrace? He
shows not so much as an ounce of understanding for why these things exist or
empathy with those for whom they were created. I have great reverence for
history (and Kay and I share an intense love for the B5000[1]), but I also
think it's a mistake to romanticize the past. Viz., when he wistfully recalls
the Unix kernel having "1,000 lines of code", he can only be talking about
Sixth Edition: even by Seventh Edition (circa 1979!), the kernel had
(conservatively) over ten times that amount.[2] And this is still a system
that lacked a VM system and TCP/IP stack -- and tossed if you created the
151st process![3] If he wants to criticize the path that history has taken,
fine -- but when he is so ignorant of the specifics of that path, it's very
hard to treat him as anything but a crank, albeit an eminent one.

[1] <http://news.ycombinator.com/item?id=4010407>

[2] <http://minnie.tuhs.org/cgi-bin/utree.pl?file=V7>

[3] newproc() in [http://minnie.tuhs.org/cgi-
bin/utree.pl?file=V7/usr/sys/sys/...](http://minnie.tuhs.org/cgi-
bin/utree.pl?file=V7/usr/sys/sys/slp.c)

~~~
ehsanu1
Cranks don't really put their money where there mouth is. If you haven't seen
it yet, I'm sure you'll enjoy looking at the STEPS project:
<http://www.vpri.org/html/writings.php>

In summary, the goal is a user-facing system in 25k SLOC, from kernel to GUI
apps, including all the code for compilers for the custom languages they made.
They call the languages "runnable maths", or "active maths", where they think
of a minimal notation to specify how a system should behave, and then
implement a compiler to run that notation as code. They manage this through a
compiler-writing language, ometa.

For example, to implement TCP/IP, they parse the ASCII tables from the RFCs as
code. Seriously, they just take it as is, and have a compiler to run it as
code. The implementation is supposed to be around 200 LOC (includes the code
written in Ometa for their compiler).

There's also a graphic subsystem, apparently with all the functionality of
Cairo (which is 20k LOC) in about 800 LOC.

Crucially, all this code is supposed to be very readable. Not line noise like
APL. The expressiveness comes from having custom languages.

~~~
aaronblohowiak
This style seems amazing, but I haven't seen any tutorials for people
interested in learning how to do this themselves.. do you know of any such
resources?

~~~
pmb
They are doing the real deal thing - for each problem, designing a language in
which to express the solution, and then writing the solution. Part of the
point is that the building such solutions isn't really teachable in the
context of a tutorial. If a tutorial can teach it, then it's probably a pretty
shallow skill, and shallow skills should get designed away into a solution-
oriented programming language, and any tutorials for THAT language, etc etc...

The language they use to do that (O-Meta) is then a language-defining
language, and designing THAT means balancing on a level of abstractions that
is at least three levels deep, and each of those abstraction levels is hard
and necessary. They achieve great simplicity by thinking damn hard.

On the other hand, the mailing list (as noted by the other respondent) is a
pretty interesting place with few flamewars.

~~~
eterps
I think this tutorial does a pretty good job:
<http://news.ycombinator.com/item?id=4230995>

~~~
aaronblohowiak
This is exactly what I was looking for. Thanks.

------
noonespecial
_"A lot of people go into computing just because they are uncomfortable with
other people. So it is no mean task to put together five different kinds of
Asperger's syndrome and get them to cooperate. American business is completely
fucked up because it is all about competition. Our world was built for the
good from cooperation."_

So much insight, so few words.

~~~
wyclif
Kay may think that "American business is completely fucked up", but it's also
undeniable that American business has been the greatest engine for
technological progress the world has ever seen. Kay's anti-capitalism is
showing, and it isn't particularly glorious to behold.

~~~
fchollet
I would be curious to know what makes you think that technological progress is
happening _because_ of competition. It might as well be _despite_ competition,
I see no rational way of telling for sure, as there are too many
interdependent factors at work.

But I will say this: the academic world as I've been witnessing it is a world
built on _cooperation_ , and it seems to me to be the real driver of strong
innovation. Another lucrative social website is _not_ "strong innovation", but
a new research algorithm that pushes the boundaries of what we can do, is. One
is driven by profit, the other by curiosity. One happens because of
competition, the other because of cooperation.

~~~
paulsutter
Academia is rife with competition. As they say, the battles are so fierce
because the stakes are so small.

The open source community and Wikipedia are great examples of cooperation.

The biggest advances in business are usually by people who are completely
focused on customer needs and ignore competition (google up until their
google+ fascination, Elon musk, apple prior to android's success. Note how
google hasn't made any advances from their competition with Facebook, and how
Apple hasnt advanced the iPhone much since they started competing with
Android).

------
keithpeter
"A side note: Re-creating Kay's answers to interview questions was
particularly difficult. Rather than the linear explanation in response to an
interview question, his answers were more of a cavalcade of topics, tangents,
and tales threaded together, sometimes quite loosely — always rich, and
frequently punctuated by strong opinions. The text that follows attempts to
create somewhat more linearity to the content. — ALB"

Audio would be ace.

------
staunch
It seems like he's still stuck thinking about computers the way he was many
years ago. Wikipedia _isn't_ amazing because it doesn't have a WYSIWYG editor
and can't run code on the (very few) pages where that's even applicable?

He doesn't seem to get that what makes the web amazing is the data and people
connected to it. That's generally far more interesting to users than novel
interfaces or whiz-bang features.

Google, Facebook, Twitter, Wikipedia, Yelp, etc aren't _technically_ all that
interesting or innovative. They're infinitely more transformative than nearly
all software that came before them though.

~~~
david927
_It seems like he's still stuck thinking about computers the way he was many
years ago._

 _Google, Facebook, Twitter, Wikipedia, Yelp, etc. ... infinitely more
transformative than nearly all software that came before_

Ah, pop culture, you make me laugh... you make me cry...

~~~
chris_wot
Why so?

~~~
ehsanu1
Not the GP, but the quote gives undue importance to a number of websites that
have been successful. You have to consider whether some early software (say
Unix and the C compiler) was more instrumental to the transformative effects
of software on humanity, or say the software written Xerox PARC, or the
original TCP/IP work.

~~~
chris_wot
It depends on your measure. It could be argued that it's not undue weight as
these sites have impacted on such a massive proportion of the world's society.
For instance, gcc and unix didn't allow for the sort of direct communication
that twitter caused - look at the Arab Spring for example.

That the technologies you mention enabled the websites mentioned is not in
doubt, but without the websites and related technologies would things like
TCP/IP and Unix have had such an impact?

~~~
chris_wot
Seems that my comment is controversial as someone has voted me down. I'm
curious to hear from opposing views - I love technologies like TCP/IP, gcc,
Unix, C, etc. - but I think they wouldn't be much use unless they were used to
enable applications like Twitter, Google, Nethack and Wikipedia.

I do want to clarify that I'm not saying that the underlying technologies
aren't amazing.

~~~
sp332
I think the debate is whether TCP/IP would be useful without Google, or
Wikipedia would have happened without TCP/IP. Personally I would say that IP
changed the way people think about information, which made Wikipedia seem
plausible.

------
pjmlp
I fully agree with him.

The web was designed for reading documents not to try to shoehorn an operating
system into the browser.

Thankfully the mobile world is bringing back the desktop applications concept,
while using the network for communication protocols as it is supposed to be.

~~~
dan-k
That's the exact opposite position from what Kay said:

"...what you definitely don't want in a Web browser is any features.... You
want to get those from the objects. You want it to be a mini-operating
system..."

Essentially he's saying that the way we think of browsers is holding the web
back. We could have collaborative WYSIWYG editing of Wikipedia or blogs, for
example, but instead we're stuck with just reading documents.

Perhaps it would be correct to say that the web was designed for reading
documents, but it shouldn't have been (at least according to Kay).

------
anigbrowl
Excellent interview - Kay has some hard truths to tell and calls out a lot of
BS.

~~~
paganel
Totally agree with you, but looking at the comments above it seems like we've
been imprisoned for so long in this glorious cave called the World Wide Web
that we've forgot how we could have transformed the real outside world.
(<http://en.wikipedia.org/wiki/Allegory_of_the_Cave>)

~~~
filipncs
I think I can guess the answer, but do you think that perhaps there could be
any other reason, just any at all, that people don't see it your way?

Once you've started explaining away why people disagree you with that kind of
rhetoric, it's really hard to learn anything from them.

~~~
paganel
> but do you think that perhaps there could be any other reason, just any at
> all, that people don't see it your way?

Of course that I'm aware of that, I'm not that self-centered :)

> Once you've started explaining away why people disagree you with that kind
> of rhetoric, it's really hard to learn anything from them.

English is not my primary language, so I'm not 100% sure I understand what
you're saying, but in case you're suggesting that I'm full of what will turn
out to be empty rhetoric then of course that you have the right to your
opinion.

Anyway, I find it crazy that a guy like me (I think I'm in HN's bottom bracket
when it comes to programming- or CS-ability) somehow sort of "defends" a guy
like Alan Kay. I'm only doing it for the energy, the passion, the whatever-
you-want-to-call-it that always gets to me when I'm reading Alan Kay's
interviews. I agree it's something subjective.

------
limist
There's a compelling quote within the first page: _But the thing that
traumatized me occurred a couple years later, when I found an old copy of Life
magazine that had the Margaret Bourke-White photos from Buchenwald. This was
in the 1940s — no TV, living on a farm. That's when I realized that adults
were dangerous. Like, really dangerous. I forgot about those pictures for a
few years, but I had nightmares. But I had forgotten where the images came
from. Seven or eight years later, I started getting memories back in snatches,
and I went back and found the magazine. That probably was the turning point
that changed my entire attitude toward life. It was responsible for getting me
interested in education. My interest in education is unglamorous. I don't have
an enormous desire to help children, but I have an enormous desire to create
better adults._

Here's a link to the photos (some unpublished) that he refers to:
[http://life.time.com/history/behind-the-picture-bourke-
white...](http://life.time.com/history/behind-the-picture-bourke-white-and-
the-liberation-of-buchenwald/#1)

------
gits1225
Why is the title of the post renamed? Should the titles be boring and dry
instead of being informative one line summary of the article that people may
find interesting enough to read it?

Look what happened to the previous submission of the same article here on HN:
<http://news.ycombinator.com/item?id=4224966>. Such a good article went
unnoticed because the title was plain unattractive.

Can we have a little bit of 'submitters freedom' here?

P.S: Original title was: "Internet by Brilliant minds, Web by Amateurs,
Browser a lament"

~~~
chris_wot
I actually think it was a good rename. He said a lot more than that, and
sensational titles aren't really needed on HN.

~~~
gits1225
I do agree on 'cheap' sensational titles, but I don't think mine was. I think
it was a better title more in-line to what Alan Kay _emphasized_ in the
article, giving it a bit of context to interest someone to read a great
interview, instead of just a generic 'Click Here' like the previous
submitter's, leading people to think it was not worth 'clicking through'.

~~~
chris_wot
Fair comment - on further reflection I agree, the title was reasonable as it
highlighted the emphasis placed by Alan Kay. It wasn't the title that was
sensational, it what Alan Kay said in the interview. Apologies for suggesting
otherwise!

------
jorangreef
Browsers were built around the idea of web pages, not web apps. The security
model works for web pages but precludes powerful web apps. There needs to be a
way for a user to grant UDP, TCP or POSIX power to a web app, because
WebSockets are not TCP, and IndexedDB is not POSIX and never can be. Just UDP,
TCP and POSIX and we're done. Let the community build everything better and
faster on top.

------
nl
_If they reinvented what Engelbart, did we'd be way ahead of where we are
now._

I give you <http://www.dougengelbart.org/about/hyperscope.html>, implemented
in 2006 on that horrible web thing Kay complains about. So there is that...

------
ryanhuff
If the web had proper time to incubate without the pressures of the dotcom
craze, I suspect it would have developed in a much more controlled, and
systematic way. As we know, development was very chaotic and competitive.

I do think we will get to a better place eventually. After all, the web is
still a relatively new medium, especially when compared to the "Internet".

------
chris_wot
"You can't go to heaven unless you're baptized." Actually, no. Perhaps if you
are Roman Catholic (and even then that's questionable); Evangelical Christians
either believe that you don't do anything to get to heaven and Jesus saves
you, or you choose to believe that Jesus Christ died as one perfect sacrifice
for the forgiveness of those who follow Jesus.

You may not agree, but I'm pointing out that the statement by Kay is pretty
inaccruate.

~~~
jorangreef
There are many interpretations of what it means to follow Christ. The rational
interpretation is Christ's own interpretation, the historical gospel story,
from the beginning of the Old Testament right through to the end of the New
Testament. The Scriptures are historical, they provide the facts of the
events. Thankfully they are also theological and interpret the meaning of the
events. Did it happen? What does it mean?

~~~
sp332
Fundamentalist radical literalist Christian here :) It's simple: when Jesus
and two thieves were being crucified together, he told one of them that he
would see him in paradise that day. Ergo, baptism is not a necessary
requirement of getting to heaven.

[https://www.biblegateway.com/passage/?search=luke%2023&v...](https://www.biblegateway.com/passage/?search=luke%2023&version=HCSB)
(I would start around verse 32)

------
chris_wot
Is this how he really said it, or was the author paraphrasing?

------
haberman
I haven't read too much Alan Kay before, but this interview made me realize
that he's not really the inventor of object-orientation as we currently think
of it. He says as much directly in the interview:

"And that's true of most of the things that are called object-oriented systems
today. None of them are object-oriented systems according to my definition.
Objects were a radical idea, then they got retrograded."

It sounds like his conception of "objects" is a more user-facing thing; an
object is something you see on your screen and can interact with and
manipulate by programming. This view blurs the line between users and
programmers. I'm not sure this is a terribly realistic model for how normal
people want to interact with computers. For all his disdain for the web, it
has succeeded in bring content to over 2B people worldwide, most of whom
wouldn't have the first idea what to do with a Smalltalk environment.

~~~
eterps
_I haven't read too much Alan Kay before, but this interview made me realize
that he's not really the inventor of object-orientation as we currently think
of it._

Alan Kay is really the inventor of object-orientation. But when the concept of
"type bound procedures" was added to compiled languages like C (making it
C++), they called it object-orientation, even though type bound procedures are
a different thing than object-orientation. Real object orientation is about
sending messages between objects, those messages do not have to be predefined,
they are not dependent of type hierarchies, they can be arbitrary, they can be
relayed, ignored, broadcasted etc. You do not need classes or types at all to
be object-oriented by Kay's definition.

~~~
haberman
Nothing you said contradicts my comment at all. I said "he's not really the
inventor of object-orientation _as we currently think of it_." What we
currently think of as object-orientation is not what he invented. I don't see
what's controversial about this, since he said exactly this in the interview,
and I'm not understanding the downvotes to -3. The second part of my comment
was expressing basically the same sentiment as this comment, which was not
downvoted into oblivion: <http://news.ycombinator.com/item?id=4229788>

~~~
Ralith
You also said

> It sounds like his conception of "objects" is a more user-facing thing; an
> object is something you see on your screen and can interact with and
> manipulate by programming. This view blurs the line between users and
> programmers. I'm not sure this is a terribly realistic model for how normal
> people want to interact with computers.

Which misrepresents his contribution rather badly.

~~~
haberman
From the interview:

KAY: We didn't use an operating system at PARC. We didn't have applications
either.

BINSTOCK: So it was just an object loader?

KAY: An object exchanger, really. The user interface's job was to ask objects
to show themselves and to composite those views with other ones.

BINSTOCK: You really radicalized the idea of objects by making everything in
the system an object.

KAY: No, I didn't. I mean, I made up the term "objects." Since we did objects
first, there weren't any objects to radicalize. We started off with that view
of objects, which is exactly the same as the view we had of what the Internet
had to be, except in software.

I realize that objects in Smalltalk were not all graphical, but this concept
of objects as graphical entities seems to be near and dear to his heart.

~~~
Ralith
The interview does not discuss Kay's contributions in any depth. You have
misunderstood them as a result of making weak inferences and not doing any
further research.

~~~
haberman
You're right that I don't know his work that well and probably extrapolated
too much from this interview. I just get a little irritated at people (even
smart, famous people) who criticize successful projects like the Web or
Wikipedia for not being good enough, or inferior to their own work, without
acknowledging that their success in the marketplace shows that they must have
done _something_ right.

I'm glad he's working on STEPS; I'm eager to see him push the boundaries of
what is possible, and if it succeeds, it will validate his ideas. But
Smalltalk and Squeak have been around for decades, and yet the Web and
Wikipedia are orders of magnitude more popular. So why does he have to bash
their creators as "amateurs" or "lacking imagination" when their ideas have
caught hold in a way that his work has not? What does he have to back up this
criticism? Sure, a lot of the ideas from Smalltalk and his early work on
object-oriented design have influenced other programming languages, but he
himself says that the way in which object-oriented design evolved runs counter
to his vision, not in support of it.

