"Rouye se avni pwogramasyon sistèm, C se nouvo asanblaj la" - diskou youn nan dirijan enjenyè Intel yo.

Nan dènye Open Source Technology Summi (OSTS) Josh Triplett, yon enjenyè ansyen nan Intel, te di ke konpayi li a enterese nan Rust rive nan "parite" ak langaj C a ki toujou domine sistèm ak devlopman ki ba nan fiti prè. Nan diskou li Anba tit "Intel and Rust: Future of Systems Programming," li te pale tou sou istwa pwogramasyon sistèm yo, ki jan C te vin tounen langaj pwogramasyon sistèm default, ki karakteristik Rust ki bay li yon avantaj sou C, ak kijan li te kapab konplètman. ranplase C nan domèn pwogramasyon sa a.

"Rouye se avni pwogramasyon sistèm, C se nouvo asanblaj la" - diskou youn nan dirijan enjenyè Intel yo.

Pwogramasyon sistèm se devlopman ak jesyon lojisyèl ki sèvi kòm yon platfòm pou kreye aplikasyon aplikasyon, asire lèt la kominike avèk processeur a, RAM, aparèy antre / pwodiksyon ak ekipman rezo. Lojisyèl sistèm kreye yon abstraksyon espesyal nan fòm entèfas ki ede kreye lojisyèl aplikasyon san yo pa fouye nan detay yo sou ki jan pyès ki nan konpitè tèt li travay.

Triplett tèt li defini pwogramasyon sistèm kòm "nenpòt bagay ki pa yon aplikasyon." Li gen ladann bagay tankou BIOS, firmwèr, bootloaders ak nwayo sistèm opere, divès kalite kòd ki ba nivo entegre, ak aplikasyon machin vityèl. Enteresan, Triplett kwè ke yon navigatè entènèt se tou lojisyèl sistèm, depi lontan navigatè a te vin pi plis pase "jis yon pwogram", vin tounen yon otonòm "platfòm pou sit entènèt ak aplikasyon pou entènèt."

Nan tan lontan, pifò pwogram sistèm yo, ki gen ladan BIOS, chajè bòt ak firmwèr, yo te ekri nan lang asanble. Nan ane 1960 yo, eksperyans yo te kòmanse bay sipò pyès ki nan konpitè pou lang wo nivo, ki mennen nan kreyasyon lang tankou PL/S, BLISS, BCPL, ak ALGOL 68.

Lè sa a, nan ane 1970 yo, Dennis Ritchie te kreye langaj pwogramasyon C pou sistèm operasyon Unix la. Kreye nan lang pwogramasyon B, ki pa menm gen sipò saisie, C te ranpli ak fonksyon pwisan wo nivo ki pi byen adapte pou ekri sistèm opere ak chofè yo. Plizyè konpozan nan UNIX, ki gen ladan nwayo li yo, te evantyèlman reekri nan C. Apre sa, anpil lòt pwogram sistèm, ki gen ladan baz done a Oracle, anpil nan kòd sous Windows la, ak sistèm operasyon Linux, yo te ekri tou nan C.

C te resevwa anpil sipò nan direksyon sa a. Men, ki sa egzakteman fè devlopè yo chanje sou li? Triplett kwè ke yo nan lòd yo motive devlopè yo chanje soti nan yon lang pwogramasyon nan yon lòt, lèt la dwe premye bay nouvo karakteristik san yo pa pèdi ansyen karakteristik.

Premyèman, lang lan dwe ofri nouvo karakteristik "rezonab enpresyonan". "Li pa t 'kapab pi bon. Li dwe siyifikativman pi bon pou jistifye efò ak tan jeni li pran pou fè tranzisyon an, "li eksplike. Konpare ak langaj asanble, C te gen anpil bagay pou l ofri. Li sipòte yon ti jan kalite konpòtman ki an sekirite, bay pi bon portabilite ak pèfòmans ak konstriksyon wo nivo, ak pwodwi plis kòd lizib an jeneral.

Dezyèmman, lang lan dwe bay sipò pou ansyen karakteristik, ki vle di ke nan istwa tranzisyon an nan C, devlopè yo te dwe asire w ke li pa te mwens fonksyonèl pase lang asanble. Triplett eksplike: “Yon nouvo lang pa ka jis pi bon, li dwe bon tou.” Anplis ke yo te pi vit ak sipòte nenpòt kalite done ke lang asanble te kapab itilize, C tou te gen sa Triplett te rele yon "chache chape" - sètadi, li sipòte mete kòd lang asanble nan tèt li.

"Rouye se avni pwogramasyon sistèm, C se nouvo asanblaj la" - diskou youn nan dirijan enjenyè Intel yo.

Triplett kwè ke C se kounye a vin sa ki lang asanble te anpil ane de sa. "C se nouvo asanble a," li deklare. Koulye a, devlopè yo ap chèche pou yon nouvo lang wo nivo ki pral pa sèlman rezoud pwoblèm yo ki te akimile nan C ki pa ka fiks ankò, men tou, ofri nouvo karakteristik enteresan. Yon lang konsa dwe konvenkan ase pou fè devlopè yo chanje sou li, dwe an sekirite, bay jesyon memwa otomatik, ak plis ankò.

