1. Rustãšã¯
Rustã¯ãè¿å¹Žæ³šç®ãéããŠããããã°ã©ãã³ã°èšèªã®äžã€ã§ãããã®ç¹åŸŽãèæ¯ãäž»ãªçšéã«ã€ããŠè©³ããèŠãŠãããŸãããã
1.1. Rustã®æŠèŠãšç¹åŸŽ
Rustã¯ãä¿¡é Œæ§ãšå¹çæ§ãéèŠããããã°ã©ãã³ã°èšèªã§ããç¹ã«ãã¡ã¢ãªã®å®å šæ§ã«çŠç¹ãåœãŠãŠèšèšãããŠãããã©ã³ã¿ã€ã ãã¬ããŒãžã³ã¬ã¯ã¿ãŒããªããããé«éãªå®è¡ãå¯èœã§ãããŸããRustã®è±å¯ãªåã·ã¹ãã ãšæææš©ã¢ãã«ã¯ãã¡ã¢ãªã®å®å šæ§ãšã¹ã¬ããã®å®å šæ§ãä¿èšŒããŸããããã«ããããã°ãã»ãã¥ãªãã£äžã®åé¡ãå€§å¹ ã«æžå°ãããããšãã§ããŸãã
1.2. Rustã®èµ·æºãšæŽå²
Rustã¯ãMozilla Researchã®Graydon Hoareã«ãã£ãŠ2006幎ã«å人ãããžã§ã¯ããšããŠéå§ãããŸãããåœåã¯ã䞊è¡æ§ãå®å šæ§ã匷調ããèšèªãšããŠèšèšããããã®åŸãå€ãã®éçºè ã®ååãåŸãŠãçŸåšã®åœ¢ã«é²åããŠããŸãããRustã¯ããã®ç¬èªã®èšèšææ³ãå®å šæ§ãžã®åãçµã¿ã«ãããå€ãã®éçºè ããæ¯æãåããŠããŸãã
1.3. Rustã®äž»ãªçšéãšå®çšäŸ
Rustã¯ããã®é«ãããã©ãŒãã³ã¹ãšå®å šæ§ãããããŸããŸãªçšéã§å©çšãããŠããŸããç¹ã«ããŠã§ãã¢ããªã±ãŒã·ã§ã³ãçµã¿èŸŒã¿ã·ã¹ãã ãã²ãŒã éçºãªã©ãããã©ãŒãã³ã¹ãæ±ããããåéã§ã®æ¡çšãå¢ããŠããŸãããŸããRustã®ããã±ãŒãžãããŒãžã£ãŒã§ããCargoã䜿çšããããšã§ãã©ã€ãã©ãªãããŒã«ã®å°å ¥ãéåžžã«ç°¡åã«ãªã£ãŠãããéçºã®å¹çåã«ãè²¢ç®ããŠããŸãã
2. Rustã®åºæ¬æŠå¿µ
Rustã¯ããã®ç¬èªã®èšèšææ³ãšæ©èœã«ãããä»ã®ããã°ã©ãã³ã°èšèªãšã¯äžç·ãç»ããŠããŸããããã§ã¯ãRustãæã€åºæ¬çãªæŠå¿µã«ã€ããŠãæ·±ãæãäžããŠã¿ãŸãããã
2.1. ã¡ã¢ãªã®å®å šæ§ãšæææš©ã¢ãã«
Rustã®æã泚ç®ãããç¹åŸŽã®äžã€ã¯ãã¡ã¢ãªã®å®å šæ§ã§ããRustã¯ãæææš©ã¢ãã«ãæ¡çšããŠãããããã«ããã¡ã¢ãªã®ã¢ã¯ã»ã¹ãå€æŽãå³æ Œã«ç®¡çããŸãããã®ã¢ãã«ã®ãããã§ãRustã®ããã°ã©ã ã¯ã¡ã¢ãªãªãŒã¯ãããŒã¿ç«¶åãšãã£ãåé¡ãé²ãããšãã§ããŸããæææš©ãåç §ãåçšãšãã£ãæŠå¿µãç解ããããšã§ãå®å šãã€å¹ççãªã³ãŒããæžãããšãå¯èœãšãªããŸãã
2.2. Rustã®åã·ã¹ãã
Rustã®åã·ã¹ãã ã¯ãã³ãŒãã®å®å šæ§ãšå¹çæ§ãé«ããããã®éèŠãªèŠçŽ ã§ããRustã¯éçåä»ãèšèªã§ãããã³ã³ãã€ã«æã«åã®æŽåæ§ããã§ãã¯ããŸããããã«ãããå®è¡æã®ãšã©ãŒãå€§å¹ ã«æžå°ãããããšãã§ããŸãããŸãããžã§ããªã¯ã¹ããã¬ã€ããšãã£ãé«åºŠãªåã®æ©èœããµããŒãããŠãããæè»ãã€åŒ·åãªã³ãŒãã®èšè¿°ãå¯èœã§ãã
2.3. Rustã®ããŒã«ãšããã¥ã¡ã³ããŒã·ã§ã³
Rustã¯ãéçºè ã®çç£æ§ãåäžãããããã®åªããããŒã«ã»ãããæã£ãŠããŸããç¹ã«ãCargoãšããããã±ãŒãžãããŒãžã£ãŒã¯ãã©ã€ãã©ãªã®ç®¡çããã«ãããã¹ããªã©ã®äœæ¥ãç°¡åã«è¡ãããšãã§ããŸãããŸããRustã®å ¬åŒããã¥ã¡ã³ããŒã·ã§ã³ã¯éåžžã«å å®ããŠãããåå¿è ããäžçŽè ãŸã§ãå¿ èŠãªæ å ±ãæã«å ¥ããããšãã§ããŸãã
3. Rustã®ããã°ã©ãã³ã°
ããã°ã©ãã³ã°èšèªãšããŠã®Rustã®é åãæ倧éã«æŽ»ããããã«ã¯ããã®ææ³ãåºæ¬çãªæ§é ãããã«ã¯é«åºŠãªæ©èœã«ã€ããŠã®ç解ãäžå¯æ¬ ã§ãããã®ã»ã¯ã·ã§ã³ã§ã¯ãRustã®ããã°ã©ãã³ã°ã«é¢ããæ žå¿çãªãããã¯ãæ¢æ±ããŸãã
3.1. Rustã®ææ³ãšåºæ¬çãªæ§é
Rustã®ææ³ã¯ãæ確ããšäžè²«æ§ãéèŠããŠèšèšãããŠããŸããå€æ°ã®å®£èšãå¶åŸ¡æ§é ãé¢æ°ã®å®çŸ©ãªã©ãåºæ¬çãªæ§æã¯ä»ã®å€ãã®èšèªãšäŒŒãŠããŸãããRustç¬èªã®ç¹åŸŽãå€ãååšããŸããäŸãã°ãlet
ããŒã¯ãŒãã䜿çšããŠå€æ°ã宣èšããmatch
æã䜿çšããŠãã¿ãŒã³ãããã³ã°ãè¡ãããšãã§ããŸãã
3.2. é¢æ°ãšããŒã¿å
Rustã§ã¯ãé¢æ°ã¯fn
ããŒã¯ãŒãã䜿çšããŠå®çŸ©ããŸããé¢æ°ã¯æ確ãªåã·ã°ããã£ãæã¡ãè¿ãå€ã®åãæå®ããå¿
èŠããããŸãããŸããRustã«ã¯å€ãã®çµã¿èŸŒã¿ããŒã¿åããããæŽæ°åãæµ®åå°æ°ç¹åãæåååãªã©ã®åºæ¬çãªããŒã¿åãããã¿ãã«ãé
åããã¯ã¿ãªã©ã®è€åããŒã¿åãŸã§å¹
åºããµããŒããããŠããŸãã
3.3. ã¡ã¢ãªç®¡çãšãšã©ãŒåŠç
Rustã®ã¡ã¢ãªç®¡çã¯ãæææš©ã¢ãã«ã«åºã¥ããŠããŸããããã«ãããã¡ã¢ãªãªãŒã¯ãããŒã¿ç«¶åãšãã£ãåé¡ãå¹æçã«é²ãããšãã§ããŸãããŸããRustã¯Result
åãOption
åã䜿çšããŠãšã©ãŒãæ瀺çã«æ±ãããšãã§ããããã«ããå
ç¢ãªããã°ã©ã ã®äœæãå¯èœãšãªããŸãã
5. Rustã®åŠç¿ãªãœãŒã¹
ããã°ã©ãã³ã°èšèªãåŠã¶éãé©åãªãªãœãŒã¹ããµããŒãã¯åŠç¿ã®å¹çã倧ããåäžãããèŠå ãšãªããŸããRustãäŸå€ã§ã¯ãªããå€ãã®åŠç¿ãªãœãŒã¹ããµããŒããæäŸãããŠããŸãã
5.1. å ¬åŒããã¥ã¡ã³ããšã¬ã€ã
Rustã®å ¬åŒããã¥ã¡ã³ãã¯ãéåžžã«è©³çŽ°ã§ããããããæ§æãããŠããŸããåå¿è åãã®ãRust BookããAPIã®ãªãã¡ã¬ã³ã¹ãããã«ã¯é«åºŠãªãããã¯ãæ±ã£ãã¬ã€ããªã©ãå€å²ã«ãããæ å ±ãæäŸãããŠããŸãããããã®ããã¥ã¡ã³ãã¯ãRustã®åºæ¬ããå¿çšãŸã§ãç¶²çŸ ããŠãããåŠç¿ã®éã®ç¬¬äžã®ãªãœãŒã¹ãšããŠéåžžã«äŸ¡å€ããããŸãã
5.2. Rustã®ã³ãã¥ããã£ãšãµããŒã
Rustã®ã³ãã¥ããã£ã¯éåžžã«æŽ»çºã§ãåå¿è ããäžçŽè ãŸã§ãæ å ±äº€æããµããŒããè¡ã£ãŠããŸããå ¬åŒã®ãã©ãŒã©ã ãDiscordãã£ã³ãã«ãããã«ã¯å°åããšã®ããŒãã¢ãããªã©ãå€ãã®ã³ãã¥ãã±ãŒã·ã§ã³ã®å ŽãååšããŸãããŸããå€ãã®OSSãããžã§ã¯ããGitHubäžã§å ¬éãããŠãããå®éã®ã³ãŒããåç §ããããšã§åŠç¿ãæ·±ããããšãã§ããŸãã
5.3. Rustã®å°æ¥ã®å±æ
Rustã¯ããã®å®å šæ§ãå¹çæ§ããå€ãã®äŒæ¥ããããžã§ã¯ãã§ã®æ¡çšãå¢ããŠããŸããç¹ã«ãã·ã¹ãã ããã°ã©ãã³ã°ããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®éçºãããã«ã¯çµã¿èŸŒã¿ã·ã¹ãã ã®åéã§ã®å©çšãæ¡å€§ããŠããŸãããã®ãããªèæ¯ãããRustã®å°æ¥ã¯éåžžã«æãããåŠç¿ãã䟡å€ãé«ããšèšããã§ãããã
6. Rustã®å¿çšåé
Rustã¯ãã®ç¹æ§ãããå€å²ã«ãããåéã§ã®å¿çšãèããããŸãããã®ã»ã¯ã·ã§ã³ã§ã¯ãRustãç¹ã«åãçºæ®ããå¿çšåéã«ã€ããŠè©³ããèŠãŠãããŸãããã
6.1. ã¯ãã¹ãã©ãããã©ãŒã ã®éçº
Rustã¯ãã¯ãã¹ãã©ãããã©ãŒã ã®éçºã«ãé©ããŠããŸããäžã€ã®ã³ãŒãããŒã¹ã§ãç°ãªãOSãããã€ã¹åãã®ã¢ããªã±ãŒã·ã§ã³ãå¹ççã«éçºããããšãå¯èœã§ããããã«ãããéçºã®æéãã³ã¹ãã倧ããåæžããããšãã§ããŸãã
6.2. ã²ãŒã éçº
é«ãããã©ãŒãã³ã¹ãšã¡ã¢ãªã®å®å šæ§ãæ±ããããã²ãŒã éçºã®åéã§ããRustã®æ¡çšãå¢ããŠããŸããç¹ã«ããªã¢ã«ã¿ã€ã åŠçãå¿ èŠãªã²ãŒã ãšã³ãžã³ã®éçºã«ãããŠãRustã®ç¹æ§ã倧ããªå©ç¹ãšãªã£ãŠããŸãã
6.3. ãããã¯ãã§ãŒã³æè¡
Rustã¯ããããã¯ãã§ãŒã³æè¡ã®éçºã«ãé©ããŠããŸããå®å šæ§ãå¹çæ§ãæ±ãããããããã¯ãã§ãŒã³ã®ã·ã¹ãã éçºã«ãããŠãRustã®æ¡çšãé²ããããŠããŸããããã«ãããããå ç¢ã§é«éãªãããã¯ãã§ãŒã³ã·ã¹ãã ã®æ§ç¯ãå¯èœãšãªããŸãã
7. ãŸãšã
ãã®èšäºãéããŠãRustã®åºæ¬ããå®çšäŸãåŠç¿ãªãœãŒã¹ãŸã§å¹ åºã玹ä»ããŠããŸãããæåŸã«ãRustã®å šäœåãææ¡ããããã®ãŸãšããè¡ããŸãããã
7.1. Rustã®åŒ·ã¿ãšåŒ±ã¿
Rustã®æ倧ã®åŒ·ã¿ã¯ããã®ã¡ã¢ãªã®å®å šæ§ãšé«ãããã©ãŒãã³ã¹ã§ããããã«ããããã°ã®å°ãªãå¹ççãªã³ãŒããæžãããšãã§ããŸãããŸãã掻çºãªã³ãã¥ããã£ãå å®ããããã¥ã¡ã³ãã倧ããªé åãšãªã£ãŠããŸããäžæ¹ãåŠç¿æ²ç·ãããæ¥ã§ããããšããäžéšã®ã©ã€ãã©ãªããŸã æçããŠããªãç¹ãæãããã匱ã¿ãšããŠèããããŸãã
7.2. Rustã®æ¡çšäºäŸ
å€ãã®äŒæ¥ããããžã§ã¯ããRustã®æ¡çšãé²ããŠããŸããç¹ã«ããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®ããã¯ãšã³ããçµã¿èŸŒã¿ã·ã¹ãã ãããã«ã¯ã²ãŒã éçºãªã©ãå¹ åºãåéã§ã®æ¡çšäºäŸãå ±åãããŠããŸãããããã®äºäŸãéããŠãRustã®å®çšæ§ãå¯èœæ§ã蚌æãããŠããŸãã
7.3. RustãåŠã¶ããã®æ¬¡ã®ã¹ããã
Rustãããã«æ·±ãåŠã¶ããã«ã¯ãå®éã«ãããžã§ã¯ããå§ããããšãããããã§ãããŸããã³ãã¥ããã£ã«åå ããŠæ å ±äº€æãè¡ãããšã§ãæ°ããç¥èãæè¡ãç¿åŸããããšãã§ããŸããããã«ãå ¬åŒããã¥ã¡ã³ãããªã³ã©ã€ã³ã®ãã¥ãŒããªã¢ã«ã掻çšããŠãç¥èãå®çãããããšã倧åã§ãã
åèæç®
- Rust Programming Language å ¬åŒãµã€ã: Rustã¯ãä¿¡é Œæ§ãšå¹çæ§ã®äž¡æ¹ãæã€ãœãããŠã§ã¢ãæ§ç¯ããããã®èšèªã§ããå ¬åŒãµã€ãã§ã¯ãRustã®ç¹åŸŽãçšéãåŠç¿ãªãœãŒã¹ãªã©ã®æ å ±ãæäŸãããŠããŸãã
- Rust (programming language) – Wikipedia: Rustã¯ãããã©ãŒãã³ã¹ãåã®å®å šæ§ã䞊è¡æ§ã匷調ããå€ç®çã®ããã°ã©ãã³ã°èšèªã§ããWikipediaã®ããŒãžã§ã¯ãRustã®æŽå²ãèšèšææ³ãæ¡çšäºäŸãªã©ã詳ãã玹ä»ãããŠããŸãã
- Learn Rust – Rust Programming Language å ¬åŒåŠç¿ããŒãž: Rustã®æšæºã©ã€ãã©ãªAPIããšãã£ã·ã§ã³ãããã±ãŒãžãããŒãžã£ãŒãªã©ã«é¢ãã詳ããã¬ã€ããæäŸãããŠããŸããåå¿è ããäžçŽè ãŸã§ãRustãåŠã¶ããã®ãªãœãŒã¹ãè±å¯ã«æã£ãŠããŸãã