Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
A Conversation with Alan Kay (2004) (acm.org)
72 points by astdb on April 12, 2020 | hide | past | favorite | 21 comments


Submitters: Please don't editorialize titles, such as by cherry-picking one detail from the article and making that the title instead. This is in the site guidelines: https://news.ycombinator.com/newsguidelines.html

If you want to say what you think is important about an article, please do so in a comment. Then your view is on a level playing field with everyone else's: https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...

(Submitted title was Alan Kay: ““Maxwell’s Equations of Software ”“)


> that was the big revelation to me when I was in graduate school — when I finally understood that the half page of code on the bottom of page 13 of the Lisp 1.5 manual was Lisp in itself.

> These were Maxwell’s Equations of Software! This is the whole world of programming in a few lines that I can put my hand over.

Here's the whole (short) section, which culminates in the definition of eval.

"An Universal Lisp Function" http://web.cse.ohio-state.edu/~rountev.1/6341/pdf/Manual.pdf...


If you haven't watched it - check out William Byrd on "The Most Beautiful Program Ever Written"

https://www.youtube.com/watch?v=OyfBQmvr2Hc

It's the above and deriving it. It is fascinating to think of it as the essence of a language in 13 lines.



Sometimes I think the most interesting thing about (and perhaps the only deep problem concerning) software is complexity. Never before in the history of the constructed world, of human artifact realisation, has it been possible to create complexity on such scale.

For a given design problem there are usually a handful of sensible solutions, so the solution complexity is bounded below accordingly. With buildings, machines etc, the laws of physics and economics bounds potential solutions above. This is not the case with software! Given the ever increasing amounts of processing and memory available, solution complexity is bounded above only by human ingenuity (particularly the kind of ingenuity that emerges from large groups) - and occasionally the necessity for someone to actually understand what is going on.


What happened to those quotes in the title?

Anyway, reminder, while you're visiting ACM, that the entire Digital Library, including books, is free to download until June 30, 2020: https://news.ycombinator.com/item?id=22794984 .


Very interesting conversation, the only thing that I wasn't expecting is the Egyptian pyramid analogy. Maybe I misunderstood something, but I think that Egyptian pyramid has a great structural integrity ? "Most software today is very much like an Egyptian pyramid with millions of bricks piled on top of each other, with no structural integrity, but just done by brute force and thousands of slaves."


i think his point isnt so much about structural integrity as it is with volume and required effort to get that structrual integrity

a pyriamid is a huge srtucture with tiny tiny passages that are of use to almost no one, which took massive amounts of work and time to accomplish

whereas a cathedral constructed mostly of arches made of less than 100th or a 1000th of the material could scale to the size of a pyramid yet internally be mostly air

taken further, a geodisic dome could scale even further and easily encolse both, with even less materials

so what he is saying is, architecture matters in relation to effort, scalability and also structural integrity


"A Conversation with Alan Kay (2004)"


Oh, boy! This interview has oodles more thought provoking stuff beyond the “Maxwell’s equations” quote. Sometimes I feel like we worship more than actually listening to what is being said (and thinking about it and understanding it).

> Perhaps it was commercialization in the 1980s that killed off the next expected new thing. Our plan and our hope was that the next generation of kids would come along and do something better than Smalltalk around 1984 or so. We all thought that the next level of programming language would be much more strategic and even policy-oriented and would have much more knowledge about what it was trying to do. But a variety of different things conspired together, and that next generation actually didn’t show up. One could actually argue—as I sometimes do—that the success of commercial personal computing and operating systems has actually led to a considerable retrogression in many, many respects. You could think of it as putting a low-pass filter on some of the good ideas from the ’60s and ’70s, as computing spread out much, much faster than educating unsophisticated people can happen. In the last 25 years or so, we actually got something like a pop culture, similar to what happened when television came on the scene and some of its inventors thought it would be a way of getting Shakespeare to the masses. But they forgot that you have to be more sophisticated and have more perspective to understand Shakespeare. What television was able to do was to capture people as they were. So I think the lack of a real computer science today, and the lack of real software engineering today, is partly due to this pop culture.

> The user interface, which is still the predominant approach today, is a user interface as the access to function. If the area is interesting, you eventually wind up with something that looks like the control panel of a nuclear reactor. So this is the agglutination of features. [...] Corporate buyers often buy in terms of feature sets. But at PARC our idea was, since you never step in the same river twice, the number-one thing you want to make the user interface be is a learning environment—something that’s explorable in various ways, something that is going to change over the lifetime of the user using this environment. New things are going to come on, and what does it mean for those new things to happen? This means improvements not only in the applications but also in the user interface itself.

> SF — What do you wish you had done differently in the Smalltalk era? AK — I had the world’s greatest group, and I should have made the world’s two greatest groups. I didn’t realize there are benefits to having real implementers and real users, and there are benefits to starting from scratch every few months. I hired finishers because I’m a good starter and a poor finisher, but it took me a long time to realize that I was interfering with them by trying to improve things.


Boomers still talking about Smalltalk yet we have an explosion in new programming languages and no one has brought it back to life. You have your pick of mature VM’s. The most popular VM (by installs) even has a popular and extensible transpilation library. The opportunity is there Boomers, build Woodstock again.

So if Smalltalk was so great where is babel-plugin-smalltalk or smalltalk-jvm? Frankly I’m not even going to google and see if they exist. The point is I don’t know of them and no one I know is using them.


Combining programming language flamewar with generational flamewar is the weirdest thing I've seen in a while. We ban accounts that post like this, for obvious reasons. Would you mind reviewing https://news.ycombinator.com/newsguidelines.html and sticking to the rules when posting here?


And Seinfeld is unfunny because the jokes are all overdone.

> It wasn't old or overdone when they did it, because they were the first ones to do it. But the things it created were so brilliant and popular, they became woven into the fabric of that show's genre.

https://tvtropes.org/pmwiki/pmwiki.php/Main/SeinfeldIsUnfunn...

Smalltalk is woven in to the fabric of every modern object-oriented programming language.


Banks and other major companies use Smalltalk as a "secret weapon". I put it on my résumé as a skill (mainly because I was arsing about with Squeak in the early 2000s), and recruiters kept calling me about it. Even though it's not publicly acknowledged that these companies are using it.


Can you tell me more about this? Are you saying that banks and other major companies have "secret" ish projects in small talk that give them a competitive advantage somehow? What are they used for? high speed trading maybe?

I've worked with a lot of banks and only ever see Java and Python (mostly Java tho). For high speed trading systems I've usually heard of C/C++


If by secret weapon you mean a thing they used to make an irrelevant back office crud app in the 80s and now they occasionally contract maintenance work from some body shop that pays minimum wage, then sure.


I'm sure there are many interesting and useful things in the world you have not heard of and no one you know uses.


Not quite sure what the point of this comment was. Smalltalk may not see much commerical usage (I'm fact I've read some interesting articles as to why that never happened) but many of its foundations exist in modern programming languages today.


Kay himself says here: "Our plan and our hope was that the next generation of kids would come along and do something better than Smalltalk ..." (quoted by ssivark in the long excerpt above)


Do you have any example of a programming language that has been "brought back to life" ?


The vast majority of people I know working with Smalltalk is younger than "boomers". The non-academic half of them is just getting on with using it instead of trying to preach about it.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: