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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
まりも
September 24, 2024
Programming
0
37
オブジェクト指向の起源を探してみた
オブジェクト指向の起源について調べてみました。なかなかややこしく調べきれませんでしたが、ある程度の概要は書けたと思います。
まりも
September 24, 2024
Tweet
Share
More Decks by まりも
See All by まりも
メンタルモデルから見るオブジェクト設計
hrmstrsmgs
0
250
技術的負債
hrmstrsmgs
0
270
よい設計のプログラムを作るには
hrmstrsmgs
0
88
歴史から理解するJavaScript
hrmstrsmgs
0
75
論理的な考え方
hrmstrsmgs
0
74
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
48
腕のある技術者はなぜ
hrmstrsmgs
0
95
疑似乱数の生成
hrmstrsmgs
0
49
構造化プログラミング
hrmstrsmgs
0
170
Other Decks in Programming
See All in Programming
野球解説AI Agentを開発してみた - 2026/02/27 LayerX社内LT会資料
shinyorke
PRO
0
340
20260315 AWSなんもわからん🥲
chiilog
2
160
20260313 - Grafana & Friends Taipei #1 - Kubernetes v1.36 的開發雜記:那些困在 Alpha 加護病房太久的 Metrics
tico88612
0
210
Go 1.26でのsliceのメモリアロケーション最適化 / Go 1.26 リリースパーティ #go126party
mazrean
1
420
Symfony + NelmioApiDocBundle を使った スキーマ駆動開発 / Schema Driven Development with NelmioApiDocBundle
okashoi
0
170
maplibre-gl-layers - 地図に移動体たくさん表示したい
kekyo
PRO
0
290
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
640
PHP 7.4でもOpenTelemetryゼロコード計装がしたい! / PHPerKaigi 2026
arthur1
1
120
Vuetify 3 → 4 何が変わった?差分と移行ポイント10分まとめ
koukimiura
0
150
Codex の「自走力」を高める
yorifuji
0
1.2k
[SF Ruby Feb'26] The Silicon Heel
palkan
0
110
S3ストレージクラスの「見える」「ある」「使える」は全部違う ─ 体験から見た、仕様の深淵を覗く
ya_ma23
0
690
Featured
See All Featured
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.7k
How to make the Groovebox
asonas
2
2k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
67
37k
ラッコキーワード サービス紹介資料
rakko
1
2.7M
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
200
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
WENDY [Excerpt]
tessaabrams
9
36k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
290
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
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
結論 わかりませんでした。 •歴史は闇に満ちている •なんとなく概要はわかったような