"Rust iramangwana rehurongwa hwehurongwa, C ndiye muunganidzi mutsva" - kutaura kweumwe weIntel anotungamira mainjiniya

Panguva ichangoburwa Open Source Technology Summi (OSTS) Josh Triplett, injiniya mukuru kuIntel, akati kambani yake inofarira Rust inosvika "parity" nemutauro weC uyo uchiri kutonga masystem uye kusimudzira kwakaderera munguva pfupi iri kutevera. Mukutaura kwake Pasi pezita rekuti "Intel uye Rust: The Ramangwana reSystems Programming," akataura zvakare nezve nhoroondo yehurongwa hwehurongwa, kuti C yakave sei iyo default system programming mutauro, ndeapi maficha eRust anopa mukana pane C, uye kuti yaigona sei zvachose. tsiva C mundima iyi yekuronga.

"Rust iramangwana rehurongwa hwehurongwa, C ndiye muunganidzi mutsva" - kutaura kweumwe weIntel anotungamira mainjiniya

System programming ndiko kusimudzira uye manejimendi esoftware inoshanda sepuratifomu yekugadzira maapplication, kuve nechokwadi chekupedzisira kupindirana ne processor, RAM, yekupinza / yekuburitsa zvishandiso uye network michina. Sisitimu software inogadzira yakasarudzika abstraction muchimiro chemidhizaini inobatsira kugadzira application software pasina kuongorora mukati meruzivo rwekuti hardware pachayo inoshanda sei.

Triplett pachake anotsanangura masisitimu ehurongwa se "chero chinhu chisiri chekushandisa." Inosanganisira zvinhu zvakaita seBIOS, firmware, bootloaders uye operating system kernels, marudzi akasiyana-siyana akaiswa pasi-level code, uye chaiwo muchina kuita. Sezvineiwo, Triplett anotenda kuti webhu bhurawuza zvakare system software, sezvo bhurawuza rave kare rave kupfuura "chirongwa", ichiva yakamira "platform yemawebhusaiti uye webhu application."

Munguva yakapfuura, mapurogiramu akawanda ehurongwa, kusanganisira BIOS, bootloaders uye firmware, zvakanyorwa mumutauro wegungano. Mumakore ekuma1960, zviedzo zvakatanga kupa rutsigiro rwehardware yemitauro yemhando yepamusoro, zvichitungamira mukusikwa kwemitauro yakaita sePL/S, BLISS, BCPL, uye ALGOL 68.

Zvino, muma1970, Dennis Ritchie akagadzira C programming mutauro weiyo Unix inoshanda sisitimu. Yakagadzirwa mumutauro weB programming, iyo yakanga isina kana tsigiro yekutaipa, C yakazadzwa nemabasa ane simba epamusoro-soro akanyatsokodzera kunyora masisitimu anoshanda uye vatyairi. Zvikamu zvinoverengeka zveUNIX, kusanganisira kernel yayo, zvakazonyorwa patsva muna C. Mushure mezvo, zvimwe zvirongwa zvakawanda zvehurongwa, kusanganisira dhatabhesi reOracle, yakawanda yeWindows source code, uye Linux operating system, zvakanyorwawo muC.

C yakawana rutsigiro rwakakura munzira iyi. Asi chii chaizvo chakaita kuti vanogadzira vachinje kwairi? Triplett anotenda kuti kuti akurudzire vanogadzira kuti vashandure kubva kune mumwe mutauro wechirongwa kuenda kune mumwe, iwo ekupedzisira anofanira kutanga ape maficha asina kurasikirwa akare.

Chekutanga, mutauro unofanirwa kupa "zvinoshamisira" zvinhu zvitsva. “Haangambove nani. Zvinofanirwa kuve zvirinani kururamisa kuedza uye nguva yeinjiniya inotora kuita shanduko, "anotsanangura kudaro. Kuenzaniswa nemutauro wegungano, C aive nezvinhu zvakawanda zvekupa. Yakatsigira imwe mhando-yakachengeteka maitiro, yakapa zvirinani kutakurika uye kuita nepamusoro-level kuvaka, uye yakagadzira yakawanda inoverengeka kodhi yakazara.

Chechipiri, mutauro unofanirwa kupa tsigiro yezvimiro zvekare, izvo zvinoreva kuti munhoroondo yeshanduko kuenda kuC, vagadziri vaifanira kuve nechokwadi chekuti yaisamboshanda semutauro wegungano. Triplett anotsanangura kuti: “Mutauro mutsva haugoni kungova nani, unofanirawo kuva wakanaka saizvozvo.” Pamusoro pekukurumidza uye kutsigira chero mhando yedata inogona kushandiswa nemutauro wegungano, C zvakare yaive neyainzi Triplett "escape hatch" - kureva, yaitsigira kuisa kodhi yemutauro wegungano mukati mayo.

"Rust iramangwana rehurongwa hwehurongwa, C ndiye muunganidzi mutsva" - kutaura kweumwe weIntel anotungamira mainjiniya

Triplett anotenda kuti C yave kuita mutauro wegungano makore mazhinji apfuura. “C ndiye muunganidzi mutsva,” anozivisa kudaro. Iye zvino vagadziri vari kutsvaga mutauro mutsva wepamusoro-soro usingangogadzirise matambudziko akaunganidzwa muC asingachagadziriki, asiwo anopa zvinonakidza zvitsva. Mutauro wakadaro unofanirwa kunge uchimanikidza zvakakwana kuti vagadzirise vashandure kwairi, unofanirwa kuve wakachengeteka, upe otomatiki ndangariro manejimendi, nezvimwe zvakawanda.

