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
33
オブジェクト指向の起源を探してみた
オブジェクト指向の起源について調べてみました。なかなかややこしく調べきれませんでしたが、ある程度の概要は書けたと思います。
まりも
September 24, 2024
Tweet
Share
More Decks by まりも
See All by まりも
メンタルモデルから見るオブジェクト設計
hrmstrsmgs
0
200
技術的負債
hrmstrsmgs
0
220
よい設計のプログラムを作るには
hrmstrsmgs
0
73
歴史から理解するJavaScript
hrmstrsmgs
0
56
論理的な考え方
hrmstrsmgs
0
56
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
27
腕のある技術者はなぜ
hrmstrsmgs
0
71
疑似乱数の生成
hrmstrsmgs
0
39
構造化プログラミング
hrmstrsmgs
0
130
Other Decks in Programming
See All in Programming
コードとあなたと私の距離 / The Distance Between Code, You, and I
hiro_y
0
170
Claude CodeによるAI駆動開発の実践 〜そこから見えてきたこれからのプログラミング〜
iriikeita
0
290
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
320
理論と実務のギャップを超える
eycjur
0
140
monorepo の Go テストをはやくした〜い!~最小の依存解決への道のり~ / faster-testing-of-monorepos
convto
2
500
Devvox Belgium - Agentic AI Patterns
kdubois
1
120
『毎日の移動』を支えるGoバックエンド内製開発
yutautsugi
2
250
Building, Deploying, and Monitoring Ruby Web Applications with Falcon (Kaigi on Rails 2025)
ioquatix
4
2.2k
その面倒な作業、「Dart」にやらせませんか? Flutter開発者のための業務効率化
yordgenome03
1
130
Catch Up: Go Style Guide Update
andpad
0
230
Devoxx BE - Local Development in the AI Era
kdubois
0
130
Pull-Requestの内容を1クリックで動作確認可能にするワークフロー
natmark
2
520
Featured
See All Featured
Facilitating Awesome Meetings
lara
56
6.6k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Documentation Writing (for coders)
carmenintech
75
5.1k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
The World Runs on Bad Software
bkeepers
PRO
72
11k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
3.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.4k
How STYLIGHT went responsive
nonsquared
100
5.8k
Optimising Largest Contentful Paint
csswizardry
37
3.5k
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
結論 わかりませんでした。 •歴史は闇に満ちている •なんとなく概要はわかったような