Swiftã¯éçè¨èªã§ãåçè¨èªã§ããªããã¨ãã話
swift-evolutionã®MLãèªãã§ãããé¢ç½ãã¡ã¼ã«ããã£ãã®ã§å人çã«ã¡ã¢ã¡ã¢ã https://lists.swift.org/pipermail/swift-evolution/Week-of-Mon-20151207/001948.html
Protocol Extensionã®method dispatchããããã«ããããdynamicã«ãã¹ãã ãã¨ããææ¡ããå¾ã ã«è©±ãããã¦Swiftã¯dynamicãstaticããããããããã¹ãã ã©ã¼ã®ãã¼ã®ã¨è©±ãæãã¦ããã¨ãããSwiftä½è ã®Chris Lattnerãéè¨ãã¦Swiftã®è¨è¨ææ³ã«ã¤ãã¦ã®è©±ãæ¸ãã¦ããã
ååã¯åè¨èªã®ãã©ãã¤ã ãææ³ã«ã¤ãã¦è©±ãã¦ãã¦ããã®ä¸ã§å¾åã§Swiftãã©ãããç«ã¡ä½ç½®ãç®æãã¦ããã®ãã説æãã¦ãã
ã¹ã¬ã®æµããå«ãã¦è¦ç´ããã¨ããããªæãã®äºè¨ã£ã¦ãã£ã½ãã
- Swiftã¯åä½çã«ã¯dynamicã«ãstaticã«ãå±ãã¦ããããã§ã¯ãªããäºæ¸¬å¯è½ãªããã©ã¼ãã³ã¹ã¨ãªãã¢ãã«ã«ãã¦ããã
- = JITä»»ãã§ä½ã§ãdynamicãã£ã¦ã®ã¯ç®æãã¦ãªãã
両è ã¤ã¤ãã³ã©ãã®
"opportunitistic" language
(æ¥åè¦çè¨èª)ã ã¨ãã¦ãããè¨èªçã«ã¯ãåºæ¬çã«ãã¤ãããã¯ã ãããããstatic compilerã使ã£ã¦JITãªãã«é«ãããã©ã¼ãã³ã¹ãå®ç¾ããããã«ä½ã£ã¦ããã
- ãã¨ãã°non-publicãªã¯ã©ã¹ãfinalã¨ãã¦è§£éãããã¨ã«ãã£ã¦ãdynamic dispatchã®ãä¸è©±ã«ãªããã«é«éã«åä½ããã¦ãã
- memo: Whole Module Optimization ã¨ãã«ã絡ã話ããã¦ãããã ã¨æããã
æ§æ¥ã®staticãdynamicãã¨ãã話ã¯Swiftã§ã¯éè¦ã§ã¯ãªãã¦ãæ¬å½ã«å®ç¾ãããã¢ãã«ã¯Programmer model
- Programmer model = ã¡ã³ã¿ã«ã¢ãã«ã¨ãã¦ã®ããã°ã©ã è¨èªã¢ãã«ãããã°ã©ããç解ããããã«åããã¨ãããã®ã
å人çã¡ã¢ãªãã§ãããã¾ãæ£ç¢ºãªæ¸ãæ¹ã«ãªã£ã¦ãªããããï¼;´â½ï½A``è±èªå¼±ããã誤解ãã¦ãããã ãã©ããããªè©±ã¿ãããééã£ã¦ãã誰ãçªã£è¾¼ãã§ï½
ãªããå人çã«ã¯å ã ã®ææ¡ã®æ¹ã«èå³ããã£ã¦è¦ã¦ããã ããæ確ãªçµè«ã¯åºã¦ãªãããã ã£ãã 話çã«ã¯ãSwift3ã§ããã辺ã®dispatchã®é¢ä¿ãããã£ã¨ç解ãããããªããã®ããªã