プロトタイプベース

るびまのまつもとさんの記事(http://jp.rubyist.net/magazine/?0010-Legwork)でプロトタイプベースのオブジェクト指向言語の歴史について1段落くらい述べられています。

歴史に関する記事ではないのであまり関係のない話ではありますが、プロトタイプベースといえば、Alan BorningのThingLabがかなり古いです。「上から下までプロトタイプベース」というわけではないですし、「言語とは何か」というような疑問もありますが、その後のいろいろなシステムの元になったことがそこかしこに見て取れます。。

"The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory" (http://portal.acm.org/citation.cfm?id=357147)

や"Classes versus prototypes in object-oriented languages" (http://portal.acm.org/citation.cfm?id=324538)
などが論文です。

Alan (Borning)以前にも考え方自体はあったと思うので、これが最初だとは言い切れないとも思いますが。前者の論文には、「マウスとは小さな箱型の物体で...」というような説明が書かれていたりするところも面白いです。

プロトタイプベースの言語は、「一度作ったオブジェクトの振る舞いを、オブジェクトを保ったまま変えていくことができる」というところでもっとも輝くように思うので、セッションごとにオブジェクト空間をまっさらにしてまたシステムを起動して変更したコードを読み込んで、という実行形態ではその良さが生かしきれない面はあるんですよね。

というわけで、次に何をしでかすか判らない人間が操作するGUIベースのシステムでは、対話的変更をそのままベースとなっているオブジェクトの変更としてマップできるので、きれいにいろいろなことができたりしてよいものではあります。