Një zhvillues ofron një rizbatim të GNU Coreutils në Rust 

gnu-coreutils-ndryshk

Përdorimi i Rust për këtë projekt do të ndihmojë në përshpejtimin e këtij procesi pasi shumë defekte të mundshme eliminohen plotësisht.

Sylvestre Ledru filloi të punojë në një ri-zbatim të GNU Coreutils në Rust gjatë pandemisë COVID-19 dhe e prezantoi javën e kaluar gjatë edicionit 2023 të FOSDEM-it. Përpjekja e quajtur uutils tani është e paketuar nga shumë shpërndarje Linux dhe përdoret gjithashtu nga një rrjet social i famshëm përmes projektit Yocto.

Krahasimet e gjuhëve Rust dhe C++ kanë një fije të përbashkët: duke theksuar epërsinë e Rust ndaj C++ për sa i përket sigurisë së kujtesës. Redaktori i RisingWave shpjegon pse ai e rishkruajti Cloud DBMS-në e tij të lindjes nga e para në Rust pasi u largua nga projekti C++.

“Rust siguron kujtesën dhe sigurinë e fijeve në kohën e kompilimit duke futur rregullat e pronësisë. Ai shkon përtej RAII, një mekanizëm i menaxhimit të memories që përdoret zakonisht në C++. Ka dy avantazhe. E para është e qartë: pasi përpiluesi Rust të vërtetojë programin tonë, nuk do të kemi asnjë gabim segmenti ose kushte gare gjatë ekzekutimit, gjë që do të kërkonte dhjetëra orë korrigjimi, veçanërisht në një bazë kodi shumë të njëkohshme dhe kryesisht në asinkron. E dyta është më delikate: përpiluesi i Rust thjesht kufizon llojet e dështimeve, gjë që redukton copat e kodit të futura fort që mund të shkaktojnë një sjellje të tillë të gabuar. Replikimi i gabimeve përmirësohet ndjeshëm duke përdorur ekzekutimin përcaktues. »

GNU Coreutils është një paketë nga projekti GNU i cili përmban shumë mjete bazë të nevojshme për sistemet operative të ngjashme me Unix: cp (kopjoni një skedar ose drejtori), mkdir (krijoni një direktori), etj. Një zhvillues ofron një rizbatim në gjuhën Rust.

Një nga qëllimet: ta bëjë paketën të përdorshme në sisteme të tjera operative: Windows, macOS, Android, FreeBSD, etj. Lëvizja vjen për të ringjallur debatin mbi pyetjen nëse duhet të vazhdohet fillimi i projekteve të reja në C dhe C++ apo thjesht të zgjedhë gjuhën Rust.

“Gjuha Rust ofron garanci sigurie si parazgjedhje kur bëhet fjalë për menaxhimin e kujtesës. Ky nuk është rasti i C dhe C++, përdorimi i të cilave në Mozilla është shkaku i problemeve të sigurisë së kujtesës”, thekson Sylvestre Ledru.

Sidoqoftë, Bjarne Stroustrup nuk pajtohet që krahasimet midis Rust dhe C++ kufizojnë nocionin e sigurimit të softuerit në atë të sigurimit të kujtesës:

“Nuk ka asnjë përkufizim të vetëm për nocionin “siguri” dhe ne mund të arrijmë një shumëllojshmëri llojesh sigurie përmes një kombinimi të stileve të programimit, bibliotekave mbështetëse dhe duke përdorur analizën statike. Bjarne Stroustrup sugjeron kështu që ajo që mund të merret nga C++ përsa i përket sigurisë së softuerit varet, ndër të tjera, nga zhvilluesi dhe, në veçanti, nga njohja e mjeteve që ofron gjuha, zotërimi i tij i kompajlerit, etj.

Inxhinierët e Google, të vetëdijshëm se çfarë C++ u ofron atyre si mundësi, kanë nisur krijimin e një verifikuesi kredie në këtë gjuhë. Është një veçori e përpiluesit Rust që siguron sigurinë e kujtesës përmes menaxhimit të alokimit të treguesit të kujtesës.

Ekipi i Google, publikimi i të cilit u shfaq në tremujorin e tretë të vitit të kaluar, arriti në përfundimin e se sistemi i ngjashëm me C++ nuk i përshtatet një ushtrimi të tillë. Dhe te se mund të arrihet siguria e memories në C++ me kontrolle gjatë ekzekutimit të programit. Me fjale te tjera, Është me kodin e ngadaltë C++ që është e mundur të arrihet një nivel sigurie ekuivalent me atë të Rust.

Lëshimi i redaktorit RisingWave vjen pasi Rust dallon nga gjuhët e tjera që janë paraqitur prej vitesh si alternativa ndaj C dhe C++. Në fakt, kerneli Linux po bëhet gjithnjë e më i hapur ndaj gjuhës programuese të sistemeve të Mozilla-s.


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.