Rūsu neatbrīvoja no Linusa Torvalda kritikas

Pirms dažām nedēļām ziņas par daži īstenojumi, kas tika veikti linux-next filiāle, kurā ietilpst sākotnējais komponentu kopums izstrādāt ierīču draiverus rūsa valodā.

Šī dokumentācija tika publicēta atsevišķi par Rust lietošanu Linux kodolā un kodola moduļa piemēru ar rakstzīmju ierīces draiveri Rust valodā. Kodu pievienoja filiāles uzturētājs Stīvens Rotvels.

Pēc tam Linuss Torvalds pārņēma ieviešanas pārskatu plāksteris iespēju iestatīt Rust valodas draiverus Linux kodolā un izteica zināmu kritiku.

Vislielākās sūdzības izraisīja bēgšanas iespējas "Izpildes laika neveiksmes panika" nepareizās situācijās, piemēram, ārpus atmiņas, kad dinamiskās atmiņas piešķiršanas operācijas, ieskaitot kodola darbības, var neizdoties.

Torvalds paziņoja, ka šāda koncentrēšanās uz kodolu ir fundamentāli nepieņemama, Un, ja jūs nesaprotat šo punktu, varat pilnībā noraidīt jebkuru kodu, kas mēģina izmantot šādu pieeju. No otras puses, plākstera izstrādātājs piekrita problēmai un uzskatīja to par atrisināmu.

Vēl viena problēma ir mēģinājumi izmantot peldošā komata vai 128 bitu tipus, kas nav derīgi tādās vidēs kā Linux kodols.

Jūs, iespējams, nesaprotat sekas, kad tas var notikt, tāpēc varbūt
ir mazāka problēma nekā es domāju, ka tā ir, bet pamatā
Es domāju, ka, ja kāda Rust kartēšana var izraisīt paniku, tas ir vienkārši
_ būtībā_ nav pieņemams.

Kartēšanas kļūmes kontrollerī vai kodā, kas nav kodols, un tas ir domāts
definīciju, visu jauno Rust kodu, tas nekad NEKAD nevar izraisīt
pamatoti paniku. Tas pats attiecas uz «ak, dažos gadījumos es nemēģināju izmantot
128 bitu veseli skaitļi vai peldošais punkts ”.

Tātad, ja Rust kompilators izraisa slēptus uzdevumus, kas nevar būt
atklāt un atgriezties kā kļūdas, tad es nopietni uzskatu, ka tas viss
pieejai jābūt pilnīgi NAK'ai, un Rust infrastruktūra,
vai nu kompilatora līmenī, vai kodola iesaiņotājos, jums vajag vairāk
darbs.

Tā izrādījās nopietnāka problēma., jo šajā brīdī Rūsas centrālā bibliotēka ir nedalāma un apzīmē lielu traipu; nav iespējas pieprasīt tikai dažas funkcijas, tādējādi izvairoties no vienas vai otras problemātiskas funkcionalitātes izmantošanas.

Problēmas risinājumam var būt nepieciešamas izmaiņas rūsas sastādītājā un bibliotēkā, lai gan komandai vēl nav stratēģijas, kā ieviest modularitāti valodu bibliotēkām.

Turklāt, Torvalds norādīja, ka sniegtais kontroliera piemērs ir bezjēdzīgs un ieteica kā piemēru pievienot draiveri, kas atrisina vienu no reālajām problēmām.

Pirms šī Google paziņoja par savu dalību iniciatīvā Rust atbalsta veicināšanai Linux kodolā y sniedza tehniskos aspektus par Rust ieviešanas iespējamību, lai apkarotu problēmas, kas rodas no kļūdām darbā ar atmiņu.

Google domā, ka Rusts ir gatavs pievienoties C kā izstrādes valodai Linux kodola komponenti. Rakstā ir arī piemēri, kā valoda Rust tiek izmantota kodola draiveru izstrādē, ņemot vērā tās izmantošanu Android platformā (Rust ir atzīta par oficiāli atbalstītu valodu Android izstrādei).

Jāatzīmē, ka Google ir sagatavojis Rust rakstītu kontroliera sākotnējo prototipu Bindera starpprocesu komunikācijas mehānismam, kas ļaus detalizēti salīdzināt Binder ieviešanu C un Rust.

Pašreizējā formā darbs vēl nav pabeigts, taču gandrīz visām kodola funkcionalitātes abstrakcijām, kas nepieciešamas Binder darbībai, slāņi ir sagatavoti šo abstrakciju izmantošanai Rust kodā.

Visbeidzot, ja vēlaties uzzināt vairāk par to, varat pārbaudīt informāciju Šajā saitē.


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: AB Internet Networks 2008 SL
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Migels Rodrigess teica

    Visa viņu kritika ir pamatota, ņemot vērā, ka Rust ir jauna valoda, kas darbojas ar citu paradigmu nekā C, ir saprotams, ka bažas par jebkuru sīkumu bibliotēkās vai pašā sastādītājā, kur, lai arī kods ir derīgs, tas izraisa kodolu arī salauzt. kā tas tiek ieviests un izveidots. Tāpēc pareizi darbojas tādi ieteikumi kā iespēja modulēt bibliotēku, lai izsauktu un saglabātu aktīvu tikai tās funkcijas, kas nepieciešamas programmai (vai šajā gadījumā jebkuram kontrolierim). Tas, ko jūs lūdzat, nav arī nesaprātīgs, ka tie jums atnes īstu prototipa kontrolieri, kas labi strādā darbu pie pašreizējās problēmas (vai vismaz veic tādu pašu darbu kā esošais kodolā un darbojas bez panikas).

  2.   Slāpes teica

    Ik pa laikam es pārlasu rakstus no Linux Adictos Bet man ir nepieciešams ļoti maz laika, lai nonāktu izmisumā, kad redzu, ka, neskatoties uz to, ka saturs ir ļoti labs, galarezultāts tiek iznīcināts ar šausmīgu pareizrakstību.
    Vai pareizrakstība un gramatika būs tik grūta?
    Kauns!
    Uzmundrināt!