"Rust siberoja bernameya pergalê ye, C berhevkarê nû ye" - axaftinek ji hêla yek ji endezyarên pêşeng ên Intel ve.

Di Summi Teknolojiya Çavkaniya Vekirî ya dawî de (OSTS) Josh Triplett, endezyarek pêşeng Intel, got ku pargîdaniya wî eleqedar e ku Rust di pêşerojek nêzîk de bigihîje "hevseng" bi C, ku hîn jî di warê pergalê û pêşkeftina asta nizm de serdest e. Di axaftina xwe de di bin sernavê "Intel û Rust: Pêşeroja Bernamesaziya Pergalan" de wî her weha li ser dîroka bernamesaziya pergalê, çawa C bû zimanê bernamesaziya pergalê "default", kîjan taybetmendiyên Rust jê re li ser C-yê pêşwaziyek dide, û çawa di nêzîk de di pêşerojê de ew dikare bi tevahî cîhê C-yê di herêmek diyarkirî ya bernameyê de bigire.

"Rust siberoja bernameya pergalê ye, C berhevkarê nû ye" - axaftinek ji hêla yek ji endezyarên pêşeng ên Intel ve.

Bernamesazkirina pergalê pêşkeftin û rêveberiya nermalavê ye ku wekî platformek ji bo afirandina serîlêdanên serîlêdanê re xizmet dike, dabîn dike ku ya paşîn bi pêvajoyê, RAM, cîhazên I/O û alavên torê re têkilî daynin. Nermalava pergalê di forma navberan de abstrakasyonek taybetî diafirîne ku ji we re dibe alîkar ku hûn nermalava serîlêdanê biafirînin bêyî ku hûn biçin hûrguliyên ka hardware bixwe çawa dixebite.

Triplett bixwe bernameya pergalê wekî "tiştê ku ne serîlêdan e" pênase dike. Ew tiştên mîna BIOS, firmware, barkerên boot û kernelên pergala xebitandinê, cûrbecûr kodên nizm ên çêkirî, û pêkanînên makîneya virtual vedihewîne. Balkêş e, Triplett bawer dike ku geroka webê di heman demê de nermalava pergalê ye, ji ber ku gerok ji zû de ji "tenê bernameyek" wêdetir çûye nav "platforma malper û sepanên malperê" ya xwe.

Berê, piraniya bernameyên pergalê, tevî BIOS, bootloader, û firmware, bi zimanê meclîsê dihatin nivîsandin. Ezmûnan di salên 1960-an de dest pê kir ku ji bo zimanên asta bilind piştgirîya hardware peyda bikin, ku berbi zimanên wekî PL/S, BLISS, BCPL, û ALGOL 68 ve diçin.

Dûv re, di salên 1970-an de, Dennis Ritchie ji bo pergala xebitandina Unix-ê zimanê bernamenûsê C afirand. Di zimanê bernamenûsê B de hatî afirandin, ku tewra piştgirîya nivîsandinê jî tune bû, C bi fonksiyonên asta bilind ên hêzdar ên ku ji bo nivîsandina pergalên xebitandinê û ajokaran çêtirîn maqûl bûn dagirtî bû. Çend pêkhateyên UNIX, tevî kernelê wê, di dawiyê de bi C ji nû ve hatin nivîsandin. Dûv re, gelek bernameyên pergalê yên din, di nav de databasa Oracle, piraniya koda çavkaniya Windows-ê û pergala xebitandina Linux-ê jî bi C-yê hatin nivîsandin.

C di vî alî de piştgirîyek mezin wergirt. Lê bi rastî çi kir ku pêşdebiran wê veguherînin? Triplett bawer dike ku ji bo ku pêşdebiran teşwîq bike ku ji zimanek bernamenûsê derbasî zimanek din bibin, ya paşîn divê pêşî taybetmendiyên nû peyda bike bêyî ku taybetmendiyên kevn winda bike.

