Programmēšana

Kāpēc Rust valoda pieaug

Jūs, iespējams, nekad neesat neko rakstījis Moza izveidotā atvērtā koda, sistēmas līmeņa programmēšanas valodā Rust, taču, iespējams, kādā brīdī to izdarīsit. Izstrādātāji kronēja Rust par savu “vismīļāko” valodu Stack Overflow 2019. gada izstrādātāju aptaujā, savukārt Redmonka pusgada valodu vērtējumā Rusts nokļuva spraugā no 20 labākajiem (21. rangs).

Neskatoties uz to, ka Rust lietotāji “atrod grūtības un neapmierinātību ar valodas ļoti reklamētajām funkcijām atmiņas drošībai un pareizībai”.

Kāpēc ir zināms, ka valodu ir tik grūti iemācīties tik mīlētu? Sarunās ar izstrādātājiem šķiet, ka atbilde nāk no domas, ka Rust ir "sistēmas programmēšana ar aizsargsliedēm", kā to raksturo Oso CTO Sems Skots, un viena no šīm "aizsargsliedēm" ir ārkārtīgi viesmīlīga kopiena.

Sistēmu programmēšana ar aizsargsliedēm

Lielākā daļa izstrādātāju parasti neapmeklē sistēmu programmēšanas teritoriju. Piemēram, lietojumprogrammu izstrādātājiem parasti nav nepieciešams tuvoties pamatā esošajai aparatūrai. Viņiem, visticamāk, nav arī jāveido platformas, kurās darbosies cita programmatūra, kas ir sistēmas programmēšanas galvenais definējošais elements.

Tiem izstrādātājiem, kuri strādā ar zemāka līmeņa programmēšanas valodām, piemēram, C vai C ++, Rust ir atklāsme, ko es pirmo reizi aplūkoju 2015. gadā. Tomēr dažus gadus ātri uz priekšu, un Rust tikai turpina uzlaboties.

Lūgts detalizēt Rust galvenos pārdošanas punktus, izstrādātājs Deivids Barskis piedāvā:

  • Izpildītājs. Rūss spēj aizstāt C / C ++ telpās, kurās tas parasti uzplauka. Piemēram: "Attiecībā uz latentumu jutīgiem tīkla pakalpojumiem Rust trūkst izpildlaika atkritumu savākšanas, tāpēc gandrīz neeksistē astes latentumi."
  • Uzticama. "Tās tipa sistēma un aizņēmumu pārbaudītājs - statisks, kompilēšanas laika atkritumu savācējs - novērš visas kļūdu klases, kuras Python, Java un C ++ tiek atzītas par" normālām "."
  • Izstrādātāju produktivitāte. "Cargo, būvniecības rīku un pakotņu pārvaldnieks, ir viens no labākajiem būvēšanas sistēmām un pakotņu pārvaldniekiem, ko esmu izmantojis." Rust nāk arī ar izcilu iebūvētu dokumentāciju un lielisku, iebūvētu vienību, integrāciju un dokumentācijas testēšanu.

Barska pieredze šķiet līdzīga Skota pieredzei. Nācis no augstāka līmeņa programmēšanas valodām (Java, Ruby on Rails), Skots saka, ka viņa pieredze ar C bija mazāk patīkama: “C bija šausmīgs, jo es pastāvīgi saskāros ar atmiņas problēmām, defektiem utt. Un es vairāk vai mazāk jutos, ka visu laiku cīnījos ar kodu. ”

Rūsa, gluži pretēji, bija "sistēmas programmēšana ar aizsargsliedēm". Skots paskaidro:

Tad es izmēģināju Rust (tas tikko bija pagājis 1.0), un man likās, ka sistēmas programmē ar aizsargsliedēm. Visas lietas, kas man bija nepieciešamas, lai veiktu zema līmeņa sistēmu programmēšanu, bet ar lielu palīdzību atkļūdošanai un koda drošībai - piemēram, aizņēmuma pārbaudītājs un kompilators, un pēc tam vēlāk rīks, piemēram, linters (“clippy”). Tas bija piedāvājis daudz pazīstamu funkcionālās un objektorientētās programmēšanas aspektu, un, šķiet, vienkārši bija piemērots manam mentālajam modelim par to, kā es gribēju veidot sistēmas.

Kā Oso līdzdibinātājs Skots nevarēja izvairīties no zemāka līmeņa programmēšanas. Oso, kura uzdevums ir padarīt aizmugures infrastruktūras drošību izstrādātājiem neredzamu un vienkāršu operētājsistēmām, ”ir nepieciešama veiktspēja, ko piedāvā sistēmas līmeņa valoda. "Mēs nevaram izmantot atkritumu savākšanas valodu, piemēram, Go, jo veiktspēja nebūtu pietiekami konsekventa tam, ko mēs darām, jo ​​mēs sēžam uz klientu plūsmas kritiskā ceļa," sacīja Skots.

Tas viss izklausās lieliski, līdz mēs atgriežamies pie potenciālās problēmas iegūt attīstītāju talantus, kuri labi pārzina salīdzinoši jaunu valodu. Tomēr pieejamais talants var būt Rust vislabākā īpašība.

Rūsas programmētāji vēlējās

Kritiska sastāvdaļa, apgūstot kaut ko jaunu, ir tas, ka cilvēki vēlas palīdzēt pārejas posmā. Šeit spīd Rūss. Kā saka Barskis,

Rust sabiedrībā ir kaislīgi, laipni un inteliģenti cilvēki. Tam ir stingri izpildīts rīcības kodekss, kas nozīmē, ka nepieļauj rupju vai uzmācīgu rīcību. Anekdotiski, tajā ir dažas no augstākajām LGBTQA cilvēku koncentrācijām, ko esmu redzējis jebkurā tehnoloģiju kopienā.

Šī kopiena ir liels iemesls, ka, pēc Skota domām, izstrādātāji var uzņemt Rust pēc dažiem mēnešiem. Rūsa "prasa mazliet mainīt domāšanas veidu", viņš saka. "Jums ir jāpaveic vairāk darba, lai pamatotu lietas, piemēram, veidus un dzīves ilgumu." Bet, kad jūs tur nokļūsit, tas maksā dividendes.

Mazs brīnums, ka tik daudzi izstrādātāji mīl Rust. Augšupvērstais ir liels, un negatīvo pusi samazina Rust viesmīlīgā un iekļaujošā kopiena.

$config[zx-auto] not found$config[zx-overlay] not found