"Ipata jẹ ọjọ iwaju ti siseto eto, C jẹ apejọ tuntun” - ọrọ kan nipasẹ ọkan ninu awọn onimọ-ẹrọ oludari ti Intel

Ni Apejọ Imọ-ẹrọ Orisun Ṣiṣi aipẹ (OSTS) Josh Triplett, A oga ẹlẹrọ ni Intel, wi rẹ ile jẹ nife ninu Rust nínàgà "parity" pẹlu awọn C ede ti o si tun jẹ gaba lori awọn ọna šiše ati kekere-ipele idagbasoke ninu awọn sunmọ iwaju. Ninu oro re Labẹ akọle “Intel ati Rust: Ọjọ iwaju ti Siseto Awọn ọna ṣiṣe,” o tun sọrọ nipa itan-akọọlẹ ti siseto awọn eto, bii C ṣe di ede siseto awọn eto aiyipada, kini awọn ẹya ti Rust fun ni anfani lori C, ati bii o ṣe le patapata. rọpo C ni aaye siseto yii.

"Ipata jẹ ọjọ iwaju ti siseto eto, C jẹ apejọ tuntun” - ọrọ kan nipasẹ ọkan ninu awọn onimọ-ẹrọ oludari ti Intel

Siseto eto jẹ idagbasoke ati iṣakoso ti sọfitiwia ti o ṣiṣẹ bi pẹpẹ kan fun ṣiṣẹda awọn ohun elo ohun elo, aridaju pe igbehin nlo pẹlu ero isise, Ramu, awọn ẹrọ titẹ sii / o wu ati ohun elo nẹtiwọọki. Sọfitiwia eto ṣẹda abstraction pataki ni irisi awọn atọkun ti o ṣe iranlọwọ ṣẹda sọfitiwia ohun elo laisi lilọ sinu awọn alaye ti bii ohun elo ara rẹ ṣe n ṣiṣẹ.

Triplett funrararẹ ṣalaye siseto awọn eto bi “ohunkohun ti kii ṣe ohun elo.” O pẹlu awọn nkan bii BIOS, famuwia, bootloaders ati awọn ekuro ẹrọ ṣiṣe, awọn oriṣi ti koodu ipele kekere ti a fi sii, ati awọn imuse ẹrọ foju. O yanilenu, Triplett gbagbọ pe ẹrọ aṣawakiri wẹẹbu tun jẹ sọfitiwia eto, niwọn igba ti ẹrọ aṣawakiri naa ti di diẹ sii ju “eto kan nikan” lọ, di iduro “Syeed fun awọn oju opo wẹẹbu ati awọn ohun elo wẹẹbu.”

Ni igba atijọ, ọpọlọpọ awọn eto eto, pẹlu BIOS, bootloaders ati famuwia, ni a kọ ni ede apejọ. Ni awọn ọdun 1960, awọn adanwo bẹrẹ lati pese atilẹyin ohun elo fun awọn ede ipele giga, ti o yori si ṣiṣẹda awọn ede bii PL/S, BLISS, BCPL, ati ALGOL 68.

Lẹhinna, ni awọn ọdun 1970, Dennis Ritchie ṣẹda ede siseto C fun ẹrọ ṣiṣe Unix. Ti a ṣẹda ni ede siseto B, eyiti ko paapaa ni atilẹyin titẹ, C ti kun pẹlu awọn iṣẹ ipele giga ti o lagbara ti o dara julọ fun kikọ awọn ọna ṣiṣe ati awakọ. Orisirisi awọn irinše ti UNIX, pẹlu awọn oniwe-kernel, won bajẹ tun kọ ni C. Paradà, ọpọlọpọ awọn miiran eto eto, pẹlu awọn Oracle database, Elo ti awọn Windows orisun koodu, ati awọn Lainos ẹrọ, won tun kọ ni C.

C ti gba atilẹyin nla ni itọsọna yii. Ṣugbọn kini gangan ṣe awọn olupilẹṣẹ yipada si rẹ? Triplett gbagbọ pe lati le ru awọn idagbasoke lati yipada lati ede siseto kan si omiiran, igbehin gbọdọ kọkọ pese awọn ẹya tuntun laisi sisọnu awọn ẹya atijọ.

