"Xeb yog lub neej yav tom ntej ntawm kev ua haujlwm, C yog tus neeg tsim khoom tshiab" - hais lus los ntawm Intel tus thawj coj engineers

Ntawm qhov tsis ntev los no Open Source Technology Summi (OSTS) Josh Triplett, tus kws tshaj lij ntawm Intel, tau hais tias nws lub tuam txhab txaus siab rau Rust mus txog "kev sib luag" nrog cov lus C uas tseem yog tus tswj hwm lub tshuab thiab kev txhim kho qib qis nyob rau yav tom ntej. Hauv nws cov lus Raws li lub npe "Intel thiab Rust: Lub Neej Yav Tom Ntej ntawm Systems Programming," nws kuj tau tham txog keeb kwm ntawm cov txheej txheem kev ua haujlwm, C tau dhau los ua cov txheej txheem programming lus li cas, cov yam ntxwv ntawm Rust muab qhov zoo dua li C, thiab nws tuaj yeem ua tiav li cas. hloov C hauv qhov programming no.

"Xeb yog lub neej yav tom ntej ntawm kev ua haujlwm, C yog tus neeg tsim khoom tshiab" - hais lus los ntawm Intel tus thawj coj engineers

System programming yog kev txhim kho thiab kev tswj hwm ntawm software uas ua haujlwm ua lub platform rau kev tsim cov ntawv thov kev siv, kom ntseeg tau tias tom kawg cuam tshuam nrog cov processor, RAM, cov khoom siv nkag / tawm thiab cov khoom siv network. System software tsim ib qho tshwj xeeb abstraction nyob rau hauv daim ntawv ntawm interfaces uas pab tsim daim ntawv thov software tsis delving rau hauv cov ntsiab lus ntawm yuav ua li cas lub hardware nws tus kheej ua hauj lwm.

Triplett nws tus kheej txhais cov txheej txheem programming li "txhua yam uas tsis yog daim ntawv thov." Nws suav nrog tej yam xws li BIOS, firmware, bootloaders thiab operating system kernels, ntau hom kev kos qis qis, thiab kev siv tshuab virtual. Interestingly, Triplett ntseeg tias lub web browser kuj yog software software, txij li browser tau ntev dhau los dhau los ua ntau tshaj li "tsuas yog qhov program", dhau los ua ib qho "platform rau cov vev xaib thiab cov ntawv thov web."

Yav dhau los, feem ntau cov kev pab cuam, suav nrog BIOS, bootloaders thiab firmware, tau sau ua lus sib dhos. Nyob rau xyoo 1960, kev sim pib muab kev txhawb nqa kho vajtse rau cov lus qib siab, ua rau kev tsim cov lus xws li PL/S, BLISS, BCPL, thiab ALGOL 68.

Tom qab ntawd, hauv xyoo 1970, Dennis Ritchie tau tsim C programming lus rau Unix operating system. Tsim los ntawm B programming lus, uas tseem tsis tau muaj kev txhawb nqa ntaus ntawv, C tau sau nrog cov haujlwm siab ua haujlwm siab uas zoo tshaj plaws rau kev sau ntawv ua haujlwm thiab cov tsav tsheb. Ob peb lub hauv paus ntawm UNIX, suav nrog nws cov ntsiav, thaum kawg tau sau dua tshiab hauv C. Tom qab ntawd, ntau lwm cov kev pabcuam hauv lub cev, suav nrog Oracle database, feem ntau ntawm Windows code code, thiab Linux operating system, kuj tau sau rau hauv C.

C tau txais kev txhawb nqa zoo heev hauv cov lus qhia no. Tab sis dab tsi tiag tiag ua rau developers hloov mus rau nws? Triplett ntseeg hais tias txhawm rau txhawb cov neeg tsim khoom hloov ntawm ib hom lus programming mus rau lwm qhov, tom kawg yuav tsum xub muab cov yam ntxwv tshiab yam tsis tau poob cov yam ntxwv qub.

