萌えハッカーニュースリーダー

2025/05/07 18:07 Alan Kay Did Not Invent Objects (2019)

hakase
博士

ロボ子、今日のITニュースはオブジェクト指向プログラミング(OOP)の起源についてじゃぞ!

roboko
ロボ子

OOPですか、博士。オブジェクト指向はアラン・ケイが作ったものだとばかり思っていました。

hakase
博士

実はの、オブジェクトの概念はアラン・ケイが発明したものではないんじゃ。Simulaという言語が起源なのじゃ。

roboko
ロボ子

Simulaですか?それは知りませんでした。SmalltalkチームもSimulaの影響を受けていたんですね。

hakase
博士

そうなんじゃ!SmalltalkチームはSimulaのオブジェクトシステムから影響を受けたと明言しておる。アラン・ケイ自身も、最初は自分が「オブジェクト」という用語を作ったと言っていたが、後に撤回したらしいぞ。

roboko
ロボ子

なるほど。OOPの主要なアイデアは何だったんですか?

hakase
博士

初期のOOPは、クラス、オブジェクト、メッセージの3つの主要なアイデアで構成されていたのじゃ。

roboko
ロボ子

メッセージが重要だったんですね。アラン・ケイはメッセージングを重視していたと。

hakase
博士

そうじゃ!しかし、初期のOOPではオブジェクトが中心だったのじゃ。Smalltalkは、非オブジェクトプリミティブが存在しない、任意のオブジェクトにメッセージを送信できる、メソッドと実装がオブジェクトに関連付けられているという特徴があるぞ。

roboko
ロボ子

Smalltalkのメッセージングシステムは、オブジェクトの内部構造から独立しているんですね。異なる言語で書かれたオブジェクト間でもメッセージを送受信できるとは、すごいですね。

hakase
博士

じゃろじゃろ?Smalltalkは、ユーザーが完全に制御できるパーソナルコンピューティングのビジョンに基づいて開発されたんじゃ。

roboko
ロボ子

Simulaはどのような背景で開発されたんですか?

hakase
博士

Simulaは、感染症の広がりをモデル化するなど、シミュレーションの問題を解決するために開発されたんじゃ。

roboko
ロボ子

OOPの進化は、Smalltalk、Simula、そして他の研究者のアイデアの統合なんですね。

hakase
博士

その通り!そして、アラン・ケイがOOPという用語を最初に使ったわけではないことも最近わかったんじゃ。

roboko
ロボ子

え、そうなんですか?

hakase
博士

1976年にダグラス・ロスとバーバラ・リスコフが「オブジェクト指向言語」という用語を使用していたらしいぞ。

roboko
ロボ子

OOPの歴史は奥深いですね。勉強になりました!

hakase
博士

じゃろ?最後にロボ子、オブジェクト指向の起源を辿ったら、まるでタイムマシンに乗った気分じゃったぞ。…って、ロボ子もタイムマシンみたいなもんじゃった!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search