Ni akọkọ, ede naa gbọdọ funni ni awọn ẹya tuntun “iyanilenu ti o tọ”. “Ko le dara ju. O ni lati dara julọ dara julọ lati ṣe idalare igbiyanju ati akoko imọ-ẹrọ ti o gba lati ṣe iyipada, ”o ṣalaye. Ti a ṣe afiwe si ede apejọ, C ni ọpọlọpọ awọn nkan lati funni. O ṣe atilẹyin ihuwasi iru-ailewu diẹ, pese gbigbe ti o dara julọ ati iṣẹ ṣiṣe pẹlu awọn iṣelọpọ ipele giga, ati ipilẹṣẹ pupọ koodu kika diẹ sii lapapọ.

Ni ẹẹkeji, ede naa gbọdọ pese atilẹyin fun awọn ẹya atijọ, eyiti o tumọ si pe ninu itan-akọọlẹ iyipada si C, awọn olupilẹṣẹ ni lati rii daju pe ko kere si iṣẹ ṣiṣe ju ede apejọ lọ. Triplet ṣàlàyé pé: “Kì í ṣe pé èdè tuntun kan lè dáa jù, ó gbọ́dọ̀ dára gan-an.” Ni afikun si yiyara ati atilẹyin iru data eyikeyi ti ede apejọ le lo, C tun ni ohun ti Triplett pe ni “hatch abayo” — eyun, o ṣe atilẹyin fifi koodu ede apejọ sinu ararẹ.

"Ipata jẹ ọjọ iwaju ti siseto eto, C jẹ apejọ tuntun” - ọrọ kan nipasẹ ọkan ninu awọn onimọ-ẹrọ oludari ti Intel

Triplett gbagbọ pe C ti di ohun ti ede apejọ jẹ ọpọlọpọ ọdun sẹyin. “C ni olupejọ tuntun,” o kede. Bayi awọn olupilẹṣẹ n wa ede tuntun ti o ga ti kii yoo yanju awọn iṣoro ti o ti ṣajọpọ ni C nikan ti ko le ṣe atunṣe, ṣugbọn tun funni ni awọn ẹya tuntun ti o moriwu. Iru ede gbọdọ jẹ ọranyan to lati gba awọn olupilẹṣẹ lati yipada si rẹ, gbọdọ wa ni aabo, pese iṣakoso iranti aifọwọyi, ati pupọ diẹ sii.

“Ede eyikeyi ti o fẹ lati dara julọ ju C gbọdọ funni ni pupọ diẹ sii ju aabo idalẹnu kan ti o ba fẹ gaan lati jẹ yiyan ọranyan. Awọn olupilẹṣẹ nifẹ si lilo ati iṣẹ ṣiṣe, koodu kikọ ti o jẹ alaye ti ara ẹni ati ṣe iṣẹ diẹ sii ni awọn laini diẹ. Awọn ọran aabo tun nilo lati koju. Irọrun ti lilo ati iṣẹ ṣiṣe lọ ni ọwọ. Awọn koodu ti o dinku ti o ni lati kọ lati ṣaṣeyọri ohunkan, aye ti o dinku ti o ni lati ṣe awọn aṣiṣe eyikeyi, ti o ni ibatan si aabo tabi rara,” Triplett salaye.

Ifiwera ti Rust ati C

Pada ni ọdun 2006, Graydon Hoare, oṣiṣẹ Mozilla kan, bẹrẹ kikọ Rust gẹgẹbi iṣẹ akanṣe ti ara ẹni. Ati ni 2009, Mozilla bẹrẹ onigbowo fun idagbasoke ti Rust fun awọn iwulo tirẹ, ati tun faagun ẹgbẹ naa lati ni idagbasoke ede naa siwaju.

Ọkan ninu awọn idi ti Mozilla ṣe nifẹ si ede tuntun ni pe Firefox ti kọ sinu awọn laini miliọnu mẹrin ti koodu C++ ati pe o ni awọn ailagbara diẹ diẹ. A kọ ipata pẹlu aabo ati owo-iṣọrọ ni ọkan, ṣiṣe ni yiyan pipe fun atunkọ ọpọlọpọ awọn paati Firefox gẹgẹbi apakan ti iṣẹ akanṣe kuatomu lati tun ṣe atunto faaji ẹrọ aṣawakiri naa patapata. Mozilla tun nlo Rust lati ṣe agbekalẹ Servo, ẹrọ ti n ṣe HTML kan ti yoo rọpo ẹrọ ṣiṣe Firefox lọwọlọwọ. Ọpọlọpọ awọn ile-iṣẹ miiran ti bẹrẹ lilo Rust fun awọn iṣẹ akanṣe wọn, pẹlu Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu ati ọpọlọpọ diẹ sii.