Pêşîn, ziman divê taybetmendiyên nû yên "têra xwe bandorker" pêşkêş bike. "Ew nikare çêtir be. Pêdivî ye ku ew bi girîngî çêtir be ku meriv hewil û wextê ku ji endezyaran re derbas dibe rewa bike, "wî diyar dike. Li gorî zimanê meclîsê, C gelek tişt hebû ku pêşkêşî bike. Ew hinekî ewlekariya celeb piştgirî kir, bi avahîyên astek bilind ve veguheztin û performansa çêtir peyda kir, û bi tevahî kodek pirtir xwendin çêkir.

Ya duyemîn, ziman pêdivî ye ku piştgirî ji taybetmendiyên kevn re peyda bike, ku tê vê wateyê ku di dîroka veguheztina C de, pêşdebiran pêdivî bû ku ew piştrast bin ku ew ji zimanê meclîsê ne kêmtir fonksiyonel bû. Triplett diyar dike: "Zimanekî nû bi hêsanî nikare çêtir be, divê ew jî bi qasî baş be." Digel ku bileztir û piştgirîkirina her cûreyên daneyê yên ku zimanê meclîsê dikare bikar bîne, C di heman demê de tiştê ku Triplett jê re digotin "hêza revê", ango, piştgirî ji bo têxistina koda zimanê meclîsê di hundurê wê de hebû.

"Rust siberoja bernameya pergalê ye, C berhevkarê nû ye" - axaftinek ji hêla yek ji endezyarên pêşeng ên Intel ve.

Triplett bawer dike ku C naha dibe zimanê meclîsê ku gelek sal berê bû. "C berhevkarê nû ye," ew dibêje. Pêşdebir naha li zimanek nû-asta bilind digerin ku dê ne tenê pirsgirêkên domdar ên C-yê yên ku êdî nayên çareser kirin çareser bike, lê di heman demê de taybetmendiyên nû yên balkêş jî pêşkêşî dike. Pêdivî ye ku zimanek wusa têra xwe mecbûrî be ku zorê bide pêşdebiran ku wî biguhezînin, divê ewle be, rêveberiya bîranîna otomatîk peyda bike, û hêj bêtir.

"Her zimanek ku bixwaze ji C çêtir be, ger ew bi rastî bixwaze bibe alternatîfek berbiçav, pêdivî ye ku ji parastina zêdebûna tamponê pir bêtir pêşkêşî bike. Pêşdebir bi karanîn û performansê re eleqedar dibin, bi nivîsandina koda ku bixwe raveker e û di hindik rêzan de bêtir xebatê dike. Pirsgirêkên ewlehiyê jî divê bên çareserkirin. Hêsaniya karanîn û performansê bi hev re bi hev re diçin. Kêm koda ku hûn binivîsin da ku hûn tiştek bi dest bixin, ew qas kêm derfeta we heye ku hûn xeletiyên têkildar ên ewlehiyê an ne-ewlehiyê bikin, "Triplett diyar dike.

Berhevdana Rust û C

Di sala 2006-an de, Graydon Hoare ji Mozilla dest bi nivîsandina Rust wekî projeyek kesane kir. Û di sala 2009-an de, Mozilla ji bo hewcedariyên xwe dest bi sponsoriya pêşkeftina Rust kir, û her weha tîmê berfireh kir da ku ziman bêtir pêşve bibe.

Yek ji sedemên ku Mozilla bi zimanê nû re eleqedar bû ev e ku Firefox di zêdetirî 4 mîlyon rêzikên koda C++ de hatî nivîsandin û çend qelsiyên krîtîk hebûn. Rust bi ewlehî û hevdemî di hişê xwe de hate çêkirin, ku ew ji bo ji nû ve nivîsandina gelek hêmanên Firefox-ê wekî beşek ji projeya Quantum-ê ku bi tevahî mîmariya gerokê sererast dike, dike bijareya bêkêmasî. Mozilla di heman demê de Rust-ê bikar tîne da ku Servo, motorek pêşkêşkirina HTML-ê ya ku dê di pêşerojê de şûna motora rakêşana heyî ya Firefox-ê bigire, pêşve bixe. Gelek pargîdaniyên din ji bo projeyên xwe dest bi karanîna Rust kirine, di nav de Microsoft, Google, Facebook, Amazon, Dropbox, Fastly, Chef, Baidu, û hêj bêtir.

