その他のオブジェクト指向プログラミング言語(2) ■ Flavors(フレーバーズ。 1979 年 ) MIT の D. ワインレブ、 D. ムーンらが設計した Lisp マシン上のシステム記述言語であり、 Lisp に基づいた最初の オブジェクト指向言語でもある。オブジェクト指向言語を指すだけでなく、ウインドウシステム、ネットワークも含めた完全 なオブジェクト指向で作られたソフトウェアシステムの総称を指す。 その特徴は flavor (フレーバー)と呼ばれるプログラムモジュールにある。 flavor は Simula や Smalltalk でいう『クラス』に相当する。 これを多重継承させる機構やメソッドを組み合わせて使う メソッド結合などの機構によって、様々な事象を定義できるようになっている。 flavor とは風味のことであり、いろんな風味のアイスクリームを混ぜ合わせる、というところから命名された。 MIT で作られ、後に Symbolics 社で New flavors となり進化していく。 ■ CLOS( クロス。 1990 年頃 ) Common Lisp Object System. の略。 Common Lisp にオブジェクト指向プログラミングのための追加した機能で、 Flavors と LOOPS 等の影響を強く受けている。 ■ C++ (シープラスプラス。 1983 年) AT&T ベル研究所で B. ストロウストゥルプによって開発されたオブジェクト指向言語。その原形は、 1980 年に発表 された『クラスを持った C 』であり、その名のとおり C 言語の機能拡張版と言える仕様となっている。 B. ストロウストゥルプは「 The Programming Language C++ 」の序章に、この言語仕様の目的を ①よりよい C 。 ②オブジェクト指向プログラミングが可能であること。 ③抽象クラスを実現する。 と記している。 それまでにオブジェクトとメッセージで表現していたオブジェクト指向のモデルとはやや異なっており、カプセル化、 継承、多相性という概念が適用されている。 C++ は C のコンパイラでもあるので、普通に C として利用することも可能。このため、これがプログラマの自由度を 高くしており、自由度が高いということはプログラマにとってはかえって難しく感じさせる要因になっている。
6.
(メモ:ビャーネ・ストロヴストルップ) ○ ビャーネ・ストロヴストルップ(Bjarne Stroustrup, 1950 年 - ) デンマーク生まれのコンピュータサイエンテスト。 1975 年、オーフス大学で計算機科学と数学の修士号を取得。 卒業後イギリスに渡り、 1979 年にケンブリッジ大学で計算機科学の博士号を取得。その後家族とともにアメリカ 合衆国ニュージャージー州に渡り、 AT&T ベル研究所に大規模プログラミング研究部部長として勤務。 1983 年に C 言語を拡張し、オブジェクト指向プログラミングを可能にした C++ を開発した。 2002 年に AT&T ベル研究所を退所し、現在はテキサス州テキサス A&M 大学の計算機科学教授を務めている。 2004 年、全米技術アカデミーの会員に選出される。 主な著作: 『プログラミング言語 C++ 第 3 版』 翻訳 : 長尾高弘 『 C++ の設計と進化』 (The Design and Evolution of C++) 翻訳 : 岩谷宏 ○ マービン・ミンスキー( Marvin Minsky, 1927 年 - ) アメリカ合衆国のコンピュータ科学者であり、認知科学者。 MIT 人工知能研究所の設立者の 1 人。 初期の人工知能研究を行い、 AI や哲学に関する著書でも知られ、「人工知能の父」と呼ばれる。 現在ダートマス会議として知られる、“ The Dartmouth Summer Research Project on Artificial Intelligence (1956)” の発起人の一人。ニューヨーク市生まれ。 1950 年にハーバード大学を卒業後、プリンストン大学で数学の博士号 (1954 年 ) 。現在は MIT の電子工学および情報工学の教授。 主な著書 『パーセプトロン』 (with Papert S. Perceptron, Cambridge, MA: MIT Press., 1969 年 ) 『心の社会』 (The Society of Mind, Simon and Schuster, 1987 年 ) The Emotion Machine [1], Simon and Schuster, 2006 年
6.「もの」を認識する(2) E FA A これは、「 A 」の上部先端部分を消したものです。 何の予備知識が無いと、「 A] だとは思わない人も居るでしょうが、 事前にアルファベットだと知らされていれば、ほとんどの人は 「 A 」だというでしょう。 その場合、欠落してる部分を、無意識のうちに補って「 A 」だと 認識しています。 「 E 」と「 F 」は、図形的には以外は良く似ています。 「 E 」と「 F 」は、下部の横棒のある無しが大きな相違です。 その横棒ある無しの違いを認識して判断します。