Rust yanju ọkan ninu awọn iṣoro pataki julọ ti ede C. O funni ni iṣakoso iranti aifọwọyi nitorinaa awọn olupilẹṣẹ ko ni lati pin pẹlu ọwọ ati lẹhinna ọfẹ fun gbogbo ohun elo naa. Ohun ti o jẹ ki Rust yatọ si awọn ede ode oni miiran ni pe ko ni ikojọpọ idoti ti o yọkuro awọn nkan ti a ko lo lati iranti laifọwọyi, tabi ko ni agbegbe asiko asiko ti o nilo lati jẹ ki o ṣiṣẹ, bii Ayika Runtime Java fun Java. Dipo, Rust ni awọn imọran ti nini, yiya, awọn itọkasi, ati igbesi aye. “Ipata ni eto fun ikede awọn ipe si ohun kan lati fihan boya oniwun n lo tabi o kan yawo. Ti o ba ya ohun kan nirọrun, olupilẹṣẹ yoo tọju abala eyi ati rii daju pe atilẹba naa wa ni aye niwọn igba ti o ba tọka si. Ipata yoo tun rii daju pe ohun naa ti yọkuro lati iranti ni kete ti lilo rẹ ba ti pari, fifi ipe ti o baamu sinu koodu ni akoko akopọ laisi akoko afikun, ”Triplett sọ.

Aini asiko asiko abinibi le tun jẹ ẹya ti o dara ti Rust. Triplett gbagbọ pe awọn ede ti o nṣiṣẹ lori jẹ soro lati lo bi awọn irinṣẹ siseto awọn eto. Gẹgẹbi o ti ṣe alaye: "O gbọdọ ṣe ipilẹṣẹ akoko asiko yii ṣaaju ki o to pe koodu eyikeyi, o gbọdọ lo akoko asiko yii lati pe awọn iṣẹ, ati akoko asiko funrararẹ le ṣiṣe koodu afikun lẹhin ẹhin rẹ ni awọn akoko airotẹlẹ.”

Ipata tun ngbiyanju lati pese siseto afiwera to ni aabo. Awọn ẹya kanna ti o jẹ ki o jẹ ailewu iranti tọju abala awọn nkan bii iru okun ti o ni nkan ati awọn nkan wo ni o le kọja laarin awọn okun ati eyiti o nilo titiipa.

Gbogbo awọn ẹya wọnyi jẹ ki ipata ti o to fun awọn olupilẹṣẹ lati yan rẹ bi ohun elo tuntun fun siseto awọn eto. Sibẹsibẹ, ni awọn ofin ti iširo afiwera, Rust tun jẹ diẹ lẹhin C.

Triplett pinnu lati ṣẹda ẹgbẹ iṣiṣẹ pataki kan ti yoo dojukọ lori iṣafihan awọn ẹya pataki sinu Rust ki o le dọgba ni kikun, kọja ati rọpo C ni aaye ti siseto awọn eto. IN o tẹle on Reddit, igbẹhin si ọrọ rẹ, o sọ pe "ẹgbẹ FFI / C Parity wa ninu ilana ti ẹda ati pe ko ti bẹrẹ iṣẹ," fun bayi o ti ṣetan lati dahun ibeere eyikeyi, ati ni ojo iwaju o yoo pato gbejade awọn eto lẹsẹkẹsẹ. fun idagbasoke ti Rust gẹgẹbi apakan ti ipilẹṣẹ rẹ fun gbogbo awọn ẹgbẹ ti o nife.

O le ṣe akiyesi pe ẹgbẹ FFI / C Parity yoo kọkọ ni idojukọ lori imudarasi atilẹyin ọna kika pupọ ni Rust, ṣafihan atilẹyin fun BFLOAT16, ọna kika oju omi lilefoofo ti o ti han ninu awọn ilana Intel Xeon Scalable tuntun, ati apejọ iduroṣinṣin. awọn ifibọ koodu.



orisun: 3dnews.ru

Fi ọrọìwòye kun