More Related Content
Similar to Bjarne dont speaking
Similar to Bjarne dont speaking (20)
More from Akira Takahashi
More from Akira Takahashi (20)
Bjarne dont speaking
- 3. ãé¡
⢠䞊ååŠç
⢠ãããã¯ãŒã¯
⢠ã³ã³ãã¥ãŒã¿ããžã§ã³
⢠ã¡ã¿ããã°ã©ãã³ã°
- 4. Chapter 1
䞊ååŠç
Parallel Processing
- 5. ã¿ã飯ã®æéã¯ãšã£ãã«çµãã£ãŠã
⢠æã
ããããªã«æã§ã¯ãªãããã©ã
é
ãããã°ã©ã ãçµãã§ããã ãŒã¢ã®æ³åã«ãã£ãŠã³ã³
ãã¥ãŒã¿ãéããªãã®ãåŸ
ã£ãŠããã°ããæ代ããããŸããã
⢠ã ãŒã¢ã®æ³åã«éçãèŠããŠãã³ã³ãã¥ãŒã¿ãåçŽã«ã¯éã
ãªããªããªã£ãæ代ãå°æ¥ãããšã
ãThe Free Lunch is Over(ã¿ã飯ã®æéã¯çµããã )ã
ãšãã宣èšããªããã䞊åããã°ã©ãã³ã°ã®æ代ããã£ãŠããŸ
ããã
- 9. 䞊åããã°ã©ãã³ã°ã®é£ãã
⢠䞊åããã°ã©ãã³ã°ã§ã¯ãè€æ°ã®ã¿ã¹ã¯ããåãå€æ°ã«ã¢ã¯ã»ã¹ããå Žå
ã«åé¡ãèµ·ããã
ããã¯åå ã®è¿œãã«ãããã°ãçã¿åºããããã
(ãã¥ãŒããã¯ã¹ãšåŒã°ããä»çµã¿ã«ãã£ãŠãåæã«1人ããã¢ã¯ã»ã¹ã§ããª
ãããããã¯ããããšãã§ãããããããããã¯ã管çã®è€éåãªã©ã§åé¡
ãèµ·ãåŸã)
⢠ç¬ç«ããã¿ã¹ã¯ã«ãªããã匷ãæèããŠèšèšããå¿
èŠãããã
static int x = 0;
void f() { ⊠x = 1; }
void g() { ⊠x = 2; }
thread t1(f);
thread t2(g);
// xã®å€ã¯ã©ããªãã ããïŒ
- 12. ä»ã®äžŠåããã°ã©ãã³ã°ã®ã¢ãããŒã
⢠Lock-free
ãã¥ãŒããã¯ã¹ã«ããå
±æå€æ°ã®ããã¯ã¯éããããCompare and
Swap(CAS)ãšåŒã°ãã軜éã®ç«¶åãã§ã㯠+ ç Žå£çæäœãè¡ã
Lock-freeãšããææ³ã浞éããŠããŠããã
(æœè±¡ã®äžã«é ãã®ãäžè¬ç)
⢠GPGPU(General-purpose computing on GPU)
è¿å¹Žã®GPUã¯1,000ãè¶
ãã倧éã®ã³ã¢ãæã£ãŠãããããåæåŠ
çã«åããŠãããGPGPUã¯ãGPUã®èœåãGPUæ¬æ¥ã®èšç®ä»¥å€ã®
çšéã«å¿çšããæè¡ã§ããã
⢠åæ£åŠç
ãã¯ãäžã€ã®ãã·ã³ã ãã§ã¯åŠçããããªã巚倧ããŒã¿ãèšç®ã
æ±ãããã«ãè€æ°ã®ãµãŒããŒã«åŠçãåæ£ãããææ³ã§ããã
- 13. Chapter 2
ãããã¯ãŒã¯ããã°ã©ãã³ã°
Network Programming
- 18. éä¿¡ã§äœ¿çšãããããŒã¿åœ¢åŒ
éä¿¡ã§äœ¿çšãããäž»ãªããŒã¿åœ¢åŒã¯ä»¥äžïŒ
â¢XML
HTMLã©ã€ã¯ãªãã¿ã°ã§å²ãã§å€ãèšè¿°ãã圢åŒ
â¢JSON
ååãšå€ã®çµã§ããŒã¿ãè¡šçŸããçãè¡šèšã§åãè¡šçŸã§ããããŒã¿åœ¢åŒ
â¢MessagePack
èšèªééä¿¡ãæå³ããæ±çšãã€ããªåœ¢åŒãããŒã¿ã¯çŸåšã®ãšãã
æãå°ãããªãã
ã©ã€ãã©ãªã䜿çšããŠããŠãŒã¶ãŒå®çŸ©åããããã®ããŒã¿åœ¢åŒã«
ã·ãªã¢ã©ã€ãºããŠéä¿¡ã§éåä¿¡ããã®ãäžè¬çã§ããã
- 19. Chapter 3
ã³ã³ãã¥ãŒã¿ããžã§ã³
Computer Vision
- 23. ã³ã³ãã¥ãŒã¿ããžã§ã³ã¯ã©ãã§äœ¿ãããã
⢠ç»ååŠçèªäœã¯ãã²ãŒã ããäžè¬çãªãœãããŠã§ã¢ã§ã䜿ãããŠã
ãããè¿å¹Žã¯ç»åèªèããã身è¿ã«ãªã£ãŠããã
⢠æ¡åŒµçŸå®(AR : Augmented Reality)ãšåŒã°ãããçŸå®ã®æ åãšä»®æ³
çãªç©äœãåæããŠãŠãŒã¶ãŒã«æ瀺ããæè¡ã泚ç®ãããŠããŠã
ãã
⢠ãŸããKinectãšããããã€ã¹ã«ãã£ãŠãé«æ©èœãªã»ã³ãµã«ããç»å
èªèãäœäŸ¡æ Œã§å¯èœãšãªã£ããããäžè¬ãŠãŒã¶ãŒãç»åèªèãšã
ãæè¡ã«è§Šããæ©äŒãå€ããªã£ãŠããã
äžè¬ã®ãœãããŠã§ã¢éçºè
ã«ãã³ã³ãã¥ãŒã¿ããžã§ã³ãæ±ãæè¡ã»ç¥è
ãæ±ããããããã«ãªã£ãŠããŠããã
- 24. OpenCV
⢠ã³ã³ãã¥ãŒã¿ããžã§ã³ã§ã¯ãOpenCVãšãããªãŒãã³ãœãŒã¹ã®ã©
ã€ãã©ãªãåºã䜿ãããŠãããC++ã«ã察å¿ããŠããã
⢠ãã®ã©ã€ãã©ãªã¯ãã³ã³ãã¥ãŒã¿ããžã§ã³ã®å°éçãªæè¡ãæœ
象åããã¯ã©ã¹ã»é¢æ°ãšããŠæäŸããŠãããããå°éç¥èãã
ãã»ã©ãªããŠã䜿çšããããšãã§ããã
⢠æè¿ã§ã¯ãOpenMPã«ãã䞊ååŠçããCUDAã«ããGPGPU
ãžã®å¯Ÿå¿ãªã©ãè¡ãããŠããã
- 25. Chapter 4
ã¡ã¿ããã°ã©ãã³ã°
Metaprogramming
- 27. ã³ãŒãçæç³»ã¡ã¿ããã°ã©ãã³ã°
⢠èšèªã®éåžžã®æ§æã§ã¯æœè±¡åããããªãã³ãŒããèªåçæ
ããããã«ã¡ã¿ããã°ã©ãã³ã°ã䜿ãããããšãããã
C++03ã«ãããåå®å
šãªå¯å€åŒæ°ãçæããããã«äœ¿ãã
ããããã
⢠Microsoftã®T4 TemplateããåºçŸ©ã«ãããŠã¯ã³ãŒãçæç³»ã¡ã¿
ããã°ã©ãã³ã°ã®äžçš®ãšãšãããšãã§ããã
⢠ã³ããŒ&ããŒã¹ããã©ãããŠãå¿
èŠã«ãªã£ãŠããŸãå Žé¢ã§ãã³ãŒ
ãçæãèªååããã°1ç®æçŽãã°å
šãŠçŽãããšããå©ç¹ã
ãããã¡ã³ããã³ã¹ã容æã§ããã
- 28. æ§ææšæäœç³»ã¡ã¿ããã°ã©ãã³ã°
⢠æ§ææšæäœç³»ã¡ã¿ããã°ã©ãã³ã°ã¯ãèšèªã«å¯ŸããŠãŠãŒã¶ãŒ
ãç¬èªã®æ§æãè¿œå ããããä»»æã®ã³ã³ãã€ã«æãšã©ãŒãèŠ
åãçºçããããããã®ã«äœ¿çšããããšãã§ããã
⢠èšèªæ©èœãšããŠã¯ãLispãã¯ããGroovyã®ASTå€æãDèšèªã«
æèŒäºå®ã®ãã¯ããããã代衚äŸã§ããã
⢠ãŸããè¿å¹Žã§ã¯ã³ã³ãã€ã©ãã©ã°ã€ã³ãšãã圢ã§ãã³ã³ãã€ã©
ãæã£ãŠããæ§ææšçã®ã¡ã¿æ
å ±ãæœåºããæäœã§ããæ©èœ
ãæäŸããŠãããšãããåºãŠãã(äŸ: GCC, Clang, Scala)ã
ããã¯ãIDEã®äœæã«äœ¿ããã®ã¯ãã¡ããã®ããšã絶察ã³ãŒ
ãã£ã³ã°æšæºãªã©ãäœãåºãããšãã§ããã
- 29. åæäœç³»ã¡ã¿ããã°ã©ãã³ã°
⢠åæäœç³»ã¡ã¿ããã°ã©ãã³ã°ã¯ãåããåã®èŠä»¶ãéããã³ã³
ã»ããããšã«æé©ãªå®è£
ãéžæããããæé©åãã¢ãããã®
æ©æ§ãšããŠäœ¿ãããããšãå€ãã
⢠ãŠãŒã¶ãŒå®çŸ©åã¯ã³ã³ãã€ã©ã®æé©åãå±ããªãé åã§ã
ãããããããã£ãããšãå¿
èŠã«ãªãã
ãæœè±¡åã«ã¯ã³ã¹ãããšããªãããšèšãããåé¡ãžã®ã¢ãããŒ
ãã
⢠ã³ã³ãã€ã«æã«æŠç¥ãåãæ¿ããPolicy-based Designã¯ãæœ
象åãããå®è£
ãã²ãšã€ã ãçšæããã®ã§ã¯ãªãããããã
èŠæ±ã«å¿ããããã«çšéå¥ã®æé©ãªå®è£
ãåãæ¿ããã®ã«
䜿çšãããã
- 30. EDSL(Embedded Domain Specific Language)ã®äœæ
⢠ããŒã¿ããŒã¹æäœãæ§æ解æãšãã£ãç¹å®ã®ãã¡ã€ã³ã®ãã
ã®æ§æãã»ãããªãããšãããã
ãããã£ãå Žåã«ãæŒç®åãªã©ã«æ°ããªæå³ãæãããŠèšèª
å
èšèªãäœãããšã§æçšãšãªãåŸãã
⢠äŸïŒ
â EBNFã©ã€ã¯ãªæ§æ解æãC++äžã§è¡ãBoost.Spirit
â C++03ã§ã©ã ãåŒãè¡šçŸããBoost.Lambda
â Erlangã©ã€ã¯ãªæ§æã§ã¢ã¯ã¿ãŒã¢ãã«ãè¡šçŸããScalaã®Actor
â Scalaã§ããŒã¿ããŒã¹æäœã®ããã®Rogue