Arantium Maestum

プログラミング、囲碁、読書の話題

アラン・ケイとJOSS

前回に続きJOSSについて。今回は「オブジェクト指向」の名付け親、Smalltalkの設計者などで知られるアラン・ケイがJOSSに影響を受けたらしい、という話。

ACMインタビュー

私がJOSSという言語を意識し出したのはアラン・ケイの2004年のACMインタビューを読んだ時だ:

queue.acm.org

Let’s say the adoption of programming languages has very often been somewhat accidental, and the emphasis has very often been on how easy it is to implement the programming language rather than on its actual merits and features. For instance, Basic would never have surfaced because there was always a language better than Basic for that purpose. That language was Joss, which predated Basic and was beautiful. But Basic happened to be on a GE timesharing system that was done by Dartmouth, and when GE decided to franchise that, it started spreading Basic around just because it was there, not because it had any intrinsic merits whatsoever.

このインタビューでJOSSが出てくるのはこの部分だけで、BASICを腐してその対比として「すでに存在するより優れたもの」の例としてJOSSを出している。しかしそれにしても"and was beautiful"というのはすごい賛辞ではないか。ケイがJOSSに感銘を受けている様が見てとれ、この言語・システムがケイにどのような影響を与えたのか非常に興味を覚えた。

BBCインタビュー

調べてみると、1990年のBBCによるドキュメンタリー"The Machine that Changed the World"でのアラン・ケイインタビューがまとめられていた:

openvault.wgbh.org

このインタビューではJOSSについてかなり深く語っていた。

まず「タイム・シェア」という観点からJOSSが非常に優れていたという話:

Right, in fact the best one of these was a system called JOSS at RAND Corporation in which the system was devoted entirely to running this single language. That made things much better. The language was designed for end users. It was the first thing that effected people the way spreadsheets do today. It was designed -- it had eight users on this 1950s machine, but the guy who did it, Cliff Shaw, was a real artist, and the feeling of using this system was unlike that of using anything else on a computer. And people who used that system thought of wanting all of their computing to have the same kind of aesthetic, warm feeling that you had when using JOSS.

"real artist"、"aesthetic, warm feeling that you had when using JOSS"とやはり最高級に近い賛辞だ。

次にケイの1968年の修論にもなったFLEXについて:

Interviewer: WHAT WERE YOU TRYING TO DO WITH FLEX?

Kay: Well, I worked on this machine with a guy by the name of Ed Cheadle who was, he was trying to do, really trying to invent what today we would call personal computing. And he had a little machine and he had a little Sony television set, and what he wanted was something for engineers that would allow them to -- he was an engineer -- and he wanted something that allow them to flexibly do calculations beyond the kinds of things that you do with a calculator. ... And then I sort of came and corrupted the design by wanting it to be for people other than engineers. I'd seen JOSS, and I'd also recently seen one of the first object-oriented programming languages, and I realized how important that could be. ...

So the result of this, this, this machine was a technological success and a sociological disaster. And it was the, the magnitude of the rejection by non-computer people we tried it on, that got me thinking about user interface for the first time. And I realized that what Cliff Shaw had done in JOSS was not a luxury, but a necessity. And so it, it led to other, other ways of looking at things.

エンジニアではないエンドユーザに利用されるシステムを(JOSSを念頭に)作りたいと考えてやってみたものの、UIに関してユーザ目線を徹底しなかった結果技術的には成功だったものの使われずに終わり、JOSSのインタフェースへのこだわりが"not a luxury, but a necessity"だと悟った、という話。その後のケイの貢献を考えると、この観点を得るきっかけの一つがJOSSだったというのはとても面白い。

I had called the FLEX machine a personal computer. I think that was the first use of that term. While I was trying to figure out what was wrong with it I happened to visit RAND Corporation over here in Santa Monica and saw sort of a follow-on system to JOSS that they had done for their end users who were people like RAND economists. These people loved JOSS but they hated to type. And so, in the same year the mouse was invented, the RAND people had invented the first really good tablet.

JOSSの後継(この場合のJOSSとは言語ではなく対話的環境を含んだシステムすべてだろう)としてRANDでは非エンジニアなユーザの使用に耐えるタブレットとそのシステムを作り上げていた。"in the same year the mouse was invented"とあるので1968年だろうか。

最後にJOSSとLOGOの関係:

I saw Seymour Papert's early work with LOGO for, here were children writing programs and that happened because they had taken great care to try and combine the power of the computer with an easy to use language. In fact they used the RAND JOSS as a model and used the power of LISP which had been developed a few years before as a an artificial intelligence language, put them together and that was the early LOGO.

LOGOはturtle graphicsなどで有名なLISPベースの教育的コンピューティングシステム・言語で、インタプリタによる対話的環境を実現していた。ここでケイは明確に"they used the RAND JOSS as a model"と書いていて興味深い。ただしLOGOのウィキペディア記事Logo (programming language) - WikipediaではJOSSへの言及はない(Smalltalkへの影響についての言及はある)。こちらについてはもうちょっと調べてみたいところだ。

まとめ

ここまでみていて、アラン・ケイがJOSSとその開発者であるCliff Shawに対し非常に敬意を持っていることがわかる。また「ユーザインタフェースへの徹底的なこだわりによる非エンジニアへのコンピュータシステムの提供」というケイの思想的背景の源流の一つが(実際にRANDに行って触れていた)JOSSであるということも。そしてSmalltalkのインスピレーションの一つとして知られているLOGOの裏にもJOSSがある(あるいは少なくともケイはそう考えていた)。

アラン・ケイが現在使われているコンピュータ・システムに多大な影響を与えたことはよく知られている。JOSSがそのケイの源流の一つであるなら、その思想と業績を通じてJOSSも(人知れず?)コンピュータ史に非常に大きな貢献をした、と考えられるのではないだろうか。