"Ko te waikura te wa kei te heke mai o nga kaupapa rorohiko, ko C te kaikohikohi hou" - he korero na tetahi o nga miihini rangatira o Intel.

I te huihuinga Open Source Technology Summi (OSTS) tata nei Josh Triplett, he miihini matua i Intel, i kii tana kamupene kei te pirangi a Rust ki te "taurite" me te reo C kei te whakahaere tonu i nga punaha me te whanaketanga taumata iti i roto i nga wa e heke mai nei. I tana korero I raro i te taitara "Intel and Rust: The Future of Systems Programming," i korero ano ia mo te hitori o nga punaha raupaparorohiko, me pehea a C i riro ai hei reo whakamaoritanga punaha taunoa, he aha nga ahuatanga o Rust e whai hua ana ki a C, me pehea e taea ai e ia. whakakapi C i tenei wahanga o te kaupapa.

"Ko te waikura te wa kei te heke mai o nga kaupapa rorohiko, ko C te kaikohikohi hou" - he korero na tetahi o nga miihini rangatira o Intel.

Ko te kaupapa o te punaha ko te whakawhanaketanga me te whakahaere i nga rorohiko e mahi ana hei turanga mo te hanga tono tono, me te whakarite i te mahi tahi me te tukatuka, te RAM, nga taputapu whakauru / whakaputa me nga taputapu whatunga. Ka hangaia e te punaha punaha he tangohanga motuhake i roto i te ahua o nga atanga hei awhina i te hanga rorohiko tono me te kore e ruku ki nga korero mo te mahi a te taputapu.

Ko Triplett tonu te whakamaarama i nga punaha punaha "he mea ehara i te tono." Kei roto ko nga mea penei i te BIOS, firmware, bootloaders me nga kakano punaha whakahaere, nga momo momo waehere taumata-iti kua whakauruhia, me nga mahi miihini mariko. He mea whakamiharo, e whakapono ana a Triplett he punaha punaha ano te kaitirotiro paetukutuku, i te mea kua roa ke atu te kaitirotiro "he kaupapa noa", ka noho hei "turanga mo nga paetukutuku me nga tono paetukutuku."

I nga wa o mua, ko te nuinga o nga kaupapa punaha, tae atu ki te BIOS, nga bootloaders me te firmware, i tuhia ki te reo huihuinga. I nga tau 1960, i timata nga whakamatautau ki te whakarato i te tautoko taputapu mo nga reo taumata teitei, e arai ana ki te hanga reo penei i te PL/S, BLISS, BCPL, me ALGOL 68.

Na, i te tekau tau atu i 1970, ka hangaia e Dennis Ritchie te reo papatono C mo te punaha whakahaere Unix. I hangaia i roto i te reo hootaka B, karekau he tautoko patopato, kua whakakiia a C ki nga mahi taumata teitei kaha e pai ana mo te tuhi i nga punaha whakahaere me nga taraiwa. He maha nga waahanga o UNIX, tae atu ki tana kakano, i tuhia ano ki te C. I muri mai, he maha atu nga hotaka punaha, tae atu ki te patengi raraunga Oracle, te nuinga o te waehere puna Windows, me te punaha whakahaere Linux, i tuhia ki C.

Kua whiwhi tautoko nui a C mo tenei huarahi. Engari he aha te mea i huri ai nga kaiwhakawhanake ki a ia? E whakapono ana a Triplett hei whakahihiri i nga kaiwhakawhanake ki te huri mai i tetahi reo hootaka ki tetahi atu, me tuku e te hunga whakamutunga nga ahuatanga hou me te kore e ngaro nga ahuatanga tawhito.

Tuatahi, me tuku e te reo nga ahuatanga hou "ahua whakamiharo". “Kare e taea e ia te pai ake. Me tino pai ake ki te whakamana i te whakapau kaha me te wa miihini ki te whakawhiti, "ka whakamarama ia. Ka whakatauritea ki te reo huihuinga, he maha nga mea ka tukuna e C. I tautokohia te whanonga momo-haumaru, he pai ake te kawe me te mahi me nga hanganga taumata teitei, me te whakaputa i nga waehere ka taea te panui katoa.

Tuarua, me tautoko te reo mo nga ahuatanga tawhito, ko te tikanga i roto i te hitori o te whakawhiti ki C, me tino mohio nga kaiwhakawhanake he iti ake te mahi i te reo huihuinga. Te faataa ra Triplett: “Eita te hoê reo apî e nehenehe noa e maitai a‘e, e mea maitai atoa râ.” I tua atu i te tere ake me te tautoko i nga momo raraunga ka taea e te reo huihuinga te whakamahi, kei a C ano te mea i kiia e Triplett he "pao mawhiti"—ara, i tautokohia te whakauru waehere reo huihuinga ki roto ano.

"Ko te waikura te wa kei te heke mai o nga kaupapa rorohiko, ko C te kaikohikohi hou" - he korero na tetahi o nga miihini rangatira o Intel.

E whakapono ana a Triplett kua huri a C ki te reo huihuinga i nga tau maha ki muri. "Ko C te kaihuihui hou," e kii ana ia. Inaianei kei te rapu nga kaiwhakawhanake i tetahi reo taumata-tiketike hou e kore e whakaoti noa i nga raru kua whakaemihia i roto i te C kaore e taea te whakatika, engari ka tuku ano i nga ahuatanga hou whakahihiri. Ko te reo pera me tino kaha ki te tuku i nga kaiwhakawhanake ki te huri ki a ia, me noho haumaru, me whakarato te whakahaere mahara aunoa, me te maha atu.