Rust yek ji pirsgirêkên herî girîng ên zimanê C çareser dike. Ew rêveberiya bîranînê ya otomatîkî pêşkêşî dike ji ber vê yekê pêşdebir neçar in ku bi destan veqetînin û dûv re wê ji bo her tiştê di serîlêdanê de veqetînin. Tiştê ku Rust ji zimanên din ên nûjen cuda dike ev e ku ew ne xwedan berhevkarek çopê ye ku bixweber tiştên ku nayên bikar anîn ji bîranînê derdixe, ne jî hawîrdorek dema xebitandinê ya ku ji bo xebitandina wê hewce ye, wek Java Runtime Environment ji bo Java. Di şûna wê de, Rust têgehên xwedanbûn, deynkirin, referans û heyaman hene. "Rust pergalek ji bo ragihandina bangên tiştan heye, ku dihêle hûn diyar bikin ka xwedan wê bikar tîne an ew tenê deyn dike. Ger hûn tenê tiştek deyn bikin, berhevkar dê çavê xwe lê bigire û piştrast bike ku dema ku hûn jê re vedibêjin orîjînal di cîh de bimîne. Û Rust di heman demê de dê piştrast bike ku gava ku karanîna wê qediya ew tişt ji bîrê were derxistin, di dema berhevkirinê de bêyî demek zêde bangek guncan têxe kodê, "dibêje Triplett.

Nebûna dema xebitandinê ya xwemalî jî dikare wekî taybetmendiyek erênî ya Rust were hesibandin. Triplett bawer dike ku zimanên ku pê re dimeşin dijwar e ku meriv wekî amûrek ji bo bernameya pergalê bikar bîne. Wekî ku ew rave dike, "Divê hûn vê dema xebitandinê dest pê bikin berî ku hûn bikarin bangî kodê bikin, divê hûn vê dema xebitandinê bikar bînin da ku bangî fonksiyonan bikin, û dema xebitandinê bixwe dikare di demên nediyar de kodek din li pişt we bimeşîne."

Rust di heman demê de hewl dide ku bernameya paralel a ewle peyda bike. Heman taybetmendiyên ku wê ji bîranînê ewle dikin bişopînin tiştên wekî kîjan têl xwediyê kîjan tiştan e û kîjan tişt dikare di navbera têlan de were derbas kirin û yên ku hewceyê kilîtkirinê ne.

Hemî van taybetmendiyan Rust ji bo pêşdebiran têra xwe mecbûr dike ku wekî amûra bernameya pergala xwe ya nû hilbijêrin. Lêbelê, di warê hesabkirina paralel de, Rust hîn jî hinekî li paş C ye.

Triplett dê grûbek xebatê ya taybetî biafirîne ku dê taybetmendiyên pêwîst di Rust de bicîh bike da ku ew di warê bernameya pergalê de bi tevahî wekhev be, ji C derbas bibe û biguhezîne. LI mijar li ser reddit, ku ji bo axaftina xwe diyarî kir, wî got ku "koma Parîte ya FFI/C di pêvajoya damezrandinê de ye û hîn dest bi xebatê nekiriye", di heman demê de ew amade ye ku bersiva her pirsê bide, û di pêşerojê de ew ê teqez biweşîne. planên ji bo pêşveçûna Rust wekî beşek ji destpêşxeriya xwe ji bo hemû aliyên eleqedar.

Dikare were texmîn kirin ku, berî her tiştî, koma FFI / C Parity dê bi baştirkirina piştgirîya Rust-ê ya pirtirkêmtir mijûl bibe, piştgirî bide BFLOAT16, forma xala herikînê ya ku di pêvajoyên nû yên Intel Xeon Scalable de xuya bû, û her weha koda meclîsê stabîl bike. insertions.



Source: 3dnews.ru

Add a comment