1. Rustãšã¯ïŒ
Rustã¯ã2010幎ã«ç»å Žããã·ã¹ãã ããã°ã©ãã³ã°èšèªã§ãCãC++ãšåãäœã¬ãã«ã®ã·ã¹ãã æäœãå¯èœãªä»£æ¿èšèªã§ããããããé«éåŠçã䞊è¡åŠçãå¯èœã§ãäžè²«ããã¡ã¢ãªå®å šæ§ãšé«ãã»ãã¥ãªãã£æ§èœãå ŒãåããŠããŸãã
Rustã¯Mozilla Foundationãéçºãäž»å°ããŠããããã®æ©èœæ§ãšå®å šæ§ããå€ãã®äŒæ¥ãéçºè ãã泚ç®ãåããŠããŸãããŸãã7幎é£ç¶ã§ãæãæãããèšèªãã®äžäœã«éžã°ãããªã©ããã®è©äŸ¡ã¯é«ãã§ãã
ãã¡ãããèšèªãšããŠã®æåã¯åŒ·åãªã³ãã¥ããã£ã«ãæ¯æãããŠããŸããRustã®éçºè ãšãŠãŒã¶ãŒã¯ã¢ã¯ãã£ãã§æé·ãç¶ããŠããã圌ãã«ãã£ãŠè©³çŽ°ãªããã¥ã¡ã³ããŒã·ã§ã³ãæè²è³æããããžã§ã¯ãã®ãœãŒã¹ã³ãŒããå ¬éãããæ°ããªãŠãŒã¶ãŒã§ãåŠã³ãããç°å¢ãæäŸãããŠããŸãã
1.1 Rustã®æŽå²
Rustã¯2010幎ã«Mozillaã®éçºè ã§ããGraydon Hoareã«ãã£ãŠéçºãããŸããã圌ã¯C++ã®æã€è€éããšå®å šæ§ãžã®èæ ®ãäžååã§ããããšã«äžæºãæãããããã®åé¡ç¹ã解æ¶ããèšèªãšããŠRustãèšèšããŸããã
ãã®åŸãRustã¯åŸã ã«ã³ãã¥ããã£ã«èªç¥ãããæè¡æ¥çã§ã®æ¡çšãåºãŸã£ãŠãããŸãããMozillaèªèº«ãRustã掻çšããããã䜿ã£ãŠFirefoxã®äžéšãåæ§ç¯ããŸãããããã«ãã£ãŠãFirefoxã®ããã©ãŒãã³ã¹ãšå®å šæ§ãå€§å¹ ã«æ¹åãããRustã®è©äŸ¡ã¯ããã«é«ãŸããŸããã
çŸåšã§ã¯MicrosoftãGoogleãAmazonãªã©ã®å€§æäŒæ¥ãRustãæ¡çšãããã®æ§èœãšä¿¡é Œæ§ãè©äŸ¡ããŠããŸããRustã¯ãããããæç¶çãªæé·ãšæŽ»çšãèŠèŸŒãŸããŠããŸãã
1.2 Rustãšä»ã®ããã°ã©ãã³ã°èšèªãšã®éã
Rustã¯CãC++ãšåãäœã¬ãã«ã®ã·ã¹ãã æäœãå¯èœãªç¹ã§ã¯åãã§ããããããã®èšèªãæã€åé¡ç¹ã解決ããã¡ã¢ãªå®å šæ§ãšé«ãããã©ãŒãã³ã¹ãäž¡ç«ãããŠããŸããããã¯ãRustãæææš©ãšãããŠããŒã¯ãªæŠå¿µãå°å ¥ããã¡ã¢ãªã®åé¡ãã³ã³ãã€ã«æç¹ã§æ€åºããããšãå¯èœã«ããããã§ãã
ãŸããRustã¯ä»ã®ããã°ã©ãã³ã°èšèªãšæ¯èŒããŠæ確ãªææ³èŠåãç¹åŸŽçã§ããRustã®ææ³ã¯äžè²«ããŠãããããèªã¿ãããäºæž¬ããããã§ããããã«ãããéçºè ãã³ãŒãããŒã¹ãç解ããæŽãªãéçºãé²ããäžã§å¹ççã«äœæ¥ãé²ããããŸãã
ããã«ãRustã¯é«åºŠãªåãã§ãã¯ãåããŠããŸããããã«ãããã³ãŒããåå®å šã§ãã©ã³ã¿ã€ã ãšã©ãŒãå€§å¹ ã«æžå°ãããããšãå¯èœãšãªããŸãããããã®ç¹æ§ã«ãããRustã¯ä»ã®åŸæ¥ã®ã·ã¹ãã èšèªãšæ確ã«åºå¥ãããã¢ãã³ãªã·ã¹ãã ããã°ã©ãã³ã°èšèªãšããŠäœçœ®ã¥ããããŠããŸãã
1.3 Rustã®ç¹åŸŽ
Rustã®äžçªã®ç¹åŸŽã¯ãã®å®å šæ§ã§ããRustã¯æææš©ãšã©ã€ãã¿ã€ã ãšåŒã°ãã2ã€ã®ç¹åŸŽãå°å ¥ããããã«ããã¡ã¢ãªãšã©ãŒãé²ããªããé«ãããã©ãŒãã³ã¹ãä¿ã€ããšãã§ããŸãããã®ã·ã¹ãã ã«ãããRustã®ããã°ã©ã ã¯ã¬ããŒãžã³ã¬ã¯ã·ã§ã³ãå¿ èŠãšãããäœããªãŒããŒãããã§å®è¡ããããšãã§ããŸãã
ãŸããRustã¯ãã®ããã©ãŒãã³ã¹ã§ãé«è©äŸ¡ãåããŠããŸãããŒããªãŒããŒãããæœè±¡åãšããç¹æ§ã«ãããã©ã³ã¿ã€ã ãã¬ããŒãžã³ã¬ã¯ã¿ãŒãªã©ãå¿ èŠãšãããCãC++ã«å¹æµããããã©ãŒãã³ã¹ãéæã§ããŸãã
ããã«ãRustã¯åŒ·åºãªåãã§ãã¯ãåããŠãããããåãšã©ãŒãã³ã³ãã€ã«æç¹ã§æããã©ã³ã¿ã€ã ãšã©ãŒãå€§å¹ ã«æžããããšãã§ããŸããããã«ãããPustã®ããã°ã©ã ã¯å質ãé«ããä¿¡é Œæ§ãé«ãã§ãã
1.4 Rustã®é©çšåé
Rustã¯ãã®æ§èœãšå®å šæ§ãããå€æ§ãªåéã§ã®éçºã«äœ¿çšãããŸããWebã¢ããªã±ãŒã·ã§ã³ãã³ãã³ãã©ã€ã³ããŒã«ãAPIãµãŒããŒãOSéçºãæ©æ¢°åŠç¿ãããã³ããšã³ãéçºãã²ãŒã éçºããããã¯ãã§ãŒã³éçºãªã©ãå¹ åºãã¢ããªã±ãŒã·ã§ã³ã§Rustã掻çšãããŠããŸãã
ç¹ã«ãã·ã¹ãã ããã°ã©ãã³ã°ãçµã¿èŸŒã¿ã·ã¹ãã ãWebAssemblyã®åéã§Rustã¯åŒ·åãªç«¶äºåãæã£ãŠããŸãããããã®é åã§ã¯ãRustã®æ§èœãä¿¡é Œæ§ããããŠæå°ã®ã¡ã¢ãªããããŒã¯ãžãæ±ãããããããRustã¯çæ³çãªéžæã§ãããšèšããŸãã
ãããã£ãŠãRustã¯ãã®æ©èœãšååãªæ§èœãããŒã¹ã«ãããçšåºŠã®èŠæš¡ãšè€éæ§ãæã€ã·ã¹ãã ã«å¯ŸããŠãå®å šæ§ãšå¹ççãªãªãœãŒã¹å©çšãæäŸã§ããã®ã§ãã
2. Rustã§ã®Webã¢ããªã®éçº
Webã¢ããªã±ãŒã·ã§ã³ã®éçºã¯ãçŸä»£ã®ããã°ã©ãã³ã°çã§æ¥µããŠéèŠã§ããäžè¬çã«PythonãJavaScriptã䜿çšãããŸãããRustããŸããå®çšçãªéžæè¢ãšãªãã€ã€ãããŸãã
2.1 Rustã§ã®Webã¢ããªéçºã®ã¡ãªãã
RustãçšããWebã¢ããªéçºã¯ããã®æ§èœãå®å šæ§ã䞊è¡åŠçèœåã®é£æºããå€ãã®ã¡ãªãããçããŸããRustã¯ã¡ã¢ãªå®å šæ§ãä¿èšŒãã€ã€ããæç¶ãåããã°ã©ã ãšåçã®ããã©ãŒãã³ã¹ãæäŸããŸããããã¯ãWebã¢ããªã±ãŒã·ã§ã³ã§ã®ã¬ã¹ãã³ã¹æéã®ççž®ãè€æ°ã®ãªã¯ãšã¹ãã®åæåŠçã«è²¢ç®ããŸãã
ããã«ãRustã®ãšã©ãŒãã³ããªã³ã°ã®ç¹æ§ã¯ãããå®å®ããã¢ããªã±ãŒã·ã§ã³ã®éçºãå¯èœã«ããŸãããœãããŠã§ã¢ã®é害ããè¿ éã«åŸ©æ§ããããã®æ段ãæäŸãããããWebã¢ããªã±ãŒã·ã§ã³ã®ä¿¡é Œæ§ãåäžããŸãã
æåŸã«ãRustã®ããã±ãŒãžãããŒãžã£cargoã¯ãããã±ãŒãžã®ãã«ããšäŸåé¢ä¿ã®ç®¡çã容æã«ããŸããããã¯ã倧èŠæš¡ãªWebã¢ããªã±ãŒã·ã§ã³éçºã«ãããŠæéãç¯çŽãããšã©ãŒãæžããã®ã«åœ¹ç«ã¡ãŸãã
2.2 Rustã®é«éåŠçèœåãšWebéçº
Rustã®ããã©ãŒãã³ã¹ã®é«ãã¯ãWebéçºã«ãããŠå€§ãã«æŽ»ããããŸããããŒã¿ãããŒãªWebãµãŒãã¹ã®å Žåãäžã€ã®ãªã¯ãšã¹ãã§å€§éã®ããŒã¿ãåŠçããå¿ èŠããããŸããããã¯Rustã®ãããªé«éãªèšèªãæå©ã«ãªãå Žé¢ã§ãã
Rustã¯é 延ãªãã§ã¡ã¢ãªãçŽæ¥ç®¡çã§ãããããåŠçé床ã¯æ Œæ®µã«äžãããŸãããã®é«éãªåŠçèœåã¯ããªã¢ã«ã¿ã€ã ãªã³ãã¥ãã±ãŒã·ã§ã³ãæ±ãããããã£ããã¢ããªãã倧èŠæš¡ãªããŒã¿ãæ±ãåæã¢ããªã«ãããŠããæ»ãããªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãæäŸããŸãã
ãŸããRustã®äžŠååŠçèœåã«ãããåæã«å€ãã®ãªã¯ãšã¹ããåŠçããèœåãåäžããŸããããã«ããããã€ãã©ãã£ãã¯ãªWebãµã€ãã§ããŠãŒã¶ãŒã®ãªã¯ãšã¹ãã«è¿ éã«å¯Ÿå¿ããããšãå¯èœãšãªããŸãã
2.3 Rustãã¬ãŒã ã¯ãŒã¯ãšWebã¢ããªéçº
Rustã§ã®Webéçºãæ¯æŽããããã®å€ãã®ãã¬ãŒã ã¯ãŒã¯ãååšããŸããRocketãActix-webãªã©ã®äººæ°ãã¬ãŒã ã¯ãŒã¯ã¯ãRESTfulãµãŒãã¹ã®äœæãããã«ãŠã§ã¢ã®è¿œå ã容æã«ããçç£æ§ãåäžãããŸãããŸãããããã®ãã¬ãŒã ã¯ãŒã¯ã¯Rustã®å®å šæ§ãããã©ãŒãã³ã¹ãå®å šã«æŽ»çšããŠããŸãã
äžè¬çã«ããããã®ãã¬ãŒã ã¯ãŒã¯ã¯MVCïŒModel-View-ControllerïŒãã¿ãŒã³ãæ¡çšããŠãããã³ãŒããæŽçããããããä¿å®æ§ãé«ãã§ããããã«ããããããžã§ã¯ãã倧èŠæš¡ã«ãªã£ãŠã管çãããããªããŸãã
Rustã®Webãã¬ãŒã ã¯ãŒã¯ã¯å®åçãªWebéçºã¿ã¹ã¯ãèªååããæ©èœãåããŠããŸããããã«ãããWebã¢ããªã±ãŒã·ã§ã³éçºãå éãããåžå Žæå ¥æéãççž®ãããŸãã
2.4 å¹ççãªWebã¢ããªéçºã®ãã€ã³ã
Rustã§å¹ççãªWebã¢ããªéçºãè¡ãããã«ã¯ããŸãé©åãªãã¬ãŒã ã¯ãŒã¯ãéžæããããšãéèŠã§ããéçºèŠä»¶ãææžåãã³ãã¥ããã£ã®ãµããŒããªã©ã«åºã¥ããŠéžæããŸãããã
次ã«ãéçºç°å¢ãé©åã«èšå®ããããšãéèŠã§ããIDEã®èšå®ããããã°ç°å¢ããã¹ãç°å¢ãªã©ãæŽåããåé¡ãçºçãããšãã«ããã«è§£æ±ºã§ããããã«ããŸãããã
æåŸã«ãRustã®åŒ·åãªåã·ã¹ãã ãšæææš©ã¢ãã«ããã«ã«æŽ»çšããŸãããããããã¯ãœãããŠã§ã¢ã®ãã°ãäºé²ããå®å®ããWebã¢ããªã±ãŒã·ã§ã³ã®éçºãå¯èœã«ããŸãã
3. Rustã§ã®ã²ãŒã éçº
ãªãå€ãã®éçºè ãRustãã²ãŒã éçºã®ããã«éžãã§ããã®ã§ããããããŸããRustã®åŠçæ§èœãã²ãŒã éçºã«ã©ã®ããã«é¢äžããŠããã®ã§ããããããããŠãã²ãŒã éçºã«ãããŠRustã掻çšããéã®å·¥å€«ããã€ãããŒã·ã§ã³ãçãããã®ã²ãŒã ãã¶ã€ã³ã«ã€ããŠè©³ããèŠãŠãããŸãããã
3.1 Rustãã²ãŒã éçºã«ãããŠéžã°ããçç±
ã²ãŒã éçºã§ã¯éåžžã«é«ãããã©ãŒãã³ã¹ãšã¡ã¢ãªã®å¹çæ§ãæ±ããããŸãããã®ãããRustã®é«éåŠçãã¡ã¢ãªã»ãŒããã£ãéå®ãããå€ãã®éçºè ã«éžã°ããŠããŸãããŸããRustã®å³æ Œãªåãã§ãã¯ãšãšã©ãŒåŠçãã²ãŒã ã®å®å®æ§ãåäžãããäžå ã«ãªã£ãŠããŸãã
Rustã¯ä»ã®èšèªãšæ¯ã¹ãŠåŸ¹åºãããšã©ãŒãã§ãã¯ãããããã°ã®å°ãªãã²ãŒã éçºãå®çŸããŸãããŸããã³ã³ãã€ã«æã®ãšã©ãŒã¡ãã»ãŒãžã詳现ã§ãã²ãŒã éçºã«ãããŠåé¡è§£æ±ºã®æå©ããããŠãããŸãã
ããã«ãRustã®æææš©ã·ã¹ãã ã«ãããRustèªäœãã¡ã¢ãªç®¡çãè¡ããããã²ãŒã éçºè ã¯ã¡ã¢ãªãªãŒã¯ãªã©ã®å¿é ãããã«ãããã²ãŒã éçºã«éäžã§ããŸãã
3.2 Rustã®æ§èœãšã²ãŒã éçº
ã²ãŒã éçºã«ãããŠãRustã®åŠçæ§èœã®é«ãã¯å€§ããªå©ç¹ã§ããã²ãŒã éçºã§ã¯ããã©ãŒãã³ã¹ãéåžžã«éèŠã§ããã®ç¹ã§Rustã¯è©äŸ¡ãé«ãã§ãã
Rustã¯C++ã«æ¯ã¹ãŠåŠçãé«éã§ãè€éãªã²ãŒã ããžãã¯ã§ãå®å®ããŠé«éã«åäœãããããšãå¯èœã§ããã©ããªã«éããåŠçããRustãªãã°ã¹ã ãŒãºãªã²ãŒã äœéšãæäŸã§ããŸãã
ãŸããRustã®ã¡ã¢ãªå¹çæ§ãã²ãŒã éçºã«ãããŠéèŠã§ããé«è§£å床ãªã°ã©ãã£ãã¯ã倧éã®ã²ãŒã ããŒã¿ãæ±ãã²ãŒã éçºã«ãããŠãRustã®ã¡ã¢ãªç®¡çã¯å€§ããªå®å¿æãæäŸããŸãã
3.3 Rustã§ã®ã²ãŒã éçºã®å·¥å€«
ã²ãŒã éçºã«ãããŠã¯ãããã©ãŒãã³ã¹ã¯ãã¡ããã§ãããå¹ççãªéçºãéèŠã§ãããã®ããã«Rustã掻çšããéã«ã¯ãã©ã€ãã©ãªã®éžæãéçºç°å¢ã®æŽåãªã©ãäžéšã®å·¥å€«ãå¿ èŠã§ãã
ãŸããRustã«ã¯å€ãã®ã²ãŒã éçºçšã®ã©ã€ãã©ãªãååšããŠããŸããããããã®ã©ã€ãã©ãªãæäŸããæ©èœãããã©ãŒãã³ã¹ã䜿ãåæãç解ããèªåã®éçºã¹ã¿ã€ã«ãã²ãŒã ã®èŠæ±ã«æãé©ããã©ã€ãã©ãªãéžã³å©çšããããšãéèŠã§ãã
ãŸããRustã®åŠç¿ç°å¢ãªã©ãæŽåããããšã§éçºã®å¹çåãå³ãããšãéèŠã§ããRustã®å ¬åŒããã¥ã¡ã³ãããã¥ãŒããªã¢ã«ã掻çšããé©åãªéçºç°å¢ãæ§ç¯ããããšã§ãæŽã«å¹ççãªã²ãŒã éçºãå¯èœãšãªããŸãã
3.4 Rustã掻çšããã€ãããŒã·ã§ã³ãšã²ãŒã ãã¶ã€ã³
Rustãå©çšããããšã§ãæ°ããã²ãŒã ãã¶ã€ã³ãã€ãããŒã·ã§ã³ãçã¿åºãããšãå¯èœã§ãããã®ãããªç¬èªæ§ã¯ãã²ãŒã ãšããã¯ãªãšã€ãã£ããªç£æ¥ã«ãããŠéåžžã«éèŠãªèŠçŽ ãšãªããŸãã
äŸãã°ãRustã®é«éåŠçã¯ããªã¢ã«ã¿ã€ã åŠçãéèŠãªã²ãŒã ã«ãããŠã¯ããããŸã§äžå¯èœã§ãã£ãã²ãŒã ãã¶ã€ã³ãå¯èœã«ããŸãããŸããRustã®ã¡ã¢ãªå¹çã®è¯ãã¯ã倧èŠæš¡ãªäžç芳ãæã€ã²ãŒã ã«ãããŠã¯ããã倧ããªã²ãŒã ã¯ãŒã«ããæ§ç¯ããããšãå¯èœã«ããŸãã
RustãæäŸãããããã®å©ç¹ã掻çšããç¬èªã®ã²ãŒã ãã¶ã€ã³ãè¿œæ±ããããšã§ãRustãçšããã²ãŒã éçºã¯æŽãªãã€ãããŒã·ã§ã³ãçã¿åºããã²ãŒã ç£æ¥å šäœãçœåŒããå¯èœæ§ãç§ããŠããŸãã
4. Rustãšæ©æ¢°åŠç¿
ä»æ¥ã§ã¯æ©æ¢°åŠç¿ãå€ãã®ãœãããŠã§ã¢éçºã®äžå¿ãšãªã£ãŠããŸãããã®æ©æ¢°åŠç¿ãæ¯ããããã°ã©ãã³ã°èšèªãšããŠã泚ç®ãéããŠããã®ãRustã§ããRustã¯æ©æ¢°åŠç¿ã¢ã«ãŽãªãºã ãå¹ççã«å®è£ ããããã®æ©èœãæäŸããå®å šæ§ãšããã©ãŒãã³ã¹ãå ŒãåããŠãããšèšãããŠããŸãã
4.1 Rustãšæ©æ¢°åŠç¿ã®çžæ§
Rustã¯å®å šæ§ãšé«éãªåŠçèœåãæã¡åãããŠããããã倧éã®ããŒã¿ãæ±ãæ©æ¢°åŠç¿ãšéåžžã«çžæ§ãè¯ããšèããããŸããç¹ã«ãRustã®çãã€ã³ã¿ãšã¹ã©ã€ã¹ã®æ©èœã¯ãã¡ã¢ãªã®å®å šãªç®¡çãšé åã®æ±ããå¹çåããé«åºŠãªæ©æ¢°åŠç¿ããã°ã©ã ãèšè¿°ããã®ã«é©ããŠããŸãã
4.2 Rustã®é«éåŠçèœåãšæ©æ¢°åŠç¿
æ©æ¢°åŠç¿ã¯å€§éã®ããŒã¿ãé«éã«åŠçããå¿ èŠããããŸããRustã¯ãã®ããã®ããŒã«ã»ãããæäŸããŠããŸããRustã¯ä»ã®å€ãã®èšèªãšæ¯èŒããŠãã¡ã¢ãªç®¡çãšäžŠè¡æ§ã®é¢ã§åªããŠãããããã«ãã倧èŠæš¡ãªããŒã¿ã»ããã§ãé«éã«åŠçã§ããŸããããã¯ãæ©æ¢°åŠç¿ã§çšããããèšç®éã®å€ãã¢ã«ãŽãªãºã ãå¹ççã«åäœãããäžã§å¿ èŠäžå¯æ¬ ã§ãã
4.3 Rustã§ã®æ©æ¢°åŠç¿ã®å®è£ äŸ
Rustãçšããæ©æ¢°åŠç¿ã®å®è£ ã¯å€ãååšããŸããrustlearnãautumnaiãlibsvmãªã©ã®ã©ã€ãã©ãªã¯ãRustã§ã®æ©æ¢°åŠç¿å®è£ ã«çšããããäžäŸã§ããããããçšããããšã§ãSVMïŒSupport Vector MachineïŒãã©ã³ãã ãã©ã¬ã¹ããåŸé ããŒã¹ãã£ã³ã°ãªã©ãæ©æ¢°åŠç¿ã§çšããããäžè¬çãªã¢ã«ãŽãªãºã ãRustã§å¿«é©ã«äœ¿çšã§ããŸãã
4.4 Rustã®æªæ¥ãšæ©æ¢°åŠç¿
æ©æ¢°åŠç¿ã®åéã§ãRustãã€ãããŒã·ã§ã³ãçãå¯èœæ§ããããŸããRustã®é«éã§å®å šãªåŠçèœåã¯ãæ°ããªæ©æ¢°åŠç¿ã¢ã«ãŽãªãºã ã®éçºãä¿é²ããçŸåšã®ãã¬ã³ãã§ããAIã®é²åã«å¯äžã§ãããšäºæ³ãããŠããŸãããŸããRustã¯ã¡ã¢ãªå®å šæ§ãè¿œæ±ããé«åºŠãªäžŠè¡åŠçããµããŒãããããšã§ãæ©æ¢°åŠç¿ã¢ããªã±ãŒã·ã§ã³éçºããã容æã«ãããã倧èŠæš¡ãªåé¡è§£æ±ºãå©ããã§ãããã
5. Rustãšãããã¯ãã§ãŒã³éçº
ãããã¯ãã§ãŒã³ã¯ããã®ã»ãã¥ãªãã£ãšéææ§ãã泚ç®ã济ã³ãŠããŸããRustãšããããã°ã©ãã³ã°èšèªã䜿çšãããšããããã¯ãã§ãŒã³ã®éçºãäžå±€æ¥œã«ãªããŸãã以äžã«è©³è§£ããŸãã
5.1 Rustãšãããã¯ãã§ãŒã³ã®çžæ§
Rustãšãããã¯ãã§ãŒã³ãšã®çžæ§ã¯éåžžã«è¯å¥œã§ããRustã¯ãå¹ççãªã³ãŒããšé«ãã¬ãã«ã®ã¡ã¢ãªå®å šæ§ãæäŸããããšã§ããããã¯ãã§ãŒã³éçºã«ãããä¿¡é Œæ§åäžã«è²¢ç®ããŸããããã«å ããŠãRustã¯é«éãªéçºãšä¿å®æ§ãäž¡ç«ããŠããŸãã
ãŸããRustã¯ãããã¯ãŒã¯ããã°ã©ãã³ã°ã«ãåªããŠãããããã«ãããåæ£ã·ã¹ãã ã§ãããããã¯ãã§ãŒã³ã®éçºãæå©ãããŸããåŸã£ãŠããããã®ç¹æ§ã«ããRustã¯ãããã¯ãã§ãŒã³éçºã«é©ããèšèªãšèšããŸãã
ããã«Rustã¯ã³ã³ãã€ã«æéã®äºæž¬å¯èœæ§ããããããã«ããããããã¯ãã§ãŒã³éçºéçšã§ã®äžç¢ºå®æ§ãæžããããšãå¯èœã§ããããããããã¯ãã§ãŒã³ãããžã§ã¯ãã®å質ãããã«åäžãããŸãã
5.2 Rustã®ã»ãã¥ãªãã£æ§ãšãããã¯ãã§ãŒã³
ãããã¯ãã§ãŒã³æè¡ã¯ã»ãã¥ãªãã£æ§ãéèŠèŠãããŸãããRustã¯ãã®ç¹ã«ãããŠããããã¯ãã§ãŒã³éçºã«é©ããŠããŸããRustã¯ã¡ã¢ãªå®å šæ§ãåå®å šæ§ãã¯ãããšããå ç¢ãªã»ãã¥ãªãã£æ©èœãæäŸãããããå®å šãªãããã¯ãã§ãŒã³ã¢ããªã±ãŒã·ã§ã³ãéçºããããã§ä¿¡é Œã§ããèšèªãšãªããŸãã
Rustã¯ã³ã³ãã€ã©ã«ãã£ãŠé å¿ããããšã©ãŒãæ€åºã§ãããããã³ãŒãã®å®å šæ§ãããã«åŒ·åããããšãã§ããŸãããã®ç¹æ§ã¯ãã»ãã¥ãªãã£ãæ±ãããããããã¯ãã§ãŒã³éçºã«ãšã£ãŠãéèŠãªã¢ããã³ããŒãžãšãªããŸãã
ããã«ãRustã¯äžå€æ§ãšæææš©ãåçšã®ã«ãŒã«ãå³æ Œã«ç®¡çããããšã§ãããŒã¿ç«¶åãæç³»åã®äžæŽåãªã©ãããã¯ãã§ãŒã³ã«ããèŠãããåé¡ãé²ãããšãã§ããŸãã
5.3 Rustã§ã®ãããã¯ãã§ãŒã³éçºææ³
Rustã§ã®ãããã¯ãã§ãŒã³éçºææ³ã¯å¹ åºããéçºè ã®éèŠã«å¿ããã³ãŒãã£ã³ã°ãå¯èœã§ããã¹ããŒãã³ã³ãã©ã¯ãããã€ãã³ã°ãœãããŠã§ã¢ã®éçºãªã©ãå€å²ã«ããããããã¯ãã§ãŒã³ã¢ããªã±ãŒã·ã§ã³ã®éçºãå¯èœãªã®ãRustã®åŒ·ã¿ã§ãã
Rustã«ã¯ç¹ã«ã¹ããŒãã³ã³ãã©ã¯ãéçºã«é©ããã©ã€ãã©ãªããã¬ãŒã ã¯ãŒã¯ãè±å¯ã«ååšããŸãããããã®ããŒã«ã掻çšããããšã§ãå®å šã§å¹ççãªãããã¯ãã§ãŒã³éçºãå¯èœãšãªããŸãã
ãŸããRustã¯é«ãããã©ãŒãã³ã¹ãèªãããã倧èŠæš¡ãªããŒã¿ã®åŠçãæ±ãããããããã¯ãã§ãŒã³éçºã«ã察å¿ã§ããŸãããã®çµæããªã¢ã«ã¿ã€ã ã§ã®å€§éããŒã¿åŠçãèŠæ±ãããããã¯ãã§ãŒã³ã¢ããªã±ãŒã·ã§ã³ã®éçºãã¹ã ãŒãºã«è¡ãããšãå¯èœã§ãã
5.4 Rustã®æªæ¥ãšãããã¯ãã§ãŒã³
çŸåšãRustã®éçºè ã³ãã¥ããã£ã¯æŽ»çºã§ããããã¯ãã§ãŒã³åéã«ãããŠãå€ãã®ã©ã€ãã©ãªãããŒã«ãéçºãããŠããŸããããã¯ããããã¯ãã§ãŒã³éçºã«ãããŠRustã®éèŠæ§ãé«ãŸã£ãŠããããšã瀺ããŠããŸãã
Rustã¯ãã®æ§èœãšã»ãã¥ãªãã£æ§èœããããããã¯ãã§ãŒã³ã®é©æ°çãªãœãªã¥ãŒã·ã§ã³ã®å®è£ ã«å¥œé©ãªèšèªãšããŠäœçœ®ä»ããããä»åŸããããã¯ãã§ãŒã³éçºã«ãããéèŠãªåœ¹å²ãæããã§ãããã
ããããããã«ãããã¯ãã§ãŒã³æè¡ãæ®åãããã®éçºã«é¢ããèŠæ±ãå¢ããäžãRustã䜿çšãããããã¯ãã§ãŒã³éçºã®éèŠã¯å¢ãããšäºæž¬ãããŸããããããRustã®å匷ãå§ããã®ã§ããã°ããããã¯ãã§ãŒã³éçºã¯æ³šç®ãã¹ãåéãšèšããã§ãããã
6. Rustã®åŠç¿æ¹æ³ãšé²ãæ¹
é«æ§èœã§å®å šæ§ã«åªããããã°ã©ãã³ã°èšèªãRustããã®åŠç¿æ¹æ³ãšé²ãæ¹ã«ã€ããŠæ¢ããŸããããããRustãšã³ãžãã¢ãç®æãçããã«ãå¹ççãªåŠã³æ¹ãã圹ç«ã€æ å ±ãæäŸããŸãã
6.1 Rustãå¹ççã«åŠç¿ããã³ã
ãŸãã¯Rustãå¹ççã«åŠç¿ããããã®ã³ããããçè«åŠç¿ãšå®è·µåŠç¿ã亀äºã«é²ããããšã§ç解ãæ·±ãŸããŸãããŸããç©ã¿éããããšãç®æãæ¯æ¥äžå®ã®æéãåŠç¿ã«å ãŠãã®ããã€ã³ãã§ãã
ãŸããç¬åŠã§ãæ§ããŸããããåºæ¬çã«ã¯ã³ãã¥ããã£ã«åå ããRustã®å®æŠãç¥ãããšã圹ç«ã€ã§ããããããã°ã©ãã³ã°ã¯æ¥é²ææ©ã®ã¹ãã«ã§ããããæ¥ã æ°ããªç¥èãèç©ãããŠããŸãã
æåŸã«ãå®éã®ãããžã§ã¯ãã§Rustã䜿ã£ãŠã¿ãããšãçè«ã ãã§ã¯ãªããå®è·µãéããŠRustã®åãäœéšããããšã§ããäžå±€ã®ç解ãåŸãããŸãã
6.2 Rustã®å ¬åŒããã¥ã¡ã³ããšãã¥ãŒããªã¢ã«
次ã«ãRustã®åŠç¿ã«ãããäž»èŠãªè³æºã®ã²ãšã€ãå ¬åŒããã¥ã¡ã³ããšãã¥ãŒããªã¢ã«ã«ã€ããŠã§ãã
å ¬åŒããã¥ã¡ã³ãã¯ãRustã®ããŒãžã§ã³ã¢ããã«åãããŠææ°æ å ±ãè¿œèšãããŸããã€ãŸããå ¬åŒããã¥ã¡ã³ããèªãããšã§ææ°ã®Rustã®æ å ±ãåŸãããŸãããã®ãããå ¬åŒããã¥ã¡ã³ãã¯åŠç¿ã®åæãäžæãçµæãåãã圹ç«ã€äžã€ã®çŽ æã«ãªããŸãã
ãŸããå ¬åŒãã¥ãŒããªã¢ã«ã¯åå¿è ãRustãå§ããéã«èªãã¹ãè³æã§ããåºæ¬çãªææ³ããå®è·µçãªæ å ±ãŸã§è©°ã蟌ãŸããŠãããèªç¿ã«ãé©ããŠããŸãã
6.3 Rustã®åŠç¿ã«æçšãªåèæžãšè³æ
Rustã®åŠç¿ã«æçšãªåèæžãè³æã«ã€ããŠã觊ããŠãããŸãããã
åæ¥åºçãããŠããRustã®åèæžã¯ãèšèªã®åºæ¬ããäžçŽã®ãã¯ããã¯ãŸã§å¹ åºããæŠèª¬ããŠããŸããå¹çè¯ãåŠã³ããæ¹ã¯ããããè³æãæå©ããšãªãã§ãããã
ããã«ããªã³ã©ã€ã³ã®RuståŠç¿ã³ãã¥ããã£ããã©ãŒã©ã ãããããã§ããä»ã®åŠç¿è ããšã³ãžãã¢å士ã§æ å ±äº€æãè¡ãç¥èãæ·±ããããšãã§ããŸãã
6.4 Rustãšã³ãžãã¢ãšããŠæŽ»èºããããã«
æåŸã«ãRustãšã³ãžãã¢ãšããŠæŽ»èºããããã«ã¯å ·äœçã«äœãå¿ èŠãªã®ã§ããããã
åŠç¿ãéããŠåŸãRustã®ç¥èããå®éã®ãããžã§ã¯ããã³ãã¥ããã£ã«ç©æ¥µçã«åå ããããšã§æŽ»çšããããšãæã倧åã§ãã
ãŸããæ±äººæ å ±ããšã³ãžãã¢ã®ãã¬ã³ãããã§ãã¯ããããšã§ãåžå Žã§æ±ããããŠããã¹ãã«ãææ¡ããããšãéèŠã§ããããã«ãããèªèº«ã®ã©ãŒãã³ã°ãã¹ãé©åã«ä¿®æ£ããªãããæ代ã®èŠè«ã«å¿ããã¹ãã«ãæã€ãšã³ãžãã¢ã«æé·ã§ããã§ãããã