Ua ntej, cov lus yuav tsum muaj "tsim nyog impressive" tshiab nta. β€œNws tsis tuaj yeem ua tau zoo dua. Nws yuav tsum tau ua kom zoo dua los ua pov thawj rau kev siv dag zog thiab lub sijhawm engineering uas nws siv los hloov pauv, "nws piav qhia. Piv rau cov lus sib dhos, C muaj ntau yam los muab. Nws txhawb qee yam kev coj tus cwj pwm zoo, muab kev txav mus los zoo dua thiab kev ua haujlwm nrog cov txheej txheem siab, thiab tsim cov lej nyeem tau ntau dua tag nrho.

Qhov thib ob, cov lus yuav tsum muab kev txhawb nqa rau cov yam ntxwv qub, uas txhais tau hais tias hauv keeb kwm ntawm kev hloov mus rau C, cov neeg tsim khoom yuav tsum paub tseeb tias nws tsis muaj qhov ua haujlwm tsawg dua li cov lus sib dhos. Triplett piav tias: "Ib hom lus tshiab tsis tuaj yeem ua tau zoo dua, nws kuj yuav tsum zoo li." Ntxiv nrog rau kev nrawm dua thiab txhawb nqa txhua hom ntaub ntawv uas cov lus sib dhos tuaj yeem siv tau, C kuj muaj qhov Triplett hu ua "kev khiav tawm hatch" - uas yog, nws txhawb nqa cov lus sib dhos hauv nws tus kheej.

"Xeb yog lub neej yav tom ntej ntawm kev ua haujlwm, C yog tus neeg tsim khoom tshiab" - hais lus los ntawm Intel tus thawj coj engineers

Triplett ntseeg tias tam sim no C tau dhau los ua hom lus sib dhos tau ntau xyoo dhau los. "C yog tus tshiab assembler," nws tshaj tawm. Tam sim no cov neeg tsim khoom tab tom nrhiav rau cov lus qib siab tshiab uas yuav tsis tsuas yog daws cov teeb meem uas tau sau hauv C uas tsis tuaj yeem kho tau lawm, tab sis kuj muaj cov yam ntxwv tshiab zoo siab. Cov lus zoo li no yuav tsum ua kom txaus txaus kom tau txais cov neeg tsim khoom hloov mus rau nws, yuav tsum muaj kev ruaj ntseg, muab kev tswj hwm kev nco tsis siv neeg, thiab ntau ntxiv.

"Txhua yam lus uas xav ua kom zoo dua C yuav tsum muaj ntau dua li kev tiv thaiv tsis txaus yog tias nws xav ua lwm txoj hauv kev. Cov neeg tsim khoom txaus siab rau kev siv tau thiab kev ua tau zoo, sau cov lej uas piav qhia tus kheej thiab ua haujlwm ntau dua hauv cov kab tsawg dua. Cov teeb meem kev nyab xeeb kuj yuav tsum tau hais. Kev yooj yim ntawm kev siv thiab kev ua haujlwm zoo sib koom tes. Tus lej tsawg koj yuav tsum tau sau kom ua tiav ib yam dab tsi, tsawg lub sijhawm koj yuav tsum ua yuam kev, cuam tshuam txog kev nyab xeeb lossis tsis yog, "pib Triplett.

Kev sib piv ntawm Rust thiab C

Rov qab rau xyoo 2006, Graydon Hoare, tus neeg ua haujlwm Mozilla, pib sau Rust raws li tus kheej qhov project. Thiab nyob rau hauv 2009, Mozilla pib txhawb txoj kev txhim kho ntawm Rust rau nws tus kheej cov kev xav tau, thiab kuj tau nthuav cov pab pawg los tsim cov lus ntxiv.

Ib qho ntawm cov laj thawj uas Mozilla tau txaus siab rau cov lus tshiab yog tias Firefox tau sau ntau dua 4 lab kab ntawm C ++ code thiab muaj qee qhov teeb meem tseem ceeb. Rust tau tsim nrog kev ruaj ntseg thiab kev sib koom ua ke hauv siab, ua rau nws yog qhov kev xaiv zoo tshaj plaws rau kev rov sau ntau ntawm Firefox cov khoom ua ib feem ntawm Quantum project kom rov tsim kho qhov browser tus qauv. Mozilla tseem tab tom siv Rust los tsim Servo, lub HTML rendering cav uas nws thiaj li yuav hloov lub Firefox rendering engine tam sim no. Ntau lwm lub tuam txhab tau pib siv Rust rau lawv cov haujlwm, suav nrog Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Kws ua zaub mov, Baidu thiab ntau ntxiv.

