"Ryð er framtíð kerfisforritunar, C er nýi samsetningaraðilinn" - ræðu eins af fremstu verkfræðingum Intel

Á nýlegu Open Source Technology Summi (OSTS) Josh Triplett, sem er aðalverkfræðingur hjá Intel, sagði að fyrirtæki hans hafi áhuga á að Rust nái „jafnvægi“ við C, sem er enn ráðandi á sviði kerfa og þróunar á lágu stigi, í náinni framtíð. Í ræðu sinni undir fyrirsögninni „Intel and Rust: The Future of Systems Programming“ talaði hann einnig um sögu kerfisforritunar, hvernig C varð „sjálfgefið“ kerfisforritunarmál, hvaða Rust eiginleikar gefa því forskot á C og hvernig á næstunni. í framtíðinni gæti það alveg komið í stað C á tilteknu sviði forritunar.

"Ryð er framtíð kerfisforritunar, C er nýi samsetningaraðilinn" - ræðu eins af fremstu verkfræðingum Intel

Kerfisforritun er þróun og stjórnun hugbúnaðar sem þjónar sem vettvangur til að búa til forritaforrit, sem tryggir að hið síðarnefnda hafi samskipti við örgjörva, vinnsluminni, I/O tæki og netbúnað. Kerfishugbúnaður býr til sérstaka útdrátt í formi viðmóta sem hjálpa þér að búa til forritahugbúnað án þess að fara í smáatriði um hvernig vélbúnaðurinn sjálfur virkar.

Triplett sjálfur skilgreinir kerfisforritun sem „hvað sem er ekki forrit“. Það felur í sér hluti eins og BIOS, fastbúnað, ræsihleðslutæki og stýrikerfiskjarna, ýmis konar innbyggðan lágstigs kóða og sýndarvélarútfærslur. Athyglisvert er að Triplett telur að vafrinn sé líka kerfishugbúnaður, þar sem vafrinn hefur löngu farið út fyrir „bara forrit“ í sinn eigin „vettvang fyrir vefsíður og vefforrit“.

Áður fyrr voru flest kerfisforrit, þar á meðal BIOS, ræsihleðslutæki og vélbúnaðar, skrifuð á samsetningarmáli. Tilraunir hófust á sjöunda áratugnum til að veita vélbúnaðarstuðning fyrir tungumál á háu stigi, sem leiddu til tungumála eins og PL/S, BLISS, BCPL og ALGOL 1960.

Síðan, á áttunda áratugnum, bjó Dennis Ritchie til C forritunarmálið fyrir Unix stýrikerfið. Búið til í B forritunarmálinu, sem hafði ekki einu sinni innsláttarstuðning, C var fyllt með öflugum háþróuðum aðgerðum sem henta best til að skrifa stýrikerfi og rekla. Nokkrir íhlutir UNIX, þar á meðal kjarni þess, voru að lokum endurskrifaðir í C. Í kjölfarið voru mörg önnur kerfisforrit, þar á meðal Oracle gagnagrunnurinn, meirihluti Windows frumkóðans og Linux stýrikerfið, einnig skrifuð í C.

C fékk mikinn stuðning í þessa átt. En hvað nákvæmlega varð til þess að verktaki skipta yfir í það? Triplett telur að til þess að hvetja forritara til að skipta úr einu forritunarmáli yfir í annað þurfi hið síðarnefnda fyrst að bjóða upp á nýja eiginleika án þess að tapa gömlum eiginleikum.

Í fyrsta lagi verður tungumálið að bjóða upp á „nógu áhrifamikla“ nýja eiginleika. „Hann getur ekki verið betri. Það þarf að vera umtalsvert betra til að rökstyðja fyrirhöfnina og tímann sem það tekur verkfræðingana að gera umskiptin,“ útskýrir hann. Í samanburði við samsetningarmál hafði C upp á margt að bjóða. Það studdi nokkuð tegundaröryggi, veitti betri flytjanleika og frammistöðu með háþróaðri byggingu og bjó til mun læsilegri kóða í heildina.

Í öðru lagi verður tungumálið að veita stuðning við gamla eiginleika, sem þýðir að í sögu breytinganna yfir í C ​​þurftu forritarar að vera vissir um að það væri ekki síður virkt en samsetningartungumál. Triplett útskýrir: "Nýtt tungumál getur ekki einfaldlega verið betra, það verður líka að vera jafn gott." Auk þess að vera hraðari og styðja allar gagnategundir sem samsetningartungumál gæti notað, hafði C einnig það sem Triplett kallaði „escape hatch“, nefnilega stuðning við að setja samsetningarmálskóða inn í það.

"Ryð er framtíð kerfisforritunar, C er nýi samsetningaraðilinn" - ræðu eins af fremstu verkfræðingum Intel

Triplett telur að C sé nú að verða það sem samsetningarmálið var fyrir mörgum árum. „C er nýi samsetningarmaðurinn,“ segir hann. Hönnuðir eru nú að leita að nýju tungumáli á háu stigi sem mun ekki aðeins leysa langvarandi vandamál C sem ekki er lengur hægt að laga, heldur býður einnig upp á spennandi nýja eiginleika. Slíkt tungumál verður að vera nógu sannfærandi til að þvinga þróunaraðila til að skipta yfir í það, verður að vera öruggt, veita sjálfvirka minnisstjórnun og margt fleira.

