"Ny harafesina no hoavin'ny fandaharana rafitra, C no assembler vaovao" - lahateny nataon'ny iray amin'ireo injeniera lehibe ao amin'ny Intel.

Tamin'ny Open Source Technology Summi (OSTS) vao haingana. Josh Triplett, injeniera zokiolona ao amin'ny Intel, dia nilaza fa ny orinasany dia liana amin'ny fahatongavan'i Rust amin'ny "fifanarahana" amin'ny fiteny C izay mbola manjaka amin'ny rafitra sy ny fivoarana ambany tsy ho ela. Tamin’ny lahateniny Eo ambanin'ny lohateny hoe "Intel and Rust: The Future of Systems Programming", dia niresaka momba ny tantaran'ny fandaharana rafitra ihany koa izy, ny fomba nahatongavan'ny C ho fiteny fandrindrana ny rafitra default, inona ny endri-javatra amin'ny Rust manome tombony azy amin'ny C, ary ny fomba ahafahany tanteraka. soloy C amin'ity sehatry ny fandaharana ity.

"Ny harafesina no hoavin'ny fandaharana rafitra, C no assembler vaovao" - lahateny nataon'ny iray amin'ireo injeniera lehibe ao amin'ny Intel.

Ny fandrindrana ny rafitra dia ny fampivoarana sy ny fitantanana rindrambaiko izay natao ho sehatra hamoronana rindranasa fampiharana, miantoka ny fifandraisan'ireto farany amin'ny processeur, RAM, fitaovana fampidirana/famoahana ary fitaovan'ny tambajotra. Ny rindrambaikon'ny rafitra dia mamorona abstraction manokana amin'ny endrika interface izay manampy amin'ny famoronana rindrambaiko fampiharana nefa tsy miditra amin'ny antsipiriany momba ny fomba fiasan'ny hardware.

Triplett tenany dia mamaritra ny fandaharana rafitra ho "izay rehetra tsy fampiharana." Tafiditra ao anatin'izany ny zavatra toy ny BIOS, firmware, bootloaders ary kernels rafitra miasa, karazana code ambany ambany, ary fampiharana milina virtoaly. Mahaliana fa i Triplett dia mino fa ny navigateur web dia rindrambaikon'ny rafitra ihany koa, satria efa lasa mihoatra noho ny β€œprograma fotsiny” ny mpitety tranonkala, ka lasa β€œsehatra tokana ho an'ny tranonkala sy ny rindranasa an-tranonkala”.

Taloha, ny ankamaroan'ny programa rafitra, anisan'izany ny BIOS, bootloaders ary firmware, dia nosoratana tamin'ny fiteny fivoriambe. Tamin'ny taona 1960, nanomboka nanome fanohanana fitaovana ho an'ny fiteny avo lenta ny andrana, ka nitarika tamin'ny famoronana fiteny toy ny PL/S, BLISS, BCPL, ary ALGOL 68.

Avy eo, tamin'ny taona 1970, i Dennis Ritchie dia namorona ny fiteny fandaharana C ho an'ny rafitra miasa Unix. Noforonina tamin'ny fiteny fandaharana B, izay tsy nanana fanohanana fanoratana akory, C dia feno fiasa mahery vaika avo lenta izay mety indrindra amin'ny fanoratana rafitra sy mpamily. Ny singa maromaro ao amin'ny UNIX, anisan'izany ny kernel, dia naverina nosoratana tamin'ny C. Taorian'izay, maro ireo programa rafitra hafa, anisan'izany ny angon-drakitra Oracle, ny ankamaroan'ny kaody loharano Windows, ary ny rafitra fiasan'ny Linux, dia nosoratana tamin'ny C.

C dia nahazo fanohanana goavana amin'io lafiny io. Fa inona marina no nahatonga ny mpamorona hifindra amin'izany? Mino i Triplett fa mba hanentanana ny mpamorona hifindra avy amin'ny fiteny fandaharana iray mankany amin'ny iray hafa, dia tsy maintsy manome endri-javatra vaovao aloha ny farany nefa tsy manary ireo endri-javatra taloha.

