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
150
技術的負債
hrmstrsmgs
0
190
よい設計のプログラムを作るには
hrmstrsmgs
0
65
歴史から理解するJavaScript
hrmstrsmgs
0
50
論理的な考え方
hrmstrsmgs
0
47
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
26
腕のある技術者はなぜ
hrmstrsmgs
0
65
疑似乱数の生成
hrmstrsmgs
0
34
構造化プログラミング
hrmstrsmgs
0
85
Other Decks in Programming
See All in Programming
ペアプロ × 生成AI 現場での実践と課題について / generative-ai-in-pair-programming
codmoninc
2
20k
A full stack side project webapp all in Kotlin (KotlinConf 2025)
dankim
0
140
AI時代のソフトウェア開発を考える(2025/07版) / Agentic Software Engineering Findy 2025-07 Edition
twada
PRO
97
34k
オンコール⼊⾨〜ページャーが鳴る前に、あなたが備えられること〜 / Before The Pager Rings
yktakaha4
1
770
ニーリーにおけるプロダクトエンジニア
nealle
0
890
PHPで始める振る舞い駆動開発(Behaviour-Driven Development)
ohmori_yusuke
2
420
効率的な開発手段として VRTを活用する
ishkawa
0
150
明示と暗黙 ー PHPとGoの インターフェイスの違いを知る
shimabox
2
600
Composerが「依存解決」のためにどんな工夫をしているか #phpcon
o0h
PRO
1
330
TypeScriptでDXを上げろ! Hono編
yusukebe
3
650
PicoRuby on Rails
makicamel
2
140
ISUCON研修おかわり会 講義スライド
arfes0e2b3c
1
460
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Building Flexible Design Systems
yeseniaperezcruz
328
39k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Scaling GitHub
holman
460
140k
Building Adaptive Systems
keathley
43
2.7k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
How to Think Like a Performance Engineer
csswizardry
25
1.7k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Why Our Code Smells
bkeepers
PRO
336
57k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
970
Designing for Performance
lara
610
69k
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
結論 わかりませんでした。 •歴史は闇に満ちている •なんとなく概要はわかったような