„Hvert tungumál sem vill vera betra en C þarf að bjóða upp á miklu meira en biðminni yfirflæðisvörn ef það vill virkilega vera sannfærandi valkostur. Hönnuðir hafa áhuga á notagildi og frammistöðu, að skrifa kóða sem skýrir sig sjálfan og vinnur meira í færri línum. Einnig þarf að taka á öryggismálum. Auðvelt í notkun og afköst haldast í hendur við það. Því minni kóða sem þú þarft að skrifa til að ná einhverju, því minni tækifæri hefurðu til að gera einhverjar öryggistengdar eða ekki öryggistengdar villur,“ útskýrir Triplett.

Samanburður á Rust og C

Árið 2006 byrjaði Graydon Hoare frá Mozilla að skrifa Rust sem persónulegt verkefni. Og árið 2009 byrjaði Mozilla að styrkja þróun Rust fyrir eigin þarfir og stækkaði einnig liðið til að þróa tungumálið enn frekar.

Ein af ástæðunum fyrir því að Mozilla hafði áhuga á nýja tungumálinu er sú að Firefox var skrifað í yfir 4 milljón línur af C++ kóða og hafði töluvert af mikilvægum veikleikum. Ryð var smíðað með öryggi og samhliða í huga, sem gerir það að fullkomnum vali til að endurskrifa marga Firefox íhluti sem hluta af verkefni Quantum til að endurskoða arkitektúr vafrans algjörlega. Mozilla notar einnig Rust til að þróa Servo, HTML flutningsvél sem mun koma í stað núverandi flutningsvél Firefox í framtíðinni. Mörg önnur fyrirtæki hafa byrjað að nota Rust fyrir verkefni sín, þar á meðal Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu og margt fleira.

Ryð leysir eitt af mikilvægustu vandamálum C tungumálsins. Það býður upp á sjálfvirka minnisstjórnun svo forritarar þurfa ekki að úthluta og úthluta því handvirkt fyrir hvern hlut í forriti. Það sem aðgreinir Rust frá öðrum nútímamálum er að það er ekki með sorphirðu sem fjarlægir ónotaða hluti sjálfkrafa úr minni, né er það með keyrsluumhverfi sem þarf til að það virki, eins og Java Runtime Environment fyrir Java. Í staðinn hefur Rust hugtökin eignarhald, lántökur, tilvísanir og líftíma. „Rust er með kerfi til að lýsa yfir hlutköllum, sem gerir þér kleift að tilgreina hvort eigandinn sé að nota það eða hvort það er bara að taka lán. Ef þú færð bara hlut lánaðan mun þýðandinn fylgjast með honum og tryggja að frumritið haldist á sínum stað á meðan þú vísar í það. Og Rust mun einnig tryggja að hluturinn sé fjarlægður úr minni um leið og hann er búinn að nota hann, og setur viðeigandi símtal inn í kóðann á þýðingatíma án viðbótartíma,“ segir Triplett.

Skortur á innfæddum keyrslutíma getur einnig talist jákvæður eiginleiki Rust. Triplett telur að tungumálin sem keyra með því séu erfið í notkun sem tæki fyrir kerfisforritun. Eins og hann útskýrir, "Þú verður að frumstilla þennan keyrslutíma áður en þú getur hringt í hvaða kóða sem er, þú verður að nota þennan keyrslutíma til að hringja í aðgerðir og keyrslutíminn sjálfur getur keyrt viðbótarkóða fyrir aftan bakið á þér á óvæntum tímum."

Rust leitast einnig við að veita örugga samhliða forritun. Sömu eiginleikarnir sem gera það minnisöruggt halda utan um hluti eins og hvaða þráður á hvaða hlut og hvaða hluti er hægt að fara á milli þráða og hverjir þurfa læsingu.

Allir þessir eiginleikar gera Rust nógu sannfærandi fyrir forritara að velja sem nýtt kerfisforritunartæki. Hins vegar, hvað varðar samhliða tölvuvinnslu, er Rust enn aðeins á eftir C.

Triplett ætlar að stofna sérstakan vinnuhóp sem mun innleiða nauðsynlega eiginleika í Rust þannig að hann geti fyllilega jafnað, farið fram úr og komið í stað C á sviði kerfisforritunar. IN umræðuefni á reddit, tileinkað ræðu sinni, sagði hann að "FFI / C Parity hópurinn er í vinnslu og hefur ekki enn hafið störf", á meðan hann er tilbúinn að svara öllum spurningum og í framtíðinni mun hann örugglega birta næsta áætlanir um uppbyggingu Rust sem hluta af frumkvæði hans fyrir alla hagsmunaaðila.

Gera má ráð fyrir að í fyrsta lagi muni FFI / C Parity hópurinn taka þátt í að bæta fjölþráðastuðning Rust, kynna stuðning fyrir BFLOAT16, fljótapunktasniðið sem birtist í nýju Intel Xeon Scalable örgjörvunum, auk stöðugleika samsetningarkóða innsetningar.



Heimild: 3dnews.ru

Bæta við athugasemd