kakasi/tests/rust_article_romaji.txt

157 lines
27 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Rust (rasuto) ha, seinou, memori anzensei, anzen na heikousei wo mezashi te sekkei sareta maruchiparadaimu no puroguramingu gengo dearu. C gengo, C++ ni kawa ru shisutemupuroguramingu gengo wo mezashi teori [2], koubunteki niha C++ ni nite iruga [3], "boroochekkaa" (borrow checker) de sanshou no yuukousei wo kenshou surukotoniyotte memori anzensei wo hoshou dekiru. Rust ha gabeejikorekushon nashideno memori anzensei wo tassei shiteori, hitsuyou na bamen de sanshou kaunto wo tsukau kotomodekiru [4][5].
Rust purojiekuto ha oopunsoosu no komyuniteibeesu kaihatsu de shinkou shiteori [6], gengo shiyou (kentou dankai fukumu), soosukoodo, dokyumento ha oopunsoosuraisensu de koukai sareteiru [7]. 2006 nen no kaihatsu shoki ha, Mozilla no juugyouin no gureidon hoare (Graydon Hoare) [8] no kojin purojiekuto dattaga, 2009 nen ni Mozilla ga kaihatsu ni kakawa ri hajime te Mozilla Research no koushiki purojiekuto tonatta [9][10]. 2015 nen ni 1.0 han ga ririisu sarerumadeniikutsumono hakaiteki na shiyou henkou gaattaga, 1.0 han ikou ha kihonteki niha kouhou gokan wo tamotsu te 6 shuukan kankaku de teikiteki ni ririisu sareteiru.
Rust ha maruchiparadaimupuroguramingu gengo deari, tetsuzukigata puroguramingu, obujiekuto shikou puroguramingu, kansuugata puroguramingu nadono jissou shuhou wo sapooto shiteiru. Kihonteki na seigyo koubun ha C gengo ni nite iruga, sono ooku ga shiki (expression) dearutoiu ten nioiteha ML gengo ni nite iru. Konpairu kiban ni MIR to LLVM wo mochiite ori [11], jikkouji sokudo seinou ha C gengo to doutou teido dearu [12]. Kyouryoku na kata shisutemu to risoosu kanri no shikumi niyori, memori anzensei ga hoshou sareteiru.
Rust ha 20162022 nen no kan Stack Overflow Developer Survey de "mottomo aisa reteiru puroguramingu gengo" de ichii wo kakutoku shi tsuzuke teiru [13]. Ippou de, Rust ha gakushuu nan'ido ga takai gengo tomo kangae rareteori [14], 2017 nen roodomappu deha gakushuu kyokusen no kaizen wo mokuteki toshite age teita [15].
Rust toiu namae hasabi kin ni chinan de zuke rareta [16]. Kono meimei no nochi, touji no kaihatsu chiimumenbaa no ooku ga jitensha wo aikou shiteitakotokara, jitensha no cheenringu no sabi tsukiwo motoni shita dezain no rogo ga kouan sareta [17]. Touzen, cheenringu no sabi gasabi kin niyotte shouji ruwakeganaku, "sekkeisha no gureidon hoare ga seibutsugaku otaku dearukotokara sanka tetsu no "sabi" dehanaku "sabi kin" nanoda" to, sankou bunken 16 no matsubi ni shirusa reteiru.
Kaihatsu taikei
Rust ha oopunsoosu no komyuniteibeesu de kaihatsu ga susume rareteiru. Purojiekuto no shukan ha Rust Project Developers (Rust kaihatsu chiimu) dearu [18]. 2018 nen genzai, gengo hatsumeisha no gureidon hoare ha purojiekutochiimu kara hazure teiru. Purojiekuto no subete no soosukoodo ha GitHub de ippanni koukai sareteori [19], komyuniteimenbaa no kyouryoku niyori kairyou ga susume rareru. Purojiekuto no daibubun no komitto ha komyuniteimenbaa niyorumonodearu [20].
Mozilla no rinen [21] wo mamori, Rust gengo ha shakai ni hiraka reteori, gengo ya tsuuru ni taisuru shiyou no teian ha RFC no katachi de tori matomerare [22], kanrensu ru chiketto de shiyou shousai nitsuite riyousha kara kansou ya teigen wo uke teiru [23][24].
Gengo ya koaraiburari wo kaihatsu suru Rust kaihatsu chiimu ha Servo (uebuburauza you reiautoenjin) ya Rust konpaira no jissou keiken wo toushi te gengo wo kairyou shiteiru. Tatoeba, C gengo to Rust wo renkei saseru koodo wo jidou seiseisu ru bindgen ha motomoto ha gaibu kaihatsusha ga kaihatsu shiteitaga [25], Mozilla Servo kaihatsu chiimu ga Servo no kaihatsu de riyou surutameni C++ to Rust wo renkei saseru koodo mo jidou seisei dekiruyou kairyou wo omone, genzai ha Servo kaihatsu chiimu to mitsuni renkei shiteiru Rust kaihatsu chiimu ni shukan wo ikou shite [26]Servo no kaihatsu to tomoni kairyou ga tsuzuke rareteiru [27].
Sekkei to tokuchou
paradaimu
gengo jissou shuhou nioiteno puroguraminguparadaimu ha tokutei no jissou shuhou ni gentei sarenai hi junsui na maruchiparadaimupuroguramingu gengo dearu. Bunpou no hyoumenteki na kijutsu ha tetsuzukigata puroguramingu, burokkukoodo nomatomarino imiron ha kansuugata puroguramingu, kata shisutemu wo mochiita obujiekuto kouzou ha obujiekuto shikou puroguramingu no paradaimu tokusei wo motsu. Tokutei no puroguraminguparadaimu nomiwo shiyoushi te soosukoodo wo kijutsu surukotohanaku, yousho yousho no hitsuyou na tokoro de hitsuyou na paradaimu wo shiyoushi te soosukoodo wo kijutsu surukotoninaru.
Soosukoodo wo taagettopurattofoomu ni saitekika shita obujiekutofairu ni konpairu suru konpairu gengo no paradaimu tokusei wo motsu. Ooku no sukuriputo gengo ga motsu intapurita kinou ya, Swift ya Go ga teikyou suruyouna REPL kinou no paradaimu tokusei ha mota nai.
Sono hokano paradaimu toshite, kansuu no nyuushutsuryoku parameeta ni jienerikku kata wo shiteisu ru jienerikkupuroguramingu, hidouki kinou wo jitsugen suru heikou keisan no paradaimu tokusei wo motsu.
Kiso bunpou
Rust no kisoteki na bunpou ha C gengo ya C++ ni nite, nami kakko de kakoma reta burokkukoodo { ... }, if, else, while nadono seigyo furookiiwaado wo motsu. Subete no C gengo ya C++ no kiiwaado ga jissou sareteiruwakedehanaku, ippou de ikutsuka no Rust no seigyo meirei (pataanmatchi notameno match) hasorerano gengo wo shuutoku shita purogurama nitotteha najimi ga sukunai monomo sonzai suru. Rust no meirei bun ha, hyoumenteki na C gengo ya C++ tono bunpou no ruijisei nimokakawarazu, imiron tekini ha ML kei gengo no meirei shiki ni chikaku, kansuu hontai nohobo subete no bubun ha seigyo furoo enzanshi desae "bun (statement)" dehanaku "shiki (expression)" dearu [28]. Tatoeba futsuu no if shiki mo C gengo de iu tokoro no jouken enzanshi deari, if shiki no kekka toshite kaerichi wo kaesu.
Burokkukoodo nai no meirei bun no separeeta niha semikoron (;) wo mochii ruga, C gengo nosoreto kotona ri Rust no semikoron ha chokuzen no meirei bun ga burokkukoodo de kukura reru shiki no tochuu shiki dearukotowo sengen surutamenomonodearu. Semikoron wo matsubi ni oka nai meirei bun ha burokkukoodo no saishuuteki na hyoukashiki toshite atsukawa re, sono shiki no kekka ga burokkukoodo no soto he modorichi toshite kaesa reru [29]. Koreha kansuu teigi deareba, kekka wo kaesu kasho niha semikoron wotsukenai. Kekka ga fuyou naraba semikoron niyotte meijiteki ni sute runodearu. Soshite kekka wo kaesa nainaraba, soreha bun to yoba reru.
Hensuu
hensuu ha let kiiwaado de teigi sare, fuhen (imyuutaburu) dearu [30]. Hensuu heno sai dainyuu ha konpairueraa tonaru [31].
Kahen hensuu wo atsukai tai baai, hensuu sengen tokini mut kiiwaado wo riyou shite kahen dearukotowo meiji shinakerebanaranai [32]. Kono kinou ha tatoeba kyodai kouzoutai no kopii wo sake nagara ichibu wo henkou surutameni yuukou katsuyou dekiru.
Mata Rust ha shadooingu (doumei hensuu no fukusuukai teigi) ni taiou shiteiru [33]. Shadooingu niyori ichijiteki na hensuu no henkou ya hensuukei no henkou ga kanouni naru [34].
Hensuu toha betsuni const kiiwaado de teigi sareru teisuu wo motsu. Teisuu ha tsuneni hitoshii atai wo motsu (mut ya shadooingu ni taiou shiteinai).
Kata to porimoofizumu
kono gengo no kata shisutemu deha Haskell gengo ni narai "kata kurasu" wo mochii rukotogadekiru. Koreha adohokku na taaishou wo youini surumonodeari, kahen katasengen niyori jitsugen sarerumonodearu. Taka kaindo taaishou [35] nado, Haskell gengo niaru hokano tokuchou ha sapooto sareteinai.
Kata shisutemu
Rust gengo ga sonae ru kata shisutemu ha, impl (jissou), trait (toreito), struct (kouzoutai) oyobi enum (rekkyogata) wo kihon toshite kousei sareru. impl ga hokano gengo niokeru kurasu ni chikai yakuwari wo hata shi, keishou to porimoofizumu ha trait niyotte teikyou sareru. trait niha mesoddo wo teigi surukotogadeki, trait de sengen sareta mesoddo ha impl niyotte struct he mikkusuin sareru. struct niha fiirudo ga teigi kanou de, trait to impl hasore jishin niha fiirudo ha teigi dekinai. enum niha fukusuushu rui no kata no kategori hensuu ga teigi kanou de, suuchi kata, mojiretsugata, obujiekuto kata nadono fukusuu no joutai wo sentakuteki ni mochi uru. Hishigata keishou mondai wo kaihi surutameni trait nomiga keishou ga kanou dearu.
Hensuu no kata wo kettei suru kata shisutemu ha seitekigata zuke katsu tsuyoi katazuke dearu. Seitekigata zuke to douteki katazuke no kubun nioiteno katazuke ha, konpairu tokini subete no hensuu ni taishi te kata wo kettei suru seitekigata zuke wo kihon toshiteiruga, toreito wo pointa wo kaishi te riyou surukotode, dakkutaipingu ni nita katazuke ga kanouna toreitoobujiekuto ga sonzai suru. Hokani, Any toreito nite, jikkouji rifurekushon wo mochiita douteki katazuke mo kanou dearu. Tsuyoi katazuke to yowai katazuke no kubun nioiteno katazuke ha, jikkouji ni hensuu no kata wo katahenkan (appukyasuto, daunkyasuto, kurosukyasuto) oyobi bokushingu wosurukotowo yurusa nai tsuyoi katazuke nomiwo sapooto shiteiru. C gengo, Java ha jikkouji ni katahenkan wosurukotowo yurusu yowai katazuke wo sapooto shiteiruga, Rust gengo dehasonoyouna katahenkan ha mitome rareteinai.
Katasuiron
Rust konpaira ha hensuu heno dainyuu toki (variable = value), hensuu no kata wo atai no kata ni motozu ki katasuiron suru. Hensuu no sengen niha kanarazushimo kata wo kettei surutameno shokichi wo hitsuyou toshinai. Hensuu no sengen tokini shokichi ga atae rareta baai ha "hensuu no kata" ha "shokichi no kata" dearuto katasuiron ganasareruga, shokichi ga atae rarenakatta baai ha ikou no burokkukoodo nakano sono hensuu he atai ga hajimete dainyuu sareta tokini "sahen no hensuu no kata" ha "uhen no dainyuu suru atai no kata" dearuto katasuiron ganasareru. Hensuu heno dainyuu ga kata fuitchi niyori shippai shita baai niha konpairu tokini eraa wo kenshutsu suru [36].
Porimoofizumu no jitsugen
porimoofizumu wo jitsugen surutame, kouzoutai no fiirudo oyobi kansuu no nyuushutsuryokuchi ha tokutei no toreito no jissou wosuru jienerikku kata wo shiteisu rukotoga dekiru. Sonoyouna teigi no naka deha, jienerikku kata de kata ga sengen sareta hensuu oyobi nyuushutsuryokuchi hasono toreito no tokusei nomi shiyoude kiru. Koreha jienerikku kansuu ga teigi sarerutosuguni kata hantei gadekirukotowo imi shiteiru. Koreha C++ no dakku taipingu de gutaiteki na kata ga insutansu kasa rerumade hantei dekinai tenpureeto toha taishouteki dearu. Shikashi, Rust no jienerikusu no jissou ha C++ no tenpureeto no tenkeiteki na jissou to nite ori, insutansu ka gotoni koodo no kobetsu no kopii ga seiseisa reru. Koreha tansou ka [37] to yoba re, Java ya Haskell de tsuujou shiyousa reru kata shoukyo houshiki toha taishouteki dearu. Tansou ka no riten ha tokutei no yuusukeesu gotoni saitekika sareta koodo deari, ketten ha kekka no bainari no konpairu jikan oyobi saizu ga zouka surukotodearu. Rust no toreito wo mochiita porimoofizumu no jitsugen ha, jikkouji no oobaaheddo ganai "zerokosuto chuushouka" to hyougen sareteiru [38].
Risoosu kanri
Rust ha memori yasono hoka risoosu no kanri ni RAII wo saiyou shiteori, risoosu no riyou kukan wo konpairu tokini seiteki ni kenshou suru boroochekkaa (borrow checker) toiu kinou de jitsugen sareteiru. Gabeejikorekushon ya sanshou kaunto toha kotona ri, konpairu tokini seiteki ni risoosu no riyou kukan wo kenshou surukotode, jikkouji no risoosu kanri kosuto wo shouryou ni osae teiru.
Boroochekkaa
hitotsu no risoosu ha hitotsu no shoyuusha (hensuu ya burokku) nomini kanrenzuke sarerutoiu seiyaku ga Rust tokuyuu no risoosu kanriki nou toshite sonzai suru. Koreha, aru risoosu no shoyuuken (ownership) haaru shoyuusha (owner) ga jitsu teiru, noyouni hyougen sareru. Doujini, risoosu no shoyuuken wo fukusuu no hensuu ga motsu kotoha dekina i. Koreha C++ no sumaatopointa no isshu dearu unique_ptr no furu mai ni nite iru. Boroochekkaa ha shoyuuken no kyougou oyobi fusei riyou wo kenshou suru.
Risoosu niha sanshou (& kigou) no gainen ga sonzai shi, koreha shoyuuken no gainen to heikou shite atsukawa reru. Shoyuuken ha hitotsu no shoyuusha shika mote naiga, sanshou ha fukusuu no shoyuusha ga mochi uru. Sanshou ha douitsu no risoosu wo fukusuu no kasho de riyou surutameni riyou sareru. Tadashi, shoyuuken niyoru risoosu kanri ha yuukou deari, shoyuuken ga kaihou sareta risoosu wo sasu sanshou ha doujini mukouka sareru. Boroochekkaa hakono sanshou nitsuitemo raifutaimu (lifetimes) toshite risoosu no seizon kikan wo kenshou suru.
Boroochekkaa ha risoosu no shoyuuken to raifutaimu no ryouhou wo seiteki ni kaiseki surukotode, nurupointa ya fusei na memori iki wo sasu pointaa (eigoban), risoosu riyou kyougou wo seigen shita memori anzensei wo jitsugen shiteiru.
Tokui na risoosu kata
risoosu no memori kakuho ha kihonteki niha sutakkumemori wo riyou shiteori, hiipumemori wo riyou shita memori kakuho ha Box ya Vec nadono tokutei no kata nomide genteiteki ni riyou sareteiru.
Konpairu tokini kata no saizu ga kettei dekinai kahenchou hairetsu wo arawasu youna kata ha hiipumemori wo riyou suru Box kata wo shiyoushi te risoosu wo kanri suru. Box risoosu jitai ha sutakkumemori de kanri sareruga, Box risoosu ga shoyuuken wo motsu jittai no risoosu ha hiipumemori de kanri sareru. Hyoujun no hiipumemori kakuho niha shisutemuarokeeta wo riyou suruga [39], taishou purattofoomu ya birudo tokino shitei niyori hokano memori kakuho API wo riyou surukotomoaru. Hiipumemori ha sutakkumemori ni kurabe te sokudo seinou ga ochiru tame, hitsuyou tokini nomi genteiteki ni riyou sareteiru.
Kyoukai chekku
Rust ha jikkouji ni kyoukai chekku wookonau. Koreniyori baffaoobaaran wohajimetoshita memoriakusesu ni taisuru anzensei wo ete iru. Kono kinou ha zerokosuto chuushouka denaku jikkouji no meirei dearutame, anzensei to hikikae niikurakano seinou oobaaheddo ga hassei shiteiru. Hokano shisutemupuroguramingu gengo toshite daihyouteki na C gengo ya C++ ha kyoukai chekku wo kyousei shinaitame, Rust no tokuchou no 1 tsutonatteiru.
Raiburari
Rust no raiburari ha kureeto (crate) toiu koshou de teikyou sareru. Ooku no kureeto ha crates.io de koukai sareteiru. Dou saito ha baajon gotono soosukoodo wo aakaibu toshite teikyou shiteiru. Kureeto ha kanarazushimo crates.io ni touroku sareteiru hitsuyou hanaku, Web saaba ya fairushisutemu wo sasu URI de shiteisu rukotomodekiru [40]. Raiburari ha soosukoodopurojiekuto de haifu sarerukotoga ippanteki daga, konpairu shita bainariraiburarifairu (kakuchoushi rlib) de shutsuryoku surukotomo kanou dearu.
Koaraiburari
koaraiburari ha core no meishou de teikyou sareteiru [41]. Kono raiburari ha hyoujun raiburari ni izon shinai kikan raiburari deari, issai no joui raiburari, shisutemuraiburari, libc raiburari ni rinku shiteinai. Koaraiburari ha saishougen deari, hiipu wariate wo ninshiki sezu heikousei ya nyuushutsuryoku mo teikyou shiteinai. Soreranokotoha purattofoomu heno chousei ga hitsuyou deari, kono raiburari ha purattofoomu ni izon shinai.
Hyoujun raiburari
hyoujun raiburari ha std no meishou de teikyou sareteiru [42]. Kono raiburari ha kisoteki na kata (Vec<T> ya Option<T>), gengo no kihon no shori, hyoujun no makuro, nyuushutsuryoku (I/O), maruchisureddo nadono kinou wo teikyou suru. Hyoujun raiburari ha hyoujun de rinku shite sofutouea ga birudo sareruga, yori konkan tekina sofutouea ya risoosu no chiisa i kumikomi kankyou deha rinku wo hazushi te sofutouea wo birudo surukotogadekiru.
Gaibu raiburari
Rust ha kihonteki de hanyouteki na kinou wo fukume hyoujun raiburari dehanaku gaibu raiburari toshite teikyou shiteiru. Korehaiwayuru "batterii doukon (“Battery Included”)" no hantai wo iku monode, gengo to tomoni koushin surukotode hoshuteki ninarigachina hyoujun raiburari dehanaku, gengo toha dokuritsu shite koushin surukotode saizen wo kurikaeshi tankyuu shiuru gaibu raiburari tosurukotode, sorerano kinou woyori yoi hinshitsu de teikyou suru kangae ni motozu iteitamonodearu [43]. Gaibu raiburari no ribensei to hinshitsu no hoshou notameni crates.io to API gaidorain wo teikyou shiteiru.
Gengo kaihatsu no komyunitei gasoreranitsuite tazusawa tteinaiwakedehanaku, kisoteki na gaibu raiburari ha komyunitei haika de kaihatsu ga susume rareteiru.
Kisoteki na raiburari
rand - ransuu seisei [44]
regex - seiki hyougen [45]
chrono - jikoku sousa [46]
libc - C gengo intaafeesu [47]
log - rogu shutsuryoku intaafeesu [48]
kaihatsu tsuuru
Rust no kaihatsu tsuuru ha dokuritsu shita sofutouea toshite teikyou sareteiruga, Rust no koushiki na insutooru houhou ni shitagae ba, ikano tsuuru isshiki ga teniiru.
rustc
rustc ha Rust de kijutsu sareta Rust soosukoodo wo konpairu suru konpaira (shorikei) dearu. Konpairu no seikabutsu toshite chuukan koodo, oyobi jikkou fairu, seiteki raiburari, douteki raiburari wo shutsuryoku suru [49]. rustc ha kurosukonpairu wo kanou toshi, Windows, Linux, macOS muke no jikkou fairu hoka, Android ya iOS de dousa suru raiburari wo hosutomashin de shutsuryoku surukotogadekiru [50].
Taishou purattofoomu ha kanseido ni awa sete 3 tsuno teia ni waka reteiru [51]. Teia 1 ha bainariririisu ga teikyou sareteori, jidou birudo (eigoban) to jidou tesuto ga seibi sare, soreraga antei shite seikou (pasu) surukotoga hoshou sareteiru. Teia 2 ha bainariririisu ga teikyou sareteori, jidou birudo to jidou tesuto ha seibi sareteiruga tesuto ga seikou surukotoha hoshou sareteinai. Teia 3 ha soosukoodo toshiteha taiou shiteiruga, jidou birudo to jidou tesuto no dousa ga hoshou sareteorazu, koushiki ririisu ha teikyou sareteinai.
Windows, Linux, macOS muke no Rust konpaira ha teia 1 de ririisu sareteiru. Android, iOS, WebAssembly muke no Rust konpaira ha teia 2 de ririisu sareteiru.
Rust 1.12 han yori dounyuu sareta MIR (Mid-level IR)[11] niyotte, konpairu to jikkouji mano jinsokuka narabini kata chekku no seikakusei no jitsugen ga hakara reteiru.
Cargo
Cargo ha Rust sei sofutoueapurojiekuto no CUI no birudotsuuru dearu. Kitei no fairu kousei (direkutori, settei fairu, soosufairu) no purojiekutodirekutori de riyou sareru. Purojiekuto no birudo (konpairu), izon raiburari no daunroodo, tesuto, dokyumento seisei nadowo sapooto suru [53]. Tsuujou ha Cargo wo chuushin ni kaihatsu wo okonae ruyouni sekkei sareteirutame, rustc konpaira wo chokusetsu yobidasu kotoha mare dearu. Cargo no izon raiburari no daunroodo saki ha crates.io dearu [54]. Sabukomando ha kakuchouka nou de hyoujun no komando no hoka, README.md fairu no jidou seisei komando [55] nadono kakuchou komando ga sonzai suru. Kono kakuchou ha cargo-xxx to nazuketa komando wo tekisetsu ni insutooru surudakede, cargo ni xxx toiu sabukomando wo tsuika dekiru.
rustup
rustup ha tsuurucheen no kanri sofutouea dearu. Tsuurucheen no daunroodo to insutooru, sofutoueabaajon no kanri, konpairutaagetto no kirikae no kinou wo teikyou suru [56][57].
Kinou
rustup ha Rust purojiekuto ga ririisu shiteiru konpaira (rustc), birudotsuuru (Cargo) nadono tsuurucheen wo intaanetto wo keiyu shite hosutomashin ni daunroodo, insutooru oyobi maneejimento suru kinou wo teikyou suru. Insutooru taishou no tsuurucheen no baajon ha, antei han, beeta han, naitorii han no subete wo fukun deori, riyousha ga hitsuyou tosuru baajon wo shiteishi te daunroodo surukotogadekiru. Mata, taagettopurattofoomu nitsuitemo subete no shurui wo fukun deori, hosutomashin to kotonaru purattofoomu (tatoeba, hosuto ga macOS deattemo Windows ya Android, iOS) no konpaira wo insutooru surukotogadekiru. Kono baai, konpaira ha kurosukonpaira toshite dousa shite taagettopurattofoomu ni awa seta birudo wo jisshi suru.
Rekishi
Rust 1.13 han izen ha shierusukuriputo de jissou sareta rustup.sh ga koukai sareteita [58]. Koreto heikou shite Rust gengo de jissou sareta doutou kinou wo teikyou suru rustup.rs no kaihatsu ga susume rareteori, Rust 1.14 han de rustup.sh ha hi suishou tonari [59], Rust 1.14 han ikou ha rustup.rs ga koushiki ririisu toshite teikyou sareteiru [60][61].
Hyouka
Rust ha 2016~2022 nen ni watatsu te Stack Overflow Developer Survey de "mottomo aisa reteiru puroguramingu gengo" de ichii wo kakutoku shi tsuzuke [13], purogurama no kouiteki na hyouka ha ooi.
Ippou de, Rust ha gakushuu nan'ido ga takai gengo tomo kangae rareteiru [62]. Ooku no Rust shogakusha no purogurama nioite, jishin ga tadashi ito omotte kai ta soosukoodo no konpairu ni taishi te konpaira (boroochekkaa) ga eraa wo kenshutsu suru, "boroochekkaa tono tatakai" (fighting with the borrow checker) ga hassei shigachidearu [63][64]. Chiisa na apurikeeshon no jissou nitsuite doujiki ni gengo kaihatsu sareteiru Go gengo to hikaku shita baai, Rust gengo yori Go gengo no houga kaihatsu kouritsu ga yoi toiu hyouka gaaru [14]. Gakushuu nan'ido no takasa ha kaihatsu chiimu mo ninshiki shiteori, 2017 nen roodomappu deha gakushuu kyokusen no kaizen wo mokuteki toshite age teita [15][65].
Kono mondai wo kaizen surutameni, 2020 nen genzai nioite, jidouka wo meinteema nishita kaihatsu wo tsuzuke teori, zenjutsu niaru cargo, rustup nado no tsuuru igai nimo, rustfmt, clippy, cargo doc nadono tsuuru rui wo IDE kankyou nominarazu CUI kankyou demo riyouka nou na joutai heto seibi wo tsuzuke teiru. Mata, kouhou gokansei wo ijishi teirutame, crates.io wo mochii ru koto de raiburari rui nadono seisansei no koujou nimo tsutome teiru.
Rust no jikkouji sokudo seinou ha onaji ku konpaira ni LLVM wo riyou shiteiru baai no C gengo to doutou teido deari [66][67], ichibu no shori deha C gengo wo uwamawatsu ta sokudo ga kakuninsa reteiru [12]. 2018 nen 2 gatsu jitende, uebusaabaapurikeeshon no hanyou shori deha sokudo seinou no yoi Rust sei raiburari ha kaihatsu ga susun deinai [68]. Tanjunna tekisuto shori deha sokudo seinou ha yoi [69].
Sono nochino benchimaaku deha, heikou shori ya gurafikkusu shori nioitemo, Java ya Go wo uwamawatsu teori, konpaira no shutsuryoku suru koodo no yuushuusei ga shoumeisa reteiru. Tadashi, sapooto sareteinai gurafikkusuboodo (C no raiburari wo inkuruudo shinakerebanaranai) deha, C/C++ no jikkousei nou niha oyon deinai.
Tanjou
2006 nen, Mozilla de hatarai teita gureidon hoare [70] ha gendai no intaanetto kankyou de takai heikousei to takai anzensei ga motome rareru shisutemupuroguramingu gengo toshite C gengo ya C++ ni kawari uru puroguramingu gengo Rust gengo no kaihatsu ni chakushu shita [2]. Mozilla ga Rust no kaihatsu ni kakawa rihajimetanoha 2009 nen de [71][9], Rust ha 2010 nen no mojira samitto de kou ni sugata wo arawashi ta [72]. Rust soosukoodo wo konpairu suru Rust konpaira ha, shoki no goro ha OCaml gengo de tsukura reta konpaira (rustboot) ga mochii rareteitaga [73], 2010 nen niha Rust gengo jishin de Rust konpaira wo tsukuru serufuhosuteingu he ikou shita konpaira (rustc) no kaihatsu ga hajime rare [74], yokunen niha buutosutorappu mondai wo kaiketsu shita saisho no kandouhin ga kanseishi ta [75]. Kono toki yori Rust konpaira ha konpairu kiban ni LLVM wo mochiita monotonatta [76].
0.x han
purearufa (0.1 han) to yoba reru saisho no baajon ha 2012 nen 1 gatsu ni ririisu sareta [77]. Mozilla hakorewo atarashi i mono konomi no nin ya puroguramingu gengo aikouka notameno arufa han to ichi zuketeita. Saisho no antei han dearu 1.0 han ga ririisu sarerumadeno 0.x han ririisu deha, ikutsumono ooki na hakaiteki na shiyou henkou ga gengo oyobi raiburari ni kuwae rareta.
Hensuumei ya kansuumei nado shikibetsushi ha, kono gengo no kaihatsu no shoki no goro ha, ASCII moji igai no moji wo tsukau kotoga kinji rareteita. Gengo nitsuitenoaru shitsugi outou no naka de, genba no hi eigoken no puroguramaa nohotondoga shikibetsushi niha ASCII moji wo tsukatte iruto nobe rareteita. Shikashisono seigen ha hanron wo hikidasu kotoninatta [78]. Soreniyori, 2011 nen 2 gatsu ni gengo ni henkou ga okonawa re, kono seigen ha sakujo sareta [79].
Kata hantei ha, 0.4 han izen no juurai no seitekigata zuke ni kuwae te, kata joutai shisutemu wo sapooto shiteita. Kata joutai shisutemu ha, tokubetsu na check bun wo shiyoushi te puroguramu bun no zengo deno kata kettei wo moderu kashi ta. C gengo ya C++ koodo deno asaashon no baai to douyou ni, puroguramu jikkouchuu dehanaku konpairu tokini kata fuitchi wo kenshutsu suru. Kata joutai no gainen ha Rust tokuyuu nomonodehanaku, NIL de saiyou sareteitamonodearu [80]. Jissaini hahotondo shiyousa reteinakattatame kata joutai ha sakujo saretaga, burandingupataan de onaji kinou wo jitsugen dekiru [81].
Obujiekuto shikou no shisutemu ha, 0.2 han kara 0.4 han nikakete ookiku kawa tteitta. 0.2 han de hajimete kurasu (class) ga dounyuu sare, 0.3 han de intaafeesu (interface) wo toushi ta desutorakuta to porimoofizumu ga tsuika sare, 0.4 han de keishou wo teikyou suru shudan toshite toreito (trait) ga tsuika sareta. Intaafeesu ha toreito ni ichibu no kinou ga tougou sarete, kotonaru fuyou na kinou toshite sakujo sareta. Kurasu momata sakujo sare, kouzoutai to toreito wo shiyoushi ta mikkusuin ni okikaera reta.
Koa no memorimoderu ha, 0.9 han kara 0.11 han no kan, 2 tsuno birutoin no pointa kata (hiipumemori kata ~ to gabeejikorekushon kata @) wo kinou wo tanjunka surutameni youishi teita. Soreraha, hyoujun raiburari no Box kata to Gc kata de okikaera re, Gc kata ha saishuuteki niha sakujo sareta [82].
2014 nen 1 gatsu, Dr. Dobb's Journal no henshuuchou andoryuu binsutokku ha D gengo ya Go gengo, Nim gengo to douyou ni C++ no kyousou aite ninaru kikai wo eta to komento shita. Binsutokku niyoruto, Rust ha hijouni ereganto na gengo toshite hiroku mira reteiruga, baajon kan de kurikaeshi ookiku henkou saretatame fukyuu ga okure teirutoiu [83].
1.x han
2015 nen 5 gatsu 16 nichi, antei han tonaru Rust 1.0 ga ririisu sareta [84]. 1.0 han no nochi, antei han oyobi beeta han ga 6 shuukan okini teiki ririisu sareteiru [85]. Mata naitorii han ga mainichi ririisu sareteiru [86]. Arata na kinou ha naitorii han de kaihatsu ga susume rare, beeta han de dousa ga kenshou sareteiru [87].
2016 nen 8 gatsu 2 nichi ni ririisu sareta Firefox 48 niha Rust de kakinaosa reta mediapaasa ga kumikoma reteori, Mozilla ga kaihatsu shiteiru burauza no Firefox nioite Rust de kaka reta koodo ga kakikuwae rareru hatsu rei tonatta [88][89].
2016 nen 9 gatsu ni Rust ha Fedora 24 no hyoujun konpoonento ni kuwae rare, RPM no pakkeeji kanri shisutemu wo mochiite no insutooru sagyou ga youi kasa reteiru [90].
2018 nenban
2018 nen 12 gatsu 6 nichi ni baajon 1.31 ga ririisu sareta [91]. Konkai kara edishon sei ga dounyuu sare, saishinban ha "Rust 2018", juurai han ha "Rust 2015" to yoba rerukotoninaru. Gengo kinou heno hakaiteki henkou ha atarashi i edishon nomini tekiyou sareruga, gokansei ni eikyou shinai kinou tsuika ha hikitsuzuki ryousha ni tekiyou sareru. Mata, 2015 nenban kara 2018 nenban heha cargo fix de toransukonpairu dekiru [91].
2021 nenban
2021 nen 5 gatsu 11 nichi ni, 3 nen burino kaitei tonaru 2021 nenban nitsuite koushiki Blog he kisai ga okonawa reta [92]. Tougai kinou ha, 2021 nen 10 gatsu 21 nichi ni ririisu no 1.56 yori tekiyou sareru. Konkai no shuyou na kaitei ha, reigai shori heno taiou ga kyouka sare, prelude bun ni TryInto ya TryFrom, FromIterator nadoga tsuika sareru. Shousai nitsuiteha, koushiki Blog wo sanshou saretaiga, kouhou gokansei wo ijishi teirutame, 2018 nenban tono kan deha tokuni mondai naku konpairu dekiru.
Source: https://ja.wikipedia.org/wiki/Rust_(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E8%A8%80%E8%AA%9E), Creative Commons Attribution-ShareAlike License 3.0