"Chero mutauro unoda kuve nani pane C unofanirwa kupa zvakawanda kupfuura kungodzivirira mafashama kana ichida chaizvo kuve imwe inomanikidza. Vagadziri vanofarira usability uye kuita, kunyora kodhi inozvitsanangura uye inoita basa rakawanda mumitsetse mishoma. Nyaya dzekuchengetedza dzinodawo kugadziriswa. Kureruka kwekushandisa uye kuita kunofambidzana. Iyo kodhi shoma yaunofanirwa kunyora kuti uwane chimwe chinhu, mukana mushoma wauinawo wekuita chero zvikanganiso, zvine chekuita nekuchengetedza kana kwete, "anotsanangura Triplett.

Kuenzanisa kweRust naC

Kare muna 2006, Graydon Hoare, mushandi weMozilla, akatanga kunyora Rust sechirongwa chake. Uye muna 2009, Mozilla yakatanga kutsigira kuvandudzwa kweRust kune zvayaida, uye yakawedzera timu kuti iwedzere kukudziridza mutauro.

Chimwe chezvikonzero zvakaita kuti Mozilla afarire mutauro mutsva ndechekuti Firefox yakanyorwa mumitsara inodarika mamirioni mana ekodhi yeC ++ uye yaive nenjodzi shoma. Rust yakavakwa nechengetedzo uye concurrency mupfungwa, zvichiita kuti ive sarudzo yakanaka yekunyora patsva zvakawanda zvezvinhu zveFirefox sechikamu cheQuantum purojekiti yekugadzirisa patsva dhizaini yekuvaka. Mozilla iri kushandisawo Rust kugadzira Servo, HTML inopa injini inozopedzisira yatsiva yazvino Firefox inopa injini. Mamwe makambani mazhinji akatanga kushandisa Rust kumapurojekiti avo, anosanganisira Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu nezvimwe zvakawanda.

Rust inogadzirisa rimwe rematambudziko akanyanya emutauro weC. Inopa otomatiki ndangariro manejimendi saka vanogadzira havafanirwe kugovera nemaoko vobva vasunungura kune chimwe chinhu chiri mukushandisa. Chii chinoita kuti Rust isiyane nemimwe mitauro yemazuva ano ndeyekuti haina muunganidzi wemarara anongobvisa zvinhu zvisina kushandiswa kubva mundangariro, uye haina nharaunda yekumhanya inodiwa kuti ishande, seJava Runtime Environment yeJava. Pane kudaro, Rust ine pfungwa dzekuva muridzi, kukwereta, mareferensi, uye hupenyu hwese. “Ngura ine hurongwa hwekuzivisa nhare kuchinhu kuratidza kuti muridzi wacho ari kuishandisa here kana kuti ari kungokwereta chete. Kana iwe ukangokwereta chinhu, muunganidzi anochengeta izvi uye nekuona kuti chepakutanga chinoramba chiri panzvimbo chero iwe uchichinongedzera. Ngura ichaonawo kuti chinhu chacho chabviswa mundangariro kana kushandiswa kwacho kuchinge kwapera, kuisa runhare rwunoenderana mukodhi panguva yekuunganidza pasina imwe nguva, ”anodaro Triplett.

Kushaikwa kweiyo yekumhanya nguva yekumhanya kunogonawo kutariswa sechinhu chakanaka cheRust. Triplett anotenda kuti mitauro yainoshandisa yakaoma kushandisa semasystem ekuronga maturusi. Sezvaanotsanangura: "Unofanira kutanga iyi nguva yekumhanya usati wafonera chero kodhi, iwe unofanirwa kushandisa ino yekumhanyisa kufona mabasa, uye iyo yekumhanya pachayo inogona kuita yakawedzera kodhi kumashure kwako panguva dzisingatarisirwe."

Rust inoyedzawo kupa yakachengeteka parallel programming. Izvo zvimwe chete zvinoita kuti ndangariro ichengeteke chengetedza zvinhu zvakaita sekuti ndezvipi shinda ndeyapi uye zvinhu zvipi zvinogona kupfuudzwa pakati peshinda uye zvinoda kukiyiwa.

Ese maficha aya anoita kuti Rust imanikidzire zvakakwana kune vanogadzira kuti vasarudze sechishandiso chitsva chehurongwa hwehurongwa. Nekudaro, maererano neparallel computing, Rust ichiri kuseri kweC.

Triplett inotarisira kugadzira boka rekushanda rakakosha iro rinotarisa pakuunza maficha anodiwa muRust kuitira kuti ikwanise kuenzana zvizere, kupfuura uye kutsiva C mumunda wehurongwa hwehurongwa. IN thread paReddit, akazvitsaurira kuhurukuro yake, akati "boka reFFI / C Parity riri mukusika uye harisati ratanga basa," nokuti iye zvino akagadzirira kupindura chero mibvunzo, uye mune ramangwana achanyatsobudisa zvirongwa zvekukurumidza. yekuvandudza Rust sechikamu chedanho rake kune vese vanofarira.

Zvinogona kufungidzirwa kuti boka reFFI / C Parity richatanga rakatarisana nekuvandudza tsigiro yakawanda-tambo muRust, kuunza rutsigiro rweBFLOAT16, inoyangarara poindi fomati yakaonekwa muIntel Xeon Scalable processors itsva, pamwe nekudzikamisa gungano. kuiswa kwekodhi.



Source: 3dnews.ru

Voeg