“Ko nga reo e pirangi ana kia pai ake i a C me nui ake te tuku atu i te whakamarumaru puwha noa mena ka tino hiahia ia ki te noho hei momo rereke. Kei te pirangi nga Kaihanga ki te whakamahinga me te mahi, te tuhi i te waehere e whakamarama ana i a ia ano, ka nui ake te mahi i roto i nga rarangi iti ake. Me whakatika hoki nga take haumaru. Ko te ngawari o te whakamahi me te mahi ka haere tahi. Ko te iti o te waehere ka tuhia e koe ki te whakatutuki i tetahi mea, ka iti ake te whai waahi ki a koe ki te mahi i nga hapa, e pa ana ki te haumaru, kaore ranei, "e kii ana a Triplett.

Te whakataurite o Rust me C

I te tau 2006, i timata a Graydon Hoare, he kaimahi Mozilla, ki te tuhi i a Rust hei kaupapa whaiaro. A, i te tau 2009, i timata a Mozilla ki te tautoko i te whanaketanga o Rust mo ona ake hiahia, me te whakawhanui ano i te roopu ki te whakawhanake ake i te reo.

Ko tetahi o nga take i pirangi ai a Mozilla ki te reo hou na te mea i tuhia a Firefox ki runga i te 4 miriona rarangi o te waehere C++, he iti noa nga whakaraeraetanga. I hangaia te waikura me te haumarutanga me te riterite i roto i te hinengaro, na te mea he whiringa pai mo te tuhi ano i te maha o nga waahanga o Firefox hei waahanga o te kaupapa Quantum ki te hoahoa ano i te hoahoanga o te kaitirotiro. Kei te whakamahi ano a Mozilla i te Rust ki te whakawhanake i te Servo, he miihini whakaputa HTML hei whakakapi i te miihini whakaputa Firefox o naianei. He maha atu nga kamupene kua timata ki te whakamahi i te Rust mo a raatau kaupapa, tae atu ki a Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu me te maha atu.

Ka whakatauhia e Rust tetahi o nga raru nui o te reo C. Ka tukuna e ia te whakahaere mahara aunoa kia kore ai nga kaiwhakawhanake e toha-a-ringa ka wetea mo ia mea kei roto i te tono. He aha te rerekee o Rust ki etahi atu reo hou na te mea kaore he kaikohi paru ka tango aunoa i nga mea kaore i whakamahia mai i te mahara, kaore ano hoki he waahi whakahaere e hiahiatia ana hei mahi, penei i te Java Runtime Environment mo Java. Engari, kei a Rust nga ariā o te mana pupuri, te nama, nga tohutoro, me te oranga. “He punaha ta Rust mo te whakapuaki waea ki tetahi mea hei tohu mena kei te whakamahi te rangatira, kei te nama noa ranei. Mena ka nama noa koe i tetahi mea, ka mau tonu te kaitoi i tenei mea me te whakarite kia mau tonu te taketake i te wa e tohutoro ana koe. Ma te waikura ano e whakarite kia tangohia te mea mai i te mahara ina oti ana te whakamahi, me te whakauru i te waea ki roto i te waehere i te wa whakahiato kaore he wa taapiri, "e kii ana a Triplett.

Ko te kore o te wa whakahaere taketake ka taea te whakaaro he ahua pai o Rust. E whakapono ana a Triplett he uaua ki te whakamahi i nga reo e whakahaere ana hei taputapu rorohiko. I a ia e whakamarama ana: "Me arawhiti koe i tenei wa mahi i mua i to waea ki tetahi waehere, me whakamahi koe i tenei wa mahi ki te karanga i nga mahi, a ko te wa mahi ka taea e koe te whakahaere waehere taapiri i muri i to tuara i nga wa ohorere."

Ka ngana ano a Rust ki te whakarato i nga kaupapa whakarara haumaru. Ko nga ahuatanga e whakamarumaru ai te mahara ki te pupuri i nga mea penei i te miro nona te ahanoa me te aha nga mea ka taea te whakawhiti i waenga i nga miro me te mea me raka.

Ko enei ahuatanga katoa ka kaha a Rust mo nga kaiwhakawhanake ki te whiriwhiri hei taputapu hou mo nga punaha punaha. Heoi, mo nga mahi whakarara, kei muri tonu a Rust i a C.

Ko te whakaaro a Triplett ki te hanga i tetahi roopu mahi motuhake ka aro ki te whakauru i nga ahuatanga e tika ana ki roto i te Rust kia tino rite, ki runga ake, ki te whakakapi i a C i roto i nga kaupapa o nga punaha. IN miro i Reddit, i whakatapua ki tana korero, i kii ia "kei te hangai te roopu FFI/C Parity, kaore ano kia timata te mahi," mo tenei wa kua rite ia ki te whakautu i nga patai, a i nga wa kei te heke mai ka tino whakaputahia e ia nga mahere tere. mo te whakawhanaketanga o Rust hei wahanga o tana kaupapa mo nga hunga whai paanga katoa.

Ka taea te whakaaro ko te roopu FFI/C Parity ka aro tuatahi ki te whakapai ake i te tautoko miro-maha i Rust, me te whakauru i te tautoko mo te BFLOAT16, he whakatakotoranga ira maanu kua puta mai i roto i nga kaiwhakatikatika Intel Xeon Scalable hou, me te whakapumau i te huihuinga. whakaurunga waehere.



Source: 3dnews.ru

Tāpiri i te kōrero