Voalohany, tsy maintsy manolotra endri-javatra vaovao "mahatalanjona" ny fiteny. β€œTsy afaka ny ho tsara kokoa izy. Tsy maintsy tsara kokoa ny manamarina ny ezaka sy ny fotoana ara-teknika ilaina amin'ny tetezamita, ”hoy izy nanazava. Raha ampitahaina amin'ny fiteny fivoriambe, dia nanana zavatra be dia be ny C. Izy io dia nanohana fihetsika somary azo antoka kokoa, nanome fahafaha-mitondra sy fampandehanana tsara kokoa miaraka amin'ny fananganana avo lenta, ary niteraka kaody mora vakiana kokoa amin'ny ankapobeny.

Faharoa, ny fiteny dia tsy maintsy manome fanohanana ny endri-javatra taloha, izay midika fa teo amin'ny tantaran'ny tetezamita ho C, developer dia tsy maintsy ho azo antoka fa tsy latsa-danja noho ny fitenim-paritra. Hoy i Triplett: β€œTsy hoe tsara kokoa ny fiteny vaovao, fa tsy maintsy ho tsara koa.” Ho fanampin'ny maha-faingana kokoa sy manohana izay karazana angona rehetra azon'ny fitenin'ny fivoriambe ampiasaina, dia nanana ilay antsoin'i Triplett hoe "escape hatch" ihany koa i C β€” izany hoe, nanohana ny fampidirana kaody fitenin'ny fivoriambe ao anatiny.

"Ny harafesina no hoavin'ny fandaharana rafitra, C no assembler vaovao" - lahateny nataon'ny iray amin'ireo injeniera lehibe ao amin'ny Intel.

Mino i Triplett fa lasa toy ny fitenin'ny fivoriambe taona maro lasa izao ny C. "C no assembler vaovao," hoy izy. Ankehitriny ny mpamorona dia mitady fiteny avo lenta vaovao izay tsy hamaha ny olana miangona ao amin'ny C izay tsy azo amboarina intsony, fa manolotra endri-javatra vaovao mampientam-po ihany koa. Ny fiteny toy izany dia tsy maintsy maharesy lahatra mba hahatonga ny mpamorona hifindra amin'izany, tsy maintsy azo antoka, manome fitantanana fahatsiarovana mandeha ho azy, sy ny maro hafa.

"Ny fiteny rehetra te ho tsara kokoa noho ny C dia tsy maintsy manolotra mihoatra lavitra noho ny fiarovana ny fihoaram-pefy fotsiny raha tena te ho safidy mahasarika. Ny mpamorona dia liana amin'ny fampiasana sy ny fampisehoana, manoratra kaody izay manazava ny tenany ary manao asa bebe kokoa amin'ny andalana vitsy kokoa. Mila vahana koa ny olana momba ny fiarovana. Ny fanamorana ny fampiasana sy ny fahombiazany dia miara-miasa. Ny kaody kely tsy maintsy soratanao mba hahatratrarana zavatra iray, ny kely kokoa ny fahafahanao manao fahadisoana, mifandraika amin'ny fiarovana na tsia, "hoy i Triplett.

Fampitahana ny Rust sy C

Tamin'ny taona 2006, nanomboka nanoratra Rust ho tetikasa manokana i Graydon Hoare, mpiasan'ny Mozilla. Ary tamin'ny taona 2009, nanomboka nanohana ny fampandrosoana ny Rust ho an'ny filany manokana i Mozilla, ary nanitatra ny ekipa mba hampivelatra bebe kokoa ny fiteny.

Iray amin'ireo antony nahaliana an'i Mozilla ilay fiteny vaovao ny hoe Firefox dia nosoratana tamin'ny andalana C++ maherin'ny 4 tapitrisa ary nanana vulnerability vitsivitsy. Ny Rust dia naorina tamin'ny fiarovana sy ny fifanandrifian-javatra ao an-tsaina, ka mahatonga azy io ho safidy tsara amin'ny fanoratana ny singa maro ao amin'ny Firefox ho ampahany amin'ny tetikasa Quantum mba hamolavola tanteraka ny rafitry ny navigateur. Mampiasa Rust ihany koa i Mozilla mba hamolavola Servo, motera famandrihana HTML izay hisolo ny motera famandrihana Firefox ankehitriny. Orinasa maro hafa no nanomboka nampiasa Rust ho an'ny tetikasany, anisan'izany ny Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu sy ny maro hafa.

