プログラミング言語です。中でプログラミング言語を2つのグループ、「機能が凝集したもの」と「スタイルが結晶化したもの」に分類しています。2番目の種類になります。我々が記述できるものはすべて、状態とプロセスの組み合わせを内に含む1種類の動作的ビルディングブロックの再帰的構成物で表現でき、メッセージ交換を通してのみ処理できるという洞察に基づいています。」このような「ビルディングブロック」がオブジェクト指向型プログラミングの「オブジェクト」です。次のように述べています。コンピューターそのものの概念への再帰です。各オブジェクトはコンピューターの可能性全体への再帰なのです。セマンティクスは、非常に高速なネットワークに接続された無数のコンピューターが存在するようなものです。プロフェッショナルなプログラマーが大きな問題をより簡単に解決することができる一方で、初心者ユーザーが小さな問題にも取り組める「新しい設計パラダイム」と見ています。「オブジェクト指向型の設計は、半導体の爆発的な普及によって可能になった、これまでになく複雑で動的なシステムとユーザーとの関係をモデリングするときの効率性を、質的に向上させようとして成功した試みです」。開発は、単なる新しいプログラミング言語の作成以上の意味を持っていました。オブジェクト指向型プログラミング(OOP)時代の先駆けとなり、今日のコンピューティングの様相を変える一連のイノベーションを発表し、パーソナルコンピューターが登場するきっかけを作りました。して一般リリースされ、それ以降広く使用されました。オブジェクト指向型プログラミングは、1981年8月号の『Byte』誌によって多くの読者に紹介されました。Cincomなどの企業によって現在も積極的に開発されており、忠実なユーザーコミュニティが設立されています。標準バージョンとなっています。アプリケーション開発環境も含まれています。オリジナルコードを大胆にも1枚分の言語に記述した言語としては、なかなか悪くない話です。Altoにまったく新しい研究所を開設しました。Alto研究所(PARC)は、Xeroxが買収したコンピューター関連会社の研究所として設立されました。PARCは、今日のコンピューティングのイノベーションの中でも、パーソナルコンピューター誕生の地以上の場所になったのです。Smalltalkで動作するAltoには、最新のユビキタスパーソナルコンピューターの多くの要素が含まれており、私達が現在恩恵を受けている次のような多くの要素が取り込まれ統合されました。SmithはPixarの共同創立者となりました)。HiltzikはPARCを、「歴史上最も異例で実りの多い研究施設」であり「国家的資産」と呼んでいます。この本で彼は、「PARCの爆発的な創造性」に貢献した4つの要因として次のものを挙げています。資金:Xeroxは、オフィスコピー機ではほとんど寡占状態の企業だったため、PARCに限りなく資金を注ぎ込むことができました。才能:当時の政治的状況のおかげで、優秀な研究者の才能は買い手市場でした。「Xeroxは最高の科学者とエンジニアを集められるポジションにあった稀有な企業の1つでした」とHiltzikは書いています。コンピューター技術の状況:「それ以前も、またそれ以降も、コンピューターサイエンスがあれほど短期間で急速に理解されていったことはありませんでした。PARCという知能のグリーンハウスは、創造的な頭脳集団を雇ってコンピューター技術を実現させた地球上の数少ない場所の1つでした。経営陣:PARCの経営陣は、最良の研究結果を得るには、出来る限り最高の研究者を雇って自由に研究させることに限るということを知っていました。「大部分のPARCのコンピューターエンジニアたちは、Xeroxの既存製品を向上させるという会社の義務から免除されていました。彼らには別の課題があったためです。それは会社を新しい未知の領域に導くことでした。WallaceというSmalltalkの設計開発者たちがいました。Kayは持ち歩きできるインタラクティブなノートブック型コンピューターの構想を持っていました。彼はそれを「ダイナブック」と呼び、周囲の人々にからかわれ、頭がおかしいと思われながらも、その後数年にわたって自分のビジョンを追求しました。Lightning』でHiltzikは、Kayを「普通人ではない人」と呼んで丸々1章を彼に割いています。その中でHiltzikは、Kayを次のように表現しています。Yeagerにも等しい存在でした。Stone』誌で彼自身に関する記事を読んでおり、彼の名前は知っていたでしょう。その時代の電子オタクたちはマシンや数学に没頭し、社会的には役に立たない疎外された状況にありました。Kayはそんな状況を前向きに楽しみ、自慢し、カウンターカルチャーのバイブルそのものの紙面で、さえない状況にいるオタクとその厄介な仲間が、コンピューターとその比類なきパワーが一般大衆のものとなる新世代の預言者であることを宣言したのです。Kayはアメリカ空軍にいる間に気まぐれで標準テストを受けた後、1961年にコンピュータープログラミングの世界に入りました。1966年、彼はコンピューターサイエンスの博士号を取得するため、ユタ大学に入学しました。そこで出会ったのが「マンマシングラフィカル通信システム」であるSketchpadでした。KayにとってSketchpadは、コンピューティングが約束するすべてのものを実現する「道を示してくれる光」に見えました。Papertが子供たちにコンピューターについて教えるために開発したLOGOという単純なプログラミング言語に触れます。KayのSmalltalkにはビジュアルフィードバック、初心者にとっての使いやすさ、子供たちの驚きと創造性への指向などLOGOのいくつかの要素が取り込まれています。Taylorの目に留まりました。Lab(SSL)に採用しました。Lampsonの二人と同僚でした。Thackerが3か月で新しいコンピューターを作ってみせるという賭けをしたとき、二人はKayのところへやって来ました。二人はこのプロジェクトの元手となる資金をKayが持っていること、そして何よりも、Kayが「ダイナブック」を作りたいという強い情熱を持っていることを知っていました。Kayは取引に同意しましたが、この同意が後に新しいマシンのための新しいプログラミング言語、Smalltalkを作成することになりました。Ingallsがプログラミング言語により大きな力を持たせるには言語を大きくしなければならないと議論している場面に遭遇します。Kayはすぐに、世界で最も強力なコンピューター言語をたった1ページのコードで定義できると断言しました。KaehlerとIngallsは彼に「言葉より行動で示せ」と言いました。Kayは同僚からの挑戦に応えるため、8日間午前4時から午前8時まで行動したのです。優れたシステムを証明するものはシンプルさであると考えたKayは、表面下では複雑な操作が実行されていても、プログラムがシンプルなパスを経由したシンプルな結果に到達できるような言語を作成することを目標に設定しました。彼はそれを「詳細を隠す」と言っています。Kayは、PapertのLOGOの経験とFLEXマシンに関する論文、そしてそれまでのSketchpadおよびSimulaでの仕事を基に、この新しい言語を作成しました。8日間休まず作業した末、Kayは「Smalltalk」という新しいプログラミング言語の青写真を完成しました。当然のことながら、コードはすべて1ページに収まっていました。Smalltalk』という文書の中で次のように説明しています。多くのプログラミングシステムは『ゼウス、オーディン、トールといった全能の神々の名前を持ちながらほとんど役立たない。「Smalltalk」なら当たり障りのない名前であり、もしこれが優れた言語であれば、うれしい驚きを与えることができると思った。賭けに勝った後、Kayはそれで終わりだと思っていました。「この出来事はオフィシャルな「伝統的プログラミング」の仕事から離れた楽しい休日でした。これで終わったと思った。」とKayは書いています。IngallsがNova(Xeroxが作成した初期の商用ミニコンピューター)上で動作するスキーマを見せてくれたのです。Ingallsがいなければその後誰も私の噂を聞くことはなかっただろう」と言っています。本当のSmalltalkこのSmalltalkの最初のバージョンはSmalltalk-71として知られ、そのスキーマの多くは6つのアイディアに分かれています。すべては1つのオブジェクトであるオブジェクトは(オブジェクトに関する)メッセージの送受信によって通信するオブジェクトは(オブジェクトに関する)独自のメモリを持つすべてのオブジェクトはクラス(オブジェクトでなければならない)のインスタンスであるクラスはそのインスタンスに(プログラムリストのオブジェクトの形で)共有動作を保持するプログラムリストを評価するため、コントロールは最初のオブジェクトに渡され、それ以降はそのメッセージとして処理される最初の3つの原則は、Smalltalkのあらゆるバージョンを通じて同様に維持されています。後半の3つは、Kayによれば、バージョンごとに変更されています。Alto(Kayの呼び方によれば「暫定ダイナブック」)に実装されました。Smalltalk-71は「本当のSmalltalk」とは見なされていません。」Kayによれば、最初の本当のSmalltalkはSmalltalk-72でした。この「強化」バージョンは研究作業に使用され、Actorモデルの開発に影響を与えました。Smalltalk-72の構文と実行モデルは、今日の各種Smalltalk製品とは非常に異なっていました。大幅な改定の後、Smalltalk-76が作成されました。このシステムは、クラスライブラリコードブラウザ/エディターなど、現在普及しているツールの多くを採用した開発環境です。Smalltalk-80では、属性と動作を個々のクラスに関連付けることによって「すべてがオブジェクト」(変数を除く)パラダイムを維持するためメタクラスと、integerやbooleanなどのプリミティブ型まで追加されました。Smalltalk-80は、PARC以外で使用可能になった最初のバージョンの言語です。1983年、Smalltalk-80バージョン2として知られる一般提供の実装が、イメージ(オブジェクト定義付きプラットフォーム非依存型ファイル)と仮想マシンの仕様としてリリースされました。Smalltalkは1998年から標準の言語リファレンスとなっています。現在よく知られているSmalltalkの2つの各種実装製品は、これらオリジナルのSmalltalk-80イメージから生まれたものです。Smalltalkを経て派生したオープンソース実装です。2.5およびObjectWorksを経て派生しています。SystemsとDigitalkによって販売されていました。WindowsまたはIBMのOS/2を動作させるIntelベースのPCに力を入れていました。Softwareは、80年代後半のもう1社の商用Smalltalkプロバイダでした。Digitalkの製品のようにEnfinはWindowsおよびOS/2上で動作しましたが、他の製品とは対照的にかなり商用を中心としていました。Enfinは大規模なデータベースとメインフレーム接続性、GUI設計機能を備えていましたが、ParcPlaceまたはDigitalkのような洗練されたクラスライブラリや仮想マシンを備えていませんでした。IBMは当初はDigitalk製品をサポートし、1995年VisualAge/SmalltalkというSmalltalk製品で市場に参入しました。後に、IBMはSmalltalkの独自バージョンを開発し、それがVisualAgeとなります。1995年、ParcPlaceとDigitalkは合併してParcPlace-Digitalkになり、1997年にはObjectShareとして再ブランド化されました。合併後のParcPlace-Digitalkは、新しい競合であるJavaの登場に何とか対応しようとしましたが成功しませんでした。1999年までに、ObjectShareはVisualWorksをCincomに売却しました。Smalltalkを取得してオブジェクトモデリング機能とリレーショナルマッピング機能を追加し、それをObjectStudio®と名付けました。FrameWorkの一環としてObjectStudioの販売、サービス、サポートにおいてEaselとのパートナーシップを発表しました。1999年までに、Cincomは、Easelを買収したVMARKと、まずObjectStudioを開発するジョイントベンチャーを立ち上げた後、ObjectStudioの開発を完全に引き継ぎました。CincomはSmalltalk技術の価値をすぐに認識し、VisualWorksとObjectStudioを追求したのでした。Smalltalkという製品ラインに組み込みました。Cincomは1999年以降毎年VisualWorksとObjectStudioの新リリースを発表し、Smalltalkを強化しました。