The Early History of Smalltalk (1993)

100 points48 comments7 hours ago
slowin

A lot of people don't know that Smalltalk heavily influenced NeXTSTEP and Objective-C. You'll see a lot of it in Interface Builder->Project Builder->XCode with the GUI serialization (and of course Obj-C message passing and general dynamic nature).

This is a good history:

https://computerhistory.org/blog/the-deep-history-of-your-ap...

show comments
Jtsummers

Some prior discussions on this:

https://news.ycombinator.com/item?id=31062369 - April 20, 2022 (45 comments)

https://news.ycombinator.com/item?id=25012425 - Nov 7, 2020 (28 comments)

https://news.ycombinator.com/item?id=17913668 - Sept 4, 2018 (69 comments)

https://news.ycombinator.com/item?id=9907556 - July 18, 2015 (5 comments)

https://news.ycombinator.com/item?id=9588316 - May 22, 2015 (5 comments)

https://news.ycombinator.com/item?id=7926141 - June 21, 2014 (10 comments)

https://news.ycombinator.com/item?id=1311282 - May 1, 2010 (17 comments)

jttnr

I had the pleasure of learning OOP with Smalltalk at university back in 2002. They used it as the second language (Lisp was the first) to teach the principles. I really loved it. What I admired most was that you “lived” in your program. Later on, Java (1.4) was taught, but coming from Smalltalk, everything felt cumbersome, especially working with collections. Of all the languages I’ve used in my professional career so far, only Ruby has sparked the same joy.

show comments
mwnorman2

Whenever this story (and all the related stories about PARC) re-surface, I am (writing now in late 2026) mostly sad about the incredible language that should have 'won' .. well .. everything!

The term 'footgun' unfortunately matches all too well: something so great, so powerful yet most of the time, even in the hands of well-intended folks, proceeds to shoot oneself in the foot. I was for more than a decade a professional Smalltalk developer (Telecommunications, Financial/Derivatives) but we were replaced by technically inferior systems, mostly Java, JavaScript and even VisualBasic. The HR person at the Financial company explained (after my exit interview!) that for the cost of a single Smalltalk developer, they could hire 4 or 5 lesser experienced programmers (less cognizant of how systems actually worked!). The HR folks preferred these hires: more selection, cheaper . etc. Sigh!

Am I a horrible person to enjoy so much (schadenfreude!) the upcoming AI/LLM footgun massacre?

show comments
bunderbunder

Somewhat related, I’ve been digesting this long but fascinating talk about the even earlier history of OOP, going all the way back to the 1950s. It’s from the perspective of someone who questions some early decisions about what OOP would become. Implementation inheritance, of course, which iirc is something Kay calls out as more accidental than principled language design decision in this paper. But also things like the physical arrangement of data in memory, and how all of this affects what kinds of problems will be easier or harder to solve.

https://youtu.be/wo84LFzx5nI

jdswain

There really should be a term for people that somehow got exposure to a tool (like Smalltalk) that despite being technically superior (or even just more interesting) but didn't succeed in popularity. They tend to be forever destined to long for a past when they had the freedom to use such a tool, and constantly bemoaning the state of current tools and listing the reasons why current tools are inferior.

crispyambulance

worrydream is Bret Victor's site. He gave some electrifying talks in the past like The Future of Programming (https://www.youtube.com/watch?v=8pTEmbeENF4). I really miss those!

chasil

What is really surprising to me is that Smalltalk was originally targeted as an educational language for children:

https://worrydream.com/EarlyHistoryOfSmalltalk/#smalltalkAnd...

In this way, it was the older brother of Logo, but with a core object scaffold that was far more influential.

show comments
NetMageSCW

I still have my August 1981 BYTE at work. It and the 1980 FORTH (or TIL) greatly influenced my preferences in programming languages.

(Oh, I also have the blue book, green book and red book at work.)

DonHopkins

I've OCR'ed and corrected Yoot Saito's 1992 interview with Alan Kay, and also restored the missing appendix sections with illustrations that are not included in Bret's version of Alan Kay's Early History of Smalltalk, and compiled and linked together indexes of people, institutions, technologies and a timeline:

Yoot Saito Alan Kay Interview: Introduction:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

In 1993, game designer Yutaka "Yoot" Saito interviewed Alan Kay for MACWORLD Japan, for the special issue marking the Macintosh's tenth anniversary (January 1994). The conversation was recorded on cassette and later transcribed. It had only been published in Japan.

Kay covers his own path through computing history: the Flex Machine, Xerox PARC, the graphical user interface, the Dynabook concept, and the creation of Smalltalk and object-oriented programming. He and Saito also discuss networking, education, simulation, and where personal computing might go next. Saito connects these ideas to game design.

During the interview both men appear to be working from Kay's HOPL paper, The Early History of Smalltalk, and its appendices as a shared reference. When Kay says "in that," "in there," or "in the appendix," the links in the transcript point to the relevant section where it can be identified.

The interview also documents Saito's role as a bridge between Japanese game and media culture and the US computing research that produced the personal computer.

Yoot Saito Alan Kay Interview:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

A Journey Through Computing History with Yoot Saito and Alan Kay

  Yoot towers wisely,
  Alan constructs the future—
  foundations of change.
And here are missing secions from Bret's version of Alan Kay's Early History of Smalltalk:

Early History of Smalltalk, Complete:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

Alan Kay's Early History of Smalltalk: Complete Local Edition

This is the local reading guide for Alan Kay's HOPL paper, The Early History Of Smalltalk, together with the restored appendix material, figures, presentation transcript, discussant remarks, Q&A, and related documentation preserved in this repository.

Credit and thanks to Bret Victor for publishing the cleaned-up HTML edition of the paper body and accompanying image set at worrydream/EarlyHistoryOfSmalltalk. The local paper body and EarlyHistoryOfSmalltalk-* PNG files are derived from Bret's public edition. The appendix Markdown files here are local readable renderings from the OCR/plain-text appendix sources and local scans.

The Early History Of Smalltalk:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

Detailed paper body index:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

Appendix I: KiddiKomp Memo 45:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

Appendix II: Smalltalk-72 Interpreter Design 47:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

Appendix III: Acknowledgments 50:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

Appendix IV: Event Driven Loop Example 53:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

Appendix V: Smalltalk-76 Internal Structures 54:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

Appendix VI: Smalltalk Documentation, HOPL Talk, and Discussion:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

References:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

Transcript of presentation:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

And I've made some additional cross references including the Yoot Saito Interview:

People:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

Institutions:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

Technologies:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

Timeline:

https://github.com/YootTowerManagement/YootTower/blob/main/Y...

wslh

Just yesterday I was talking with a friend who works at Instantiations [1]. They were founded in 1988, and still ship a new release every year of Smalltalk. What I find fascinating is that customers are actively building on it and seem happy.

[1] https://www.instantiations.com/

show comments
asdfman123

Why did they name a programming language after a skill most programmers are bad at?