Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Swift ABI Stability Manifestoを読む
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Yad
February 08, 2017
Programming
3.1k
2
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Swift ABI Stability Manifestoを読む
2017/2/8 Kyobashi.swift x AKIBA.swift 合同勉強会 発表資料
Yad
February 08, 2017
More Decks by Yad
See All by Yad
ゲンバのクリーンアーキテクチャ - Scala play プロジェクト設計のお話 -
usrnameu1
15
4.9k
Other Decks in Programming
See All in Programming
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
330
速習iPhone Duo対応
yuukiw00w
2
980
Starting & Sustaining Code-Based E2E Testing for Non-Coding QA Teams( #jasstniigata )
teyamagu
PRO
1
980
AI時代のコードレビューは人に向けるな、仕組みに向けろ
texmeijin
5
3.6k
機械に任せるテスト、人が見るテスト ⽣成AIで引き直した、運⽤保守フェーズの線引き
dske104
0
180
[2026-09-26]空論ジェネリックプロセス~テスト資産とAIで紡ぐ、再現可能なパフォーマンスチューニングの話~
tosite
0
270
SalesForceを内製化!? ~ HR事業を支える顧客管理基盤のインフラを大公開 ~
oku053
0
170
コードレビューのボトルネックを"する側"と"される側"の両面から解消する
yub0n
2
1.6k
Rでドレミ/Do-Re-Mi_with_R
florets1
0
130
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
SREの越境 / SRE Collaboration
y0hgi
2
300
見えないものを探る要求要件定義に必要な基本的思考 / invisible-requirement-thinking
minodriven
15
8.3k
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Prompt Engineering for Job Search
mfonobong
0
500
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
WENDY [Excerpt]
tessaabrams
14
40k
Documentation Writing (for coders)
carmenintech
77
5.6k
Designing Powerful Visuals for Engaging Learning
tmiket
1
600
Darren the Foodie - Storyboard
khoart
PRO
4
4k
Faster Mobile Websites
deanohume
310
32k
Balancing Empowerment & Direction
lara
6
1.3k
Exploring anti-patterns in Rails
aemeredith
4
530
Transcript
4XJGU"#*4UBCJMJUZ .BOJGFTUPΛಡΉ ҆ୡ༐Ұ Ϋϥεϝιουגࣜձࣾ ݄ ⡥$MBTTNFUIPE *OD
҆ୡɹ༐Ұ • 2013/12 ೖࣾ • TwitterID: @UsrNameu1 • Github:
https://github.com/ UsrNameu1 • Blog: http://dev.classmethod.jp/ author/yad • ObjC/Swift/Scala/Python(R)
4XJGU"#*4UBCJMJUZ.BOJGFTUP ⡥$MBTTNFUIPE *OD IUUQTHJUIVCDPNBQQMFTXJGUCMPC NBTUFSEPDT"#*4UBCJMJUZ.BOJGFTUPNE
ຊͷτϐοΫ w 4XJGUͷকདྷతͳޓੑରԠ w "#*ΛֶͿಈػ w "#*ͱ w "#*҆ఆԽ
⡥$MBTTNFUIPE *OD
ຊͷτϐοΫ w 4XJGUͷকདྷతͳޓੑରԠ w "#*ΛֶͿಈػ w "#*ͱ w "#*҆ఆԽ
⡥$MBTTNFUIPE *OD
4XJGUͷকདྷతͳޓੑରԠ w ݹ͍όʔδϣϯͷ4XJGUίʔυͰ৽͍͠όʔδϣϯ ͷίϯύΠϥ͕ίϯύΠϧͰ͖ΔΑ͏ʹ w ϞδϡʔϧϑΝΠϧͷϑΥʔϚοτͷ҆ఆԽ w "#*ͷ҆ఆԽ ⡥$MBTTNFUIPE
*OD
⡥$MBTTNFUIPE *OD
ຊͷτϐοΫ w 4XJGUͷকདྷతͳޓੑରԠ w "#*ΛֶͿಈػ w "#*ͱ w "#*҆ఆԽ
⡥$MBTTNFUIPE *OD
"#*ΛֶͿಈػ w ඪ४ϥΠϒϥϦͷࣝΞοϓσʔτਏ͍ w Ұޙʹ͕ࣝݹ͘ͳͬͯΔͷਏ͍ ⡥$MBTTNFUIPE *OD 4XJGUͷΞοϓσʔτਏ͍
"#*ΛֶͿಈػ ⡥$MBTTNFUIPE *OD $ISJT-BUUOFSͷֶ w $ISJT-BUUOFS 4XJGUͱಉ࣌ʹ--7.ͷ࡞ऀ w "04"ຊষ--7.
w ޠ༁ϦϯΫ ɹIUUQNUBLBHJHJUIVCJPBPTBKB
"#*ΛֶͿಈػ ⡥$MBTTNFUIPE *OD $ISJT-BUUOFSͷֶ ͏ͻͱͭɺLLVMΛܰྔͳ··ʹอͪଓ͚͍ͯΔେ͖ͳಛ͕͋Δ (ϥΠϒϥϦΛ͏ΫϥΠΞϯτଆ͔ΒݟΔͱࢍ൱͕྆͋Δ)ɻ ͦΕɺաڈͷܾஅੵۃతʹݟͯ͠ɺաڈͱͷޓੑΛؾʹͤͣʹAPIΛ େ͖͘มߋ͍ͯ͘͠ͱ͍͏͜ͱͩɻ ͨͱ͑LLVM
IRࣗମʹେ෯ͳมߋΛՃ͑Δʹɺͯ͢ͷ࠷దԽύεͷมߋ ͕ඞཁʹͳΔɻ ͦͯͦ͠ΕɺC++ͷAPIʹେ͖ͳӨڹΛٴ΅͢ɻ LLVMͰաڈʹԿ͔ͦ͏͍͏͜ͱ͕͋ͬͨɻ ΫϥΠΞϯτଆʹͱͬͯਏ͔ͬͨͩΖ͏͕ɺࠓޙͷ։ൃΛॱௐʹਐΊ͍ͯ͘ ͨΊʹͦ͏͖ͩͬͨ͢ɻ
͏ͻͱͭɺLLVMΛܰྔͳ··ʹอͪଓ͚͍ͯΔେ͖ͳಛ͕͋Δ (ϥΠϒϥϦΛ͏ΫϥΠΞϯτଆ͔ΒݟΔͱࢍ൱͕྆͋Δ)ɻ ͦΕɺաڈͷܾஅੵۃతʹݟͯ͠ɺաڈͱͷޓੑΛؾʹͤͣʹAPIΛ େ͖͘มߋ͍ͯ͘͠ͱ͍͏͜ͱͩɻ ͨͱ͑LLVM IRࣗମʹେ෯ͳมߋΛՃ͑Δʹɺͯ͢ͷ࠷దԽύεͷมߋ ͕ඞཁʹͳΔɻ ͦͯͦ͠ΕɺC++ͷAPIʹେ͖ͳӨڹΛٴ΅͢ɻ LLVMͰաڈʹԿ͔ͦ͏͍͏͜ͱ͕͋ͬͨɻ ΫϥΠΞϯτଆʹͱͬͯਏ͔ͬͨͩΖ͏͕ɺࠓޙͷ։ൃΛॱௐʹਐΊ͍ͯ͘
ͨΊʹͦ͏͖ͩͬͨ͢ɻ "#*ΛֶͿಈػ ⡥$MBTTNFUIPE *OD $ISJT-BUUOFSͷֶ
⡥$MBTTNFUIPE *OD ͱ͍͑ɺਏ͍
"#*ΛֶͿಈػ w "#*ͷ҆ఆԽ w "#*෦ഁյతมߋ͕΄΅ͳ͘ͳΔ ⡥$MBTTNFUIPE *OD 4XJGUҎ߱
"#*ΛֶͿಈػ w "#*·ΘΓͷࣝḊͼͳ͍ w ଞͷਓ͕ͯ͠ͳ͍ωλ͕र͍͘͢ͳΔ ⡥$MBTTNFUIPE *OD ओཁͳಈػ
ຊͷτϐοΫ w 4XJGUͷকདྷతͳޓੑରԠ w "#*ΛֶͿಈػ w "#*ͱ w "#*҆ఆԽ
⡥$MBTTNFUIPE *OD
"#*ͱ ⡥$MBTTNFUIPE *OD w ࣮ߦ࣌ͷόΠφϦ͕ผϥΠϒϥϦΛ ݺͼग़࣌͢ʹ༻͍ΔΠϯλʔϑΣʔε 4XJGU4PVSDF #JOBSZ ֎෦ʹެ։͞Εͨ*'
֎෦ʹެ։͞Εͨ*'
"#*ͱ ⡥$MBTTNFUIPE *OD w ͭ·Γಠཱͨ͠όΠφϦͱͯ͠ίϯύΠϧ͞ΕɺϦϯ Ϋ͞ΕΔ࣌ʹຬ͖ͨ͢όΠφϦ --7.*3 ͷ༷ 4XJGU
4XJGU "#* #JOBSZ
ຊͷτϐοΫ w 4XJGUͷকདྷతͳޓੑରԠ w "#*ΛֶͿಈػ w "#*ͱ w "#*҆ఆԽ
⡥$MBTTNFUIPE *OD
"#*҆ఆԽ ⡥$MBTTNFUIPE *OD w ৽͍͠όʔδϣϯͷίϯύΠϥ͕ޓੑΛอͪͳ͕Β "#*ʹ४ڌͨ͠όΠφϦΛੜ͢ΔΑ͏ʹ"#*ʹറΓ Λ༩͑Δ #FGPSF "#*
#JOBSZ "GUFS
"#*҆ఆԽ ⡥$MBTTNFUIPE *OD w ҆ఆԽͷޙকདྷతʹ"#*BEEJUJWFͳՃ͕ߦΘΕ ΔՄೳੑ͋Γɻͨͩ͜͠ͷՃഁյతมߋͰͳ͍ Ճલ "#* #JOBSZ
Ճޙ
"#*҆ఆԽ ⡥$MBTTNFUIPE *OD w όʔδϣϯ͕ҧ͏ίϯύΠϥͰϏϧυͨ͠ΞϓϦʹ04 ඪ४ϥΠϒϥϦΛಉࠝ͢Δඞཁ͕ͳ͘ͳΔ #FGPSF "#* -JC
#JOBSZ "GUFS "QQ #JOBSZ OFX04 PME04 ͇ ҟͳΔ7FSͷϥΠϒϥϦͰ "#*ޓੑ͕ͳ͍ ɹɹɹɹɹɹɹˣ 04ͷΞοϓσʔτͰ-JCόΠφϦͷ *'Λҡ࣋Ͱ͖ͳ͘ͳΔ
"#*҆ఆԽ ⡥$MBTTNFUIPE *OD w όʔδϣϯ͕ҧ͏ίϯύΠϥͰϏϧυͨ͠ΞϓϦʹ04 ඪ४ϥΠϒϥϦΛಉࠝ͢Δඞཁ͕ͳ͘ͳΔ #FGPSF "#* -JC
#JOBSZ "GUFS "QQ #JOBSZ OFX04 PME04 0 OFX04 PME04
"#*҆ఆԽ ⡥$MBTTNFUIPE *OD w όʔδϣϯ͕ҧ͏ίϯύΠϥͰϏϧυͨ͠ΞϓϦʹ04 ඪ४ϥΠϒϥϦΛಉࠝ͢Δඞཁ͕ͳ͘ͳΔ #FGPSF "GUFS
0 OFX04 PME04 ҟͳΔ7FSͷϥΠϒϥϦͰ "#*ޓੑ͕͋Δ ɹɹɹɹɹɹɹɹˣ 04ͷΞοϓσʔτͰ-JCόΠφϦͷ *'ҡ࣋͞ΕΔ ɹɹɹɹɹɹɹɹˣ "QQόΠφϦ͔Β৽-JCόΠφϦΛ ݺͼग़ͯ͠ͳ͍
"#*҆ఆԽ ⡥$MBTTNFUIPE *OD w όʔδϣϯ͕ҧ͏ίϯύΠϥͰϏϧυͨ͠ΞϓϦʹ04 ඪ४ϥΠϒϥϦΛಉࠝ͢Δඞཁ͕ͳ͘ͳΔ #FGPSF "#* -JC
#JOBSZ "GUFS "QQ #JOBSZ OFX04 PME04 0 OFX04 PME04
"#*҆ఆԽ ⡥$MBTTNFUIPE *OD w ଞʹϥϯλΠϜɺΠϯϥΠϯԽʹؔ͢Δ༷͕҆ఆ Խͷ՝ʹͳ͍ͬͯΔ༷
ࢀߟαΠτ ⡥$MBTTNFUIPE *OD w 4XJGU"#*4UBCJMJUZ.BOJGFTUPSFWGE IUUQTHJUIVCDPNBQQMFTXJGUCMPCNBTUFSEPDT"#*4UBCJMJUZ.BOJGFTUPNE w 4XJGUͷ։ൃͷৼΓฦΓͱ4XJGUͷܭը͕ه͞Εͨϝʔϧͷհ IUUQRJJUBDPNNPOPJUFNTDCGBFFFEC
w 4XJGUΛ͍·͔ΒֶͿ4XJGU&WPMVUJPOΥονϯά IUUQEFWFMPQFSIBUFOBTUB⒎DPNFOUSZMFBSOBCPVUTXJGUQPJOUGSPNTXJGUFWPMVUJPO
ࢀߟαΠτ ⡥$MBTTNFUIPE *OD w 5IF4XJGU"#* IUUQTHJUIVCDPNBQQMFTXJGUCMPCNBTUFSEPDT"#*STU w 5IF4XJGU3VOUJNF IUUQTHJUIVCDPNBQQMFTXJGUCMPCNBTUFSEPDT3VOUJNFNE