Ny Rust dia mamaha ny iray amin'ireo olana manan-danja indrindra amin'ny fiteny C. Manolotra fitantanana fitadidiana mandeha ho azy izy ka tsy mila mizara an-tΓ nana ny mpamorona ary avy eo manafaka azy ho an'ny zavatra rehetra ao amin'ny fampiharana. Ny mampiavaka an'i Rust amin'ny fiteny maoderina hafa dia ny tsy fisian'ny mpanangom-pako izay manaisotra ho azy ireo zavatra tsy ampiasaina amin'ny fitadidiana, ary tsy manana ny tontolo iainana ilaina amin'ny fampandehanana azy, toy ny Java Runtime Environment for Java. Ny Rust kosa dia manana ny foto-kevitry ny fananana, ny fampindramam-bola, ny fanondroana ary ny androm-piainany. β€œNy Rust dia manana rafitra manambara antso amin'ny zavatra iray mba hanondroana raha mampiasa izany ny tompony na mindrana azy fotsiny. Raha mindrana zavatra tsotra fotsiny ianao, dia hanara-maso an'io ny compiler ary hiantoka fa ny tany am-boalohany dia mijanona amin'ny toerany raha mbola manondro azy ianao. Ny harafesina dia hiantoka ihany koa fa esorina amin'ny fitadidiana ilay zavatra raha vantany vao vita ny fampiasana azy, mampiditra antso mifanaraka amin'izany amin'ny kaody amin'ny fotoana fanangonana tsy misy fotoana fanampiny, "hoy i Triplett.

Ny tsy fisian'ny runtime teratany dia azo heverina ho toetra tsara amin'ny Rust. Mino i Triplett fa sarotra ampiasaina ho fitaovana fandrindrana rafitra ny fiteny ampiasainy. Araka ny fanazavany: "Tsy maintsy manomboka ity fotoana ity ianao alohan'ny hiantsoanao fehezan-dalΓ na rehetra, tsy maintsy mampiasa an'io fotoana io ianao mba hiantsoana asa, ary ny fotoana fampandehanana dia mety handefa code fanampiny ao ambadiky ny lamosinao amin'ny fotoana tsy ampoizina."

Rust koa dia miezaka manome fandaharana parallèle azo antoka. Ireo endri-javatra izay mahatonga azy io ho azo antoka ny fitadidiana dia manara-maso ny zavatra toy ny hoe iza no manana ny zavatra ary inona no zavatra azo ampitaina eo anelanelan'ny kofehy ary mila hidy.

Ireo endri-javatra rehetra ireo dia mahatonga an'i Rust hanery ny mpamorona hisafidy azy ho fitaovana vaovao ho an'ny fandaharana rafitra. Na izany aza, eo amin'ny resaka computing parallèle, Rust dia mbola ao ambadiky ny C.

Triplett dia mikasa ny hamorona vondrona miasa manokana izay hifantoka amin'ny fampidirana ireo endri-javatra ilaina ao amin'ny Rust mba hahafahany mampitovy tanteraka, mihoatra ary manolo ny C eo amin'ny sehatry ny fandaharana rafitra. IN lahatsoratra ao amin'ny Reddit, natokana ho an'ny lahateniny, dia nilaza izy fa "eo am-pamoronana ny vondrona FFI/C Parity ary tsy mbola manomboka miasa," amin'izao fotoana izao dia vonona ny hamaly izay fanontaniana rehetra izy, ary amin'ny ho avy dia tena hamoaka drafitra avy hatrany izy. ho fampandrosoana an'i Rust ho ampahany amin'ny fandraisana andraikitra ho an'ny antoko liana rehetra.

Azo heverina fa ny vondrona FFI/C Parity dia hifantoka voalohany indrindra amin'ny fanatsarana ny fanohanana multi-threading ao amin'ny Rust, fampidirana ny fanohanana ny BFLOAT16, endrika mitsingevana izay niseho tao amin'ny processeur Intel Xeon Scalable vaovao, ary koa ny fanamafisana ny fivoriambe. fampidirana kaody.



Source: 3dnews.ru

Add a comment