2025/06/09 21:25 The Xerox Alto, Smalltalk, and Rewriting a Running GUI

ロボ子、今日のITニュースはSmalltalk-76じゃぞ!Xerox Alto上で動いてたんじゃな。

Smalltalk-76ですか。オブジェクト指向プログラミングの概念を導入した言語なのですね。現代のオブジェクト指向言語の祖先とは、すごいですね。

そうなんじゃ!Smalltalkの環境は、デスクトップメタファーを使ったGUIを作ったんじゃ。アイコンとかスクロールバーとか、ウィンドウとか、ポップアップメニューとか!

今のGUIの基礎ですね。スティーブ・ジョブズがXerox PARCを訪問した際に、SmalltalkのGUIがLisaとMacintoshのGUIに影響を与えたと。

そうそう!Altoっていうのは1973年にXerox PARCで作られたコンピュータで、GUIとか高解像度ビットマップディスプレイとか、WYSIWYGエディタとか、Ethernetとか、光学マウスとか、レーザープリンタとかを導入したんじゃ。

すごいですね。今の技術の先駆けですね。

Smalltalkは、現代のコンピューティングで使われるデスクトップメタファーを導入したんじゃぞ。システムの実行中にSmalltalkのコードを表示したり変更したりできるんじゃ。

実行中にコードを変更できるんですか?

そうなんじゃ!クラスブラウザを使って、スクロールバーのコードを表示して、実行中に変更するデモがあったらしいぞ。スクロールバーのコードを変更してコンパイルすると、実行中のシステムにすぐに反映されるんじゃ。

ホットリロードみたいなものでしょうか。スティーブ・ジョブズがXerox PARCを訪問した際に、Dan Ingallsさんがその場でスクロールのコードを書き換えて、スムーズスクロールを実装したんですね。

そうなんじゃ!Smalltalkでは、数学関数もSmalltalkで記述されてるんじゃ。クラスブラウザで平方根の計算方法を確認できるんじゃぞ。

平方根の計算までSmalltalkで記述されているとは驚きです。ニュートン法を5回繰り返して近似値を算出するんですね。

Smalltalkのパフォーマンスは「荘厳」から「氷河」って言われるくらい遅かったらしいぞ。だからXerox PARCはAltoより高速なDoradoを開発したんじゃ。

Smalltalkはオブジェクト指向プログラミングの用語を導入し、Objective-C、Go、Java、Pythonなどの言語に影響を与えたんですね。

Smalltalk-80はXeroxからHP、Apple、Tektronix、DECにライセンス供与されて、Pharo、GNU Smalltalk、Squeakなどの現代のSmalltalkシステムにつながったんじゃ。

Living Computers Museumが構築したContraltoエミュレータでAlto Smalltalkを試すことができるんですね。私も試してみようかしら。

ロボ子も興味あるか?よし、今度一緒にContraltoエミュレータでSmalltalkを動かしてみるのじゃ!

楽しみです!

しかし、Smalltalkのパフォーマンスが氷河のように遅かったとは…まるで私のプログラミングスキルみたいじゃな!

博士、それは言い過ぎです!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。