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
24
オブジェクト指向の起源を探してみた
オブジェクト指向の起源について調べてみました。なかなかややこしく調べきれませんでしたが、ある程度の概要は書けたと思います。
まりも
September 24, 2024
Tweet
Share
More Decks by まりも
See All by まりも
メンタルモデルから見るオブジェクト設計
hrmstrsmgs
0
110
技術的負債
hrmstrsmgs
0
150
よい設計のプログラムを作るには
hrmstrsmgs
0
56
歴史から理解するJavaScript
hrmstrsmgs
0
33
論理的な考え方
hrmstrsmgs
0
38
論理的な話し合いはなぜ必要か
hrmstrsmgs
0
22
腕のある技術者はなぜ
hrmstrsmgs
0
55
疑似乱数の生成
hrmstrsmgs
0
24
構造化プログラミング
hrmstrsmgs
0
48
Other Decks in Programming
See All in Programming
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
200
コードを読んで理解するko build
bells17
1
110
密集、ドキュメントのコロケーション with AWS Lambda
satoshi256kbyte
1
210
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
250
Introduction to kotlinx.rpc
arawn
0
770
ソフトウェアエンジニアの成長
masuda220
PRO
12
2.1k
未経験でSRE、はじめました! 組織を支える役割と軌跡
curekoshimizu
1
160
Honoをフロントエンドで使う 3つのやり方
yusukebe
7
3.5k
kintone開発を効率化するためにチームで試した施策とその結果を大放出!
oguemon
0
150
Ça bouge du côté des animations CSS !
goetter
2
150
Kotlinの開発でも AIをいい感じに使いたい / Making the Most of AI in Kotlin Development
kohii00
5
1.3k
Rails 1.0 のコードで学ぶ find_by* と method_missing の仕組み / Learn how find_by_* and method_missing work in Rails 1.0 code
maimux2x
1
230
Featured
See All Featured
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Rebuilding a faster, lazier Slack
samanthasiow
80
8.9k
A Tale of Four Properties
chriscoyier
158
23k
What's in a price? How to price your products and services
michaelherold
244
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Adopting Sorbet at Scale
ufuk
74
9.2k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
193
16k
Testing 201, or: Great Expectations
jmmastey
42
7.2k
The Power of CSS Pseudo Elements
geoffreycrofte
75
5.5k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
380
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
46
2.3k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.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
結論 わかりませんでした。 •歴史は闇に満ちている •なんとなく概要はわかったような