æè¿éå¬ããããªãŒãã³ãœãŒã¹ ãã¯ãããžãŒ ãµããã (OSTS) ã§
ã·ã¹ãã ããã°ã©ãã³ã°ã¯ãã¢ããªã±ãŒã·ã§ã³ ã¢ããªã±ãŒã·ã§ã³ãäœæããããã®ãã©ãããã©ãŒã ãšããŠæ©èœãããœãããŠã§ã¢ã®éçºãšç®¡çã§ãããã¢ããªã±ãŒã·ã§ã³ãããã»ããµãRAMãI/O ããã€ã¹ãããã³ãããã¯ãŒã¯æ©åšãšå¯Ÿè©±ã§ããããã«ããŸãã ã·ã¹ãã ãœãããŠã§ã¢ã¯ãããŒããŠã§ã¢èªäœãã©ã®ããã«åäœãããã詳现ã«èª¬æããããšãªããã¢ããªã±ãŒã·ã§ã³ ãœãããŠã§ã¢ãäœæã§ããããã«ããã€ã³ã¿ãŒãã§ã€ã¹ã®åœ¢åŒã§ç¹å¥ãªæœè±¡åãäœæããŸãã
Triplett èªèº«ã¯ãã·ã¹ãã ããã°ã©ãã³ã°ããã¢ããªã±ãŒã·ã§ã³ã§ã¯ãªããã®ããšå®çŸ©ããŠããŸãã ããã«ã¯ãBIOSããã¡ãŒã ãŠã§ã¢ãããŒã ããŒããŒããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ã«ãŒãã«ãããŸããŸãªçš®é¡ã®çµã¿èŸŒã¿äœã¬ãã« ã³ãŒããä»®æ³ãã·ã³å®è£ ãªã©ãå«ãŸããŸãã èå³æ·±ãããšã«ããã©ãŠã¶ã¯é·ãéãåãªãããã°ã©ã ããè¶ ããŠãç¬èªã®ãWeb ãµã€ããš Web ã¢ããªã±ãŒã·ã§ã³ã®ãã©ãããã©ãŒã ãã«ãªã£ãŠãããããTriplett æ°ã¯ Web ãã©ãŠã¶ãã·ã¹ãã ãœãããŠã§ã¢ã§ãããšèããŠããŸãã
以åã¯ãBIOSãããŒãããŒããŒããã¡ãŒã ãŠã§ã¢ãå«ãã»ãšãã©ã®ã·ã¹ãã ããã°ã©ã ã¯ã¢ã»ã³ããªèšèªã§æžãããŠããŸããã 1960 幎代ã«ãé«çŽèšèªã®ããŒããŠã§ã¢ ãµããŒããæäŸããå®éšãéå§ãããPL/SãBLISSãBCPLãALGOL 68 ãªã©ã®èšèªãèªçããŸããã
ãã®åŸã1970 幎代ã«ãããã¹ ãªãããŒã Unix ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã çšã® C ããã°ã©ãã³ã°èšèªãäœæããŸããã B ããã°ã©ãã³ã°èšèªã§äœæããã C ã«ã¯ãå ¥åãµããŒããããããŸããã§ãããããªãã¬ãŒãã£ã³ã° ã·ã¹ãã ããã©ã€ããŒã®äœæã«æé©ãªåŒ·åãªé«ã¬ãã«é¢æ°ãæºèŒãããŠããŸããã ã«ãŒãã«ãå«ã UNIX ã®ããã€ãã®ã³ã³ããŒãã³ãã¯ãæçµçã« C ã§æžãçŽãããŸããããã®åŸãOracle ããŒã¿ããŒã¹ãã»ãšãã©ã® Windows ãœãŒã¹ ã³ãŒããLinux ãªãã¬ãŒãã£ã³ã° ã·ã¹ãã ãªã©ãä»ã®å€ãã®ã·ã¹ãã ããã°ã©ã ã C ã§æžãããŸããã
C ã¯ãã®æ¹åã§å€å€§ãªæ¯æãåããŸããã ããããäžäœäœãéçºè ãããã«åãæ¿ããã®ã§ãããã? Triplett æ°ã¯ãéçºè ãããããã°ã©ãã³ã°èšèªããå¥ã®ããã°ã©ãã³ã°èšèªã«åãæ¿ããåæ©ãäžããã«ã¯ããŸãåŸè ãå€ãæ©èœã倱ãããšãªãæ°ããæ©èœãæäŸããå¿ èŠããããšèããŠããŸãã
ãŸããèšèªã¯ãååã«å°è±¡çãªãæ°æ©èœãæäŸããå¿ èŠããããŸãã ã圌ã¯ãã以äžåªããŠããããããªãã ãšã³ãžãã¢ã移è¡ããã®ã«ãããåŽåãšæéãæ£åœåããããã«ã¯ãããè¯ãæ¹æ³ãå¿ èŠã§ãããšåœŒã¯èª¬æããŸãã ã¢ã»ã³ããªèšèªãšæ¯èŒããŠãC ã«ã¯å€ãã®å©ç¹ããããŸããã ããçšåºŠã®åå®å šæ§ããµããŒãããé«ã¬ãã«ã®æ§é ã«ãã移æ€æ§ãšããã©ãŒãã³ã¹ã®åäžãå®çŸããå šäœçã«ããèªã¿ãããã³ãŒããçæããŸããã
次ã«ãèšèªã¯å€ãæ©èœã®ãµããŒããæäŸããå¿ èŠããããŸããããã¯ãC ãžã®ç§»è¡ã®æŽå²ã«ãããŠãéçºè 㯠C èšèªãã¢ã»ã³ããªèšèªãšåçã®æ©èœãåããŠããããšã確èªããå¿ èŠãããããšãæå³ããŸãã ããªãã¬ããæ°ã¯æ¬¡ã®ããã«èª¬æããŸãããæ°ããèšèªã¯åã«åªããŠãããšããããã§ã¯ãªããåããããåªããŠããå¿ èŠããããŸããã C ã¯é«éã§ãã¢ã»ã³ããªèšèªã§äœ¿çšã§ããããããããŒã¿åããµããŒãããŠããããšã«å ããŠãTriplett ãããšã¹ã±ãŒã ãããããšåŒãã ãã®ãã€ãŸã C å ã«ã¢ã»ã³ããªèšèªã³ãŒããæ¿å ¥ããããã®ãµããŒããåããŠããŸããã
Triplett ã¯ãC ã¯ä»ãäœå¹Žãåã®ã¢ã»ã³ããªèšèªãšåãã«ãªãã€ã€ãããšèããŠããŸãã ãC ã¯æ°ããã¢ã»ã³ãã©ã§ãããšåœŒã¯èšããŸãã éçºè ã¯çŸåšãä¿®æ£äžå¯èœãª C ã®åé¡ã解決ããã ãã§ãªãããšããµã€ãã£ã³ã°ãªæ°æ©èœãæäŸããæ°ããé«çŽèšèªãæ¢ããŠããŸãã ãã®ãããªèšèªã¯ãéçºè ã匷å¶çã«åãæ¿ããã®ã«ååãªé åçã§ããå¿ èŠããããå®å šã§ãããèªåã¡ã¢ãªç®¡çãªã©ãæäŸããå¿ èŠããããŸãã
ãC ããåªããèšèªãç®æãèšèªã¯ãæ¬åœã«é åçãªä»£æ¿èšèªã«ãªãããã®ã§ããã°ããããã¡ ãªãŒããŒãããŒä¿è·ä»¥äžã®ãã®ãæäŸããå¿ èŠããããŸãã éçºè ã¯ã䜿ãããããšããã©ãŒãã³ã¹ãã€ãŸããäžç®çç¶ã§ããå°ãªãè¡ã§ããå€ãã®äœæ¥ãå®è¡ã§ããã³ãŒããäœæããããšã«é¢å¿ãæã£ãŠããŸãã ã»ãã¥ãªãã£ã®åé¡ã«ã察åŠããå¿ èŠããããŸãã 䜿ãããããšããã©ãŒãã³ã¹ã¯å¯æ¥ã«é¢ä¿ããŠããŸãã äœããéæããããã«æžããªããã°ãªããªãã³ãŒããæžãã°æžãã»ã©ãã»ãã¥ãªãã£é¢é£ãŸãã¯ã»ãã¥ãªãã£é¢é£ä»¥å€ã®ãšã©ãŒãçºçããå¯èœæ§ãæžããŸãããšããªãã¬ããæ°ã¯èª¬æããŸãã
RustãšCã®æ¯èŒ
2006 幎ã«é¡ããMozilla ã® Graydon Hoare ã¯å人ãããžã§ã¯ããšã㊠Rust ãæžãå§ããŸããã ãã㊠2009 幎ã«ãMozilla ã¯ç¬èªã®ããŒãºã«åãã㊠Rust éçºã®ã¹ãã³ãµãŒãéå§ããèšèªãããã«éçºããããã«ããŒã ãæ¡å€§ããŸããã
Mozilla ããã®æ°ããèšèªã«èå³ãæã£ãçç±ã® 4 ã€ã¯ãFirefox ã XNUMX äžè¡ãè¶ ãã C++ ã³ãŒãã§æžãããŠãããããªãã®æ°ã®é倧ãªè匱æ§ãæ±ããŠããããã§ãã Rust ã¯ã»ãã¥ãªãã£ãšåæå®è¡æ§ã念é ã«çœ®ããŠæ§ç¯ãããŠããããããã©ãŠã¶ã®ã¢ãŒããã¯ãã£ãå®å šã«èŠçŽã Quantum ãããžã§ã¯ãã®äžç°ãšããŠå€ãã® Firefox ã³ã³ããŒãã³ããæžãçŽãã®ã«æé©ãªéžæè¢ãšãªã£ãŠããŸãã Mozilla ã¯ãå°æ¥ Firefox ã®çŸåšã®ã¬ã³ããªã³ã° ãšã³ãžã³ã眮ãæãã HTML ã¬ã³ããªã³ã° ãšã³ãžã³ã§ãã Servo ã®éçºã«ã Rust ã䜿çšããŠããŸãã MicrosoftãGoogleãFacebookãAmazonãDropboxãFastlyãChefãBaidu ãªã©ãä»ã®å€ãã®äŒæ¥ããããžã§ã¯ã㧠Rust ã䜿çšãå§ããŠããŸãã
Rust 㯠C èšèªã®æãéèŠãªåé¡ã® XNUMX ã€ã解決ããèªåã¡ã¢ãªç®¡çãæäŸãããããéçºè ã¯ã¢ããªã±ãŒã·ã§ã³å ã®ãã¹ãŠã®ãªããžã§ã¯ãã«å¯ŸããŠã¡ã¢ãªãæåã§å²ãåœãŠãããå²ãåœãŠã解é€ãããããå¿ èŠããããŸããã Rust ãä»ã®ææ°ã®èšèªãšç°ãªãã®ã¯ãRust ã«ã¯ãæªäœ¿çšã®ãªããžã§ã¯ããã¡ã¢ãªããèªåçã«åé€ããã¬ããŒãž ã³ã¬ã¯ã¿ãŒããªããJava ã® Java ã©ã³ã¿ã€ã ç°å¢ãªã©ãRust ãåäœããããã«å¿ èŠãªã©ã³ã¿ã€ã ç°å¢ããªãããšã§ãã 代ããã«ãRust ã«ã¯æææš©ãåçšãåç §ãæå¹æéã®æŠå¿µããããŸãã ãRust ã«ã¯ãªããžã§ã¯ãåŒã³åºãã宣èšããã·ã¹ãã ããããææè ãããã䜿çšããŠããã®ãããããšãåã«åçšããŠããã®ããæå®ã§ããŸãã ãªããžã§ã¯ããåçšããã ãã®å Žåãã³ã³ãã€ã©ãŒã¯ãããç£èŠããåç §äžã«å ã®ãªããžã§ã¯ããæå®ã®äœçœ®ã«çãŸãããã«ããŸãã ãŸããRust ã¯ããªããžã§ã¯ãã®äœ¿çšãçµäºãããšããã«ãªããžã§ã¯ããã¡ã¢ãªããåé€ãããããã«ããè¿œå ã®æéãå¿ èŠãšããã«ã³ã³ãã€ã«æã«é©åãªåŒã³åºããã³ãŒãã«æ¿å ¥ããŸãããš Triplett æ°ã¯èšããŸãã
ãã€ãã£ã ã©ã³ã¿ã€ã ããªãããšããRust ã®è¯ãç¹åŸŽãšèããããšãã§ããŸãã Triplett ã¯ããããšãšãã«å®è¡ãããèšèªã¯ã·ã¹ãã ããã°ã©ãã³ã°ã®ããŒã«ãšããŠäœ¿çšããã®ãé£ãããšèããŠããŸãã åæ°ã®èª¬æã«ãããšããã³ãŒããåŒã³åºãåã«ãã®ã©ã³ã¿ã€ã ãåæåããå¿ èŠããããé¢æ°ãåŒã³åºãã«ã¯ãã®ã©ã³ã¿ã€ã ã䜿çšããå¿ èŠããããŸãããŸããã©ã³ã¿ã€ã èªäœãäºæãã¬ã¿ã€ãã³ã°ã§èåŸã§è¿œå ã®ã³ãŒããå®è¡ããå¯èœæ§ããããŸããã
Rust ã¯å®å šãªäžŠåããã°ã©ãã³ã°ã®æäŸã«ãåªããŠããŸãã ã¡ã¢ãªã»ãŒãã«ããã®ãšåãæ©èœã«ãããã©ã®ã¹ã¬ãããã©ã®ãªããžã§ã¯ããææããŠããããã¹ã¬ããéã§åãæž¡ãã§ãããªããžã§ã¯ããããã¯ãå¿ èŠãªãªããžã§ã¯ããªã©ã远跡ããŸãã
ããããã¹ãŠã®æ©èœã«ãããRust ã¯éçºè ãæ°ããã·ã¹ãã ããã°ã©ãã³ã° ããŒã«ãšããŠéžæããã®ã«ååãªé åãæã£ãŠããŸãã ãã ãã䞊åã³ã³ãã¥ãŒãã£ã³ã°ã®ç¹ã§ã¯ãRust ã¯ãŸã C ã«ãããã«é ããŠããŸãã
Triplett ã¯ãã·ã¹ãã ããã°ã©ãã³ã°ã®åé㧠C ã«å®å
šã«å¹æµããC ãè¿œãè¶ããC ã«åã£ãŠä»£ããããšãã§ããããã«ãRust ã«å¿
èŠãªæ©èœãå®è£
ããç¹å¥ãªã¯ãŒãã³ã° ã°ã«ãŒããèšç«ããäºå®ã§ãã ã®
ãŸã第äžã«ãFFI / C Parityã°ã«ãŒãã¯ãRustã®ãã«ãã¹ã¬ãããµããŒãã®æ¹åãæ°ããIntel Xeon Scalableããã»ããµã«ç»å Žããæµ®åå°æ°ç¹ãã©ãŒãããã§ããBFLOAT16ã®ãµããŒãã®å°å ¥ãããã³ã¢ã»ã³ããªã³ãŒãã®å®å®åã«åãçµããšèããããŸããæ¿å ¥ã
åºæïŒ 3dnews.ru