“Nenpòt lang ki vle pi bon pase C dwe ofri plis pase jis pwoteksyon debòde tanpon si li reyèlman vle vin yon altènatif konvenkan. Devlopè yo enterese nan itilizasyon ak pèfòmans, ekri kòd ki eksplikasyon pwòp tèt ou ak fè plis travay nan mwens liy. Pwoblèm sekirite yo bezwen tou adrese. Fasilite pou itilize ak pèfòmans ale men nan men. Mwens kòd ou dwe ekri pou reyalize yon bagay, mwens opòtinite ou genyen pou fè nenpòt erè, ki gen rapò ak sekirite oswa ou pa, "eksplike Triplett.

Konparezon Rust ak C

An 2006, Graydon Hoare, yon anplwaye Mozilla, te kòmanse ekri Rust kòm yon pwojè pèsonèl. Ak nan 2009, Mozilla te kòmanse patwone devlopman nan Rust pou pwòp bezwen li yo, epi tou li elaji ekip la pou devlope plis lang lan.

Youn nan rezon ki fè Mozilla te enterese nan nouvo lang lan se ke Firefox te ekri nan plis pase 4 milyon liy nan kòd C++ epi li te gen byen kèk vilnerabilite kritik. Rust te bati ak sekirite ak konkourans nan tèt ou, sa ki fè li yon chwa ideyal pou reekri anpil nan eleman Firefox yo kòm yon pati nan pwojè Quantum a konplètman redesign achitekti navigatè a. Mozilla ap itilize Rust tou pou devlope Servo, yon motè rann HTML ki pral evantyèlman ranplase motè rann Firefox aktyèl la. Anpil lòt konpayi yo te kòmanse itilize Rust pou pwojè yo, tankou Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu ak anpil ankò.

Rust rezoud youn nan pwoblèm ki pi enpòtan yo nan lang C. Li ofri jesyon memwa otomatik pou devlopè yo pa oblije manyèlman asiyen ak Lè sa a, libere li pou chak objè nan aplikasyon an. Ki sa ki fè Rust diferan de lòt lang modèn se ke li pa gen yon pèseptè fatra ki otomatikman retire objè ki pa itilize nan memwa, ni li pa gen anviwònman an egzekite ki nesesè pou fè li travay, tankou Java Runtime Environment pou Java. Olye de sa, Rust gen konsèp de an komen, prete, referans, ak tout lavi. "Rust gen yon sistèm pou deklare apèl nan yon objè pou endike si pwopriyetè a ap itilize li oswa jis prete li. Si ou senpleman prete yon objè, du a pral kenbe tras de sa a epi asire ke orijinal la rete an plas osi lontan ke ou fè referans a li. Rust pral asire tou ke yo retire objè a nan memwa le pli vit ke itilizasyon li yo fini, mete yon apèl korespondan nan kòd la nan tan konpile san plis tan, "se sa Triplett di.

Ka mank de yon tan natif natal tou dwe konsidere kòm yon karakteristik pozitif nan Rust. Triplett kwè ke lang li kouri yo difisil pou itilize kòm zouti pwogramasyon sistèm. Kòm li eksplike: "Ou dwe inisyalize ègzekutabl sa a anvan ou ka rele nenpòt kòd, ou dwe itilize ègzekutabl sa a pou rele fonksyon, ak ègzekutabl nan tèt li ka kouri lòt kòd dèyè do ou nan moman inatandi."

Rust tou fè efò pou bay pwogram paralèl an sekirite. Karakteristik yo menm ki fè li memwa an sekirite kenbe tras nan bagay sa yo tankou ki fil posede ki objè ak ki objè yo ka pase ant fil ak ki bezwen yon seri.

Tout karakteristik sa yo fè Rust konvenkan ase pou devlopè yo chwazi li kòm yon nouvo zouti pou pwogramasyon sistèm yo. Sepandan, an tèm de informatique paralèl, Rust toujou yon ti kras dèyè C.

Triplett gen entansyon kreye yon gwoup travay espesyal ki pral konsantre sou entwodwi karakteristik ki nesesè yo nan Rust pou ke li ka totalman egal, depase ak ranplase C nan domèn pwogramasyon sistèm yo. NAN fil sou Reddit, dedye a diskou li a, li te di ke "gwoup la FFI/C Parite se nan pwosesis kreyasyon an epi li poko kòmanse travay," pou kounye a li pare pou reponn nenpòt kesyon, ak nan lavni an li pral definitivman pibliye plan imedya. pou devlopman Rust kòm yon pati nan inisyativ li pou tout pati ki enterese yo.

Li ka sipoze ke gwoup la FFI/C Parity pral premye nan tout konsantre sou amelyore sipò milti-threading nan Rust, entwodwi sipò pou BFLOAT16, yon fòma pwen k ap flote ki te parèt nan nouvo processeurs Intel Xeon Scalable yo, osi byen ke estabilize asanble. ensèsyon kòd.



Sous: 3dnews.ru

Add nouvo kòmantè