Rust daws ib qho teeb meem tseem ceeb tshaj plaws ntawm C lus. Dab tsi ua rau Rust txawv ntawm lwm yam lus niaj hnub no yog tias nws tsis muaj cov khoom siv khib nyiab uas tuaj yeem tshem tawm cov khoom tsis siv ntawm lub cim xeeb, thiab nws tsis muaj lub sijhawm ua haujlwm uas yuav tsum tau ua kom nws ua haujlwm, xws li Java Runtime Ib puag ncig rau Java. Hloov chaw, Rust muaj cov ntsiab lus ntawm kev ua tswv cuab, qiv, kev siv, thiab lub neej. "Xeb muaj lub kaw lus rau kev tshaj tawm hu rau ib qho khoom los qhia seb tus tswv siv nws los yog qiv nws xwb. Yog tias koj tsuas qiv ib yam khoom, lub compiler yuav ua raws li qhov no thiab xyuas kom meej tias tus thawj tseem nyob hauv qhov chaw ntev npaum li koj siv nws. Rust tseem yuav xyuas kom meej tias cov khoom raug tshem tawm ntawm lub cim xeeb sai li sai tau thaum nws siv tiav, ntxig ib qho kev hu mus rau hauv tus lej ntawm lub sijhawm sib sau yam tsis muaj sijhawm ntxiv, "hais Triplett.

Qhov tsis muaj lub sijhawm ua haujlwm ib txwm tuaj yeem suav tias yog qhov zoo ntawm Rust. Triplett ntseeg hais tias cov lus uas nws khiav yog qhov nyuaj rau siv los ua cov cuab yeej programming. Raws li nws piav qhia: "Koj yuav tsum pib lub sijhawm ua haujlwm no ua ntej koj tuaj yeem hu xov tooj rau ib qho twg, koj yuav tsum siv lub sijhawm no los hu rau lub luag haujlwm, thiab lub sijhawm ua haujlwm nws tus kheej yuav khiav cov lej ntxiv tom qab koj lub sijhawm npaj txhij."

Rust kuj tseem siv zog los muab kev ruaj ntseg thaum sib piv. Cov yam ntxwv tib yam uas ua rau nws nco muaj kev nyab xeeb khaws cov khoom zoo li cov xov twg muaj cov khoom twg thiab cov khoom twg tuaj yeem hla ntawm cov xov thiab qhov twg xav tau lub xauv.

Tag nrho cov nta no ua rau Rust txaus siab rau cov neeg tsim khoom xaiv nws los ua ib qho cuab yeej tshiab rau kev ua haujlwm. Txawm li cas los xij, nyob rau hauv cov nqe lus ntawm kev sib piv, Rust tseem me ntsis tom qab C.

Triplett npaj siab los tsim ib pab pawg neeg ua haujlwm tshwj xeeb uas yuav tsom mus rau kev qhia cov yam ntxwv tsim nyog rau hauv Rust kom nws muaj peev xwm sib npaug, tshaj thiab hloov C hauv kev ua haujlwm ntawm cov kab ke. IN xov xwm ntawm Reddit, tau mob siab rau nws cov lus hais, nws tau hais tias "FFI / C Parity pawg tab tom tsim thiab tseem tsis tau pib ua haujlwm," rau tam sim no nws tau npaj teb cov lus nug, thiab yav tom ntej nws yuav tshaj tawm cov phiaj xwm tam sim ntawd. rau kev txhim kho ntawm Rust raws li ib feem ntawm nws txoj kev pib rau txhua tus neeg nyiam.

Nws tuaj yeem xav tias pawg FFI / C Parity yuav ua ntej ntawm txhua qhov kev tsom mus rau kev txhim kho ntau txoj xov xwm txhawb nqa hauv Rust, qhia txog kev txhawb nqa rau BFLOAT16, lub hom phiaj ntab ntab uas tau tshwm sim hauv Intel Xeon Scalable processors tshiab, nrog rau kev sib dhos ruaj khov. code insertions.



Tau qhov twg los: 3d xov.ru

Ntxiv ib saib