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
脱オブジェクト指向講座(5分LT資料)
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Naoki Kishida
May 14, 2022
Programming
14k
10
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
脱オブジェクト指向講座(5分LT資料)
2022/5/14に開催されたTechFeed Conference 2022の5分LTでの登壇資料です
Naoki Kishida
May 14, 2022
More Decks by Naoki Kishida
See All by Naoki Kishida
Javaの型とAI時代に型が大事な理由 / java types and type in AI era
kishida
2
120
ローカルLLMでどこまでコードが書けるか / How much code can be written on a local LLM
kishida
2
440
ローカルLLM基礎知識 / local LLM basics 2025
kishida
30
17k
AIエージェントでのJava開発がはかどるMCPをAIを使って開発してみた / java mcp for jjug
kishida
5
1.2k
AIの弱点、やっぱりプログラミングは人間が(も)勉強しよう / YAPC AI and Programming
kishida
13
6.8k
海外登壇の心構え - コワクナイヨ - / how to prepare for a presentation abroad
kishida
2
170
Current States of Java Web Frameworks at JCConf 2025
kishida
0
1.8k
AIを活用し、今後に備えるための技術知識 / Basic Knowledge to Utilize AI
kishida
27
7.4k
LLMベースAIの基本 / basics of LLM based AI
kishida
13
3.7k
Other Decks in Programming
See All in Programming
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
110
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
12k
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
180
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.3k
dRuby over BLE
makicamel
2
330
Lessons from Spec-Driven Development
simas
PRO
0
150
Composerを使ったサプライチェーン攻撃の様子を眺めてみる #phpstudy
o0h
PRO
2
240
さぁV100、メモリをお食べ・・・
nilpe
0
130
DynamoDBには集計系のクエリがないけどなんとかしたい
musan
1
130
Vite+ Unified Toolchain for the Web
naokihaba
0
180
AIエージェントの隔離技術の徹底比較
kawayu
0
470
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
520
Featured
See All Featured
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
[RailsConf 2023] Rails as a piece of cake
palkan
59
6.7k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
160
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Darren the Foodie - Storyboard
khoart
PRO
3
3.4k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.7k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
200
Speed Design
sergeychernyshev
33
1.8k
Documentation Writing (for coders)
carmenintech
77
5.4k
Transcript
2022/05/14 脱オブジェクト指向講座 LINE Fukuoka きしだ なおき
05/14/2022 2 自己紹介 • きしだ なおき (@kis) • LINE Fukuoka
• 「プロになるJava」デテマス • 今日の話の具体的なコードのせてます
05/14/2022 3 「プログラミングの勉強を始めたけどオブジェクト指向わからん」 • 始めたばかりでオブジェクト指向なんか気にしなくていい • そもそもちゃんと処理が書けるようになろう • オブジェクト指向は30年前のコード整理術 •
いまはもっといろんな考え方がある • むしろいまの考え方にはあっていない
05/14/2022 4 オブジェクト指向の特徴 • オブジェクト指向ならではの特徴 • 継承によるモジュールの分類 • 継承による差分プログラミング •
データと処理をまとめるのはオブジェクト指向固有ではない • 抽象データ型 • オブジェクト指向の役割 • ポリモーフィズムを使った、状態の管理に対する差分プログラミング
05/14/2022 5 差分プログラミング • 似たような処理のうち異なる部分を抜き出す • メソッドは似たような処理のうち共通部分を抜き出す • CPUが遅くメモリが少ないときは継承が使われていた •
いまはラムダで 実装するのが手軽
05/14/2022 6 アプリケーションの構造 • レイヤー構造 • 各レイヤーはステートレス(状態をもたない) • 各レイヤーとの受け渡しは関数的 •
データは抽象データ型 • データとそのデータに処理をもつ • 正規化 • 表現のバリエーション • UIにはオブジェクト指向が適切 • しかしHTML(DOM)やWidgetでラップされる • アプリケーションはイベント処理を関数的に書く
05/14/2022 7 まとめ • コーディングテクニックとして関数型がつかえる • 差分プログラミングのためにオブジェクトの多態で難しい構造を作ら なくてよい • デザインパターンもほとんど不要
• ラムダの使えないC++でラムダをやる方法をシチュエーション別にまとめたもの • アプリケーション構造も関数的になる • データは抽象データとして考える • データとまとめる処理は正規化と表現のバリエーション • 他のオブジェクトとやりとりしない • そもそも処理が書けるようになってから