Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
オブジェクト指向の起源を探してみた
Search
まりも
September 24, 2024
Programming
0
32
オブジェクト指向の起源を探してみた
オブジェクト指向の起源について調べてみました。なかなかややこしく調べきれませんでしたが、ある程度の概要は書けたと思います。
まりも
September 24, 2024
Tweet
Share
More Decks by まりも
See All by まりも
メンタルモデルから見るオブジェクト設計
hrmstrsmgs
0
170
技術的負債
hrmstrsmgs
0
200
よい設計のプログラムを作るには
hrmstrsmgs
0
70
歴史から理解するJavaScript
hrmstrsmgs
0
55
論理的な考え方
hrmstrsmgs
0
51
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
27
腕のある技術者はなぜ
hrmstrsmgs
0
70
疑似乱数の生成
hrmstrsmgs
0
37
構造化プログラミング
hrmstrsmgs
0
100
Other Decks in Programming
See All in Programming
React 使いじゃなくても知っておきたい教養としての React
oukayuka
18
5.7k
なぜ今、Terraformの本を書いたのか? - 著者陣に聞く!『Terraformではじめる実践IaC』登壇資料
fufuhu
4
620
Nuances on Kubernetes - RubyConf Taiwan 2025
envek
0
170
あなたとJIT, 今すぐアセンブ ル
sisshiki1969
1
690
The State of Fluid (2025)
s2b
0
170
Flutter로 Gemini와 MCP를 활용한 Agentic App 만들기 - 박제창 2025 I/O Extended Seoul
itsmedreamwalker
0
140
Amazon Q CLI開発で学んだAIコーディングツールの使い方
licux
3
180
レガシープロジェクトで最大限AIの恩恵を受けられるようClaude Codeを利用する
tk1351
2
140
State of CSS 2025
benjaminkott
1
110
書き捨てではなく継続開発可能なコードをAIコーディングエージェントで書くために意識していること
shuyakinjo
1
280
画像コンペでのベースラインモデルの育て方
tattaka
3
1.7k
20250808_AIAgent勉強会_ClaudeCodeデータ分析の実運用〜競馬を題材に回収率100%の先を目指すメソッドとは〜
kkakeru
0
180
Featured
See All Featured
A Tale of Four Properties
chriscoyier
160
23k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
Rails Girls Zürich Keynote
gr2m
95
14k
How to train your dragon (web standard)
notwaldorf
96
6.2k
Into the Great Unknown - MozCon
thekraken
40
2k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
Done Done
chrislema
185
16k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Designing for Performance
lara
610
69k
Being A Developer After 40
akosma
90
590k
Music & Morning Musume
bryan
46
6.7k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
48
9.6k
Transcript
オブジェクト指向の起源 それは混沌から現れたらしい
結論から言うと わかりませんでした。 •歴史は闇に満ちている
SIMULA SIMULA •クラス •オブジェクト
オブジェクト指向言語の歴史 SIMULA Smalltalk C++ 1972 1983 1967 Java C# Ruby
Objective-C
オブジェクト指向 Alan Kay • すべてはオブジェクト • コンピューティングに関わるすべてのことを オブジェクトとそれへのメッセージ送信とし て表現
オブジェクト指向 Bjarne Stroustrup •『継承』機構と『多態性』を付加 した『抽象データ型』のスーパー セット
オブジェクト指向言語の歴史 SIMULA Smalltalk C++ 1972 1983 1967 Java C# Ruby
Objective-C オブジェクト 指向 Alan Kay Bjarne Stroustrup
仲が悪い? • オブジェクト指向(Object-Oriented)という言葉は私が作った。そのとき、C++ を想定していなかったことは確かだ • オブジェクト指向という言葉は失敗だった。本来オブジェクト指向が重視す べきは「オブジェクト」ではなく「メッセージング」であるにもかかわらず 「メッセージング」がおろそかにされているためである。 Alan Kay
• Smalltalkの影響は受けていない Bjarne Stroustrup
オブジェクト指向言語の歴史 SIMULA Smalltalk C++ 1972 1983 1967 Java C# Ruby
Objective-C オブジェクト 指向 Alan Kay Bjarne Stroustrup
抽象データ型 • データ構造とそれを直接操作する手続きをまとめて データ型の定義とすることでデータ抽象を実現する手 法またはそのひとまとまりとして定義されたデータ型 • 1969年 • Edsger Dijkstra
抽象データ型
CLI • 1975 • Barbara Liskov • 世界初のデータ抽象化機能をサポート したプログラミング言語 CLI
アクターモデル • 1973年 • 全てのものはアクターである • 非同期メッセージ通信 • Alan Kayの影響
アクターモデル
オブジェクト指向言語の歴史 SIMULA Smalltalk C++ 1972 1983 1967 Java C# Ruby
Objective-C オブジェクト 指向 Alan Kay Bjarne Stroustrup 抽象データ型 1969 CLU アクター モデル 1973
結論 わかりませんでした。 •歴史は闇に満ちている •なんとなく概要はわかったような