Ohjelmointi

Miksi Rust-kieli on nousussa

Et ole luultavasti koskaan kirjoittanut mitään Rustissa, Mozillan luomassa avoimen lähdekoodin järjestelmätason ohjelmointikielessä, mutta todennäköisesti kirjoitat jossain vaiheessa. Kehittäjät kruunuivat Rustin "rakastetuimmaksi" kieleksi Stack Overflow'n vuonna 2019 tekemässä kehittäjäkyselyssä, kun taas Redmonkin puolivuosittaiset kieliluokitukset näkivät Rustin pääsevän 20 parhaan joukkoon (sijoitus # 21).

Huolimatta siitä, että Rustin käyttäjät "löytävät vaikeuksia ja turhautumista kielen mainituista ominaisuuksista muistin turvallisuuden ja oikeellisuuden takaamiseksi".

Miksi kielen tiedetään olevan jonkin verran vaikea oppia niin rakastetulta? Keskusteluissa kehittäjien kanssa näyttää siltä, ​​että vastaus tulee ajatukseen, että Rust on "suojakiskoilla ohjelmoitavia järjestelmiä", kuten Oso: n tekninen johtaja Sam Scott kuvaa, ja yksi näistä "suojakaiteista" on poikkeuksellisen vieraanvarainen yhteisö.

Järjestelmien ohjelmointi suojakaiteilla

Useimmat kehittäjät eivät yleensä matkustaa järjestelmien ohjelmointialueelle. Esimerkiksi sovelluskehittäjien ei yleensä tarvitse päästä lähelle taustalla olevaa laitteistoa. Heidän ei myöskään todennäköisesti tarvitse rakentaa alustoja, joilla muut ohjelmistot toimivat, mikä on järjestelmän ohjelmoinnin ydinmäärittelyosa.

Niille kehittäjille, jotka työskentelevät alemman tason ohjelmointikielien, kuten C tai C ++, kanssa, Rust on paljastus, jonka käsittelin ensimmäisen kerran vuonna 2015. Eteenpäin kuitenkin muutama vuosi, ja Rust vain paranee.

Kehittäjä David Barsky, jota pyydetään kuvaamaan Rustin tärkeimmät myyntipisteet, tarjoaa:

  • Esittäjä. Rust pystyy korvaamaan C / C ++: n tiloissa, joissa se yleensä kukoisti. Esimerkiksi: "Viiveherkille verkkopalveluille Rustin puuttuminen ajonaikaisesta roskakorista johtaa melkein olemattomiin hännän viiveisiin."
  • Luotettava. "Sen tyyppijärjestelmä ja lainatarkistin - staattinen, kokoamisajankohtana toimiva roskien kerääjä - estää kokonaisia ​​vikaluokkia, jotka hyväksytään normaaliksi Pythonissa, Javassa ja C ++: ssa."
  • Kehittäjien tuottavuus. "Cargo, rakennustyökalu ja paketinhallinta, on yksi parhaista koontijärjestelmistä ja pakettien hallintaohjelmista, joita olen käyttänyt." Rustin mukana tulee myös erinomainen sisäänrakennettu dokumentaatio ja upea, sisäänrakennettu yksikkö, integrointi ja dokumentaation testaus.

Barskyn kokemus näyttää samanlaiselta kuin Scott. Korkeamman tason ohjelmointikielistä (Java, Ruby on Rails) kotoisin oleva Scott sanoo, että hänen kokemuksensa C: stä oli vähemmän kuin miellyttävä: "C oli kauheaa, koska minulla oli jatkuvasti törmäys muistiongelmiin, häiriöihin jne. Ja en enemmän tai vähemmän tuntui kuin taistelisin koodin kanssa koko ajan. "

Rust sen sijaan oli "suojakiskoilla ohjelmoivia järjestelmiä". Scott selittää:

Sitten kokeilin Rustia (se oli juuri täyttänyt 1,0), ja tuntui siltä, ​​että järjestelmät ohjelmoivat suojakaiteilla. Kaikki mitä tarvitsin matalan tason järjestelmien ohjelmointiin, mutta paljon apua virheenkorjaukseen ja koodin turvalliseen tekemiseen - kuten lainan tarkistaja ja kääntäjä, ja myöhemmin työkalut kuten nukka ("clippy"). Se oli tarjonnut paljon tuttuja näkökohtia toiminnallisesta ja olio-ohjelmoinnista, ja se vain näytti sopivan henkiseen malliini siitä, kuinka halusin rakentaa järjestelmiä.

Oson perustajana Scott ei voinut välttää alemman tason ohjelmointia. Oso, jonka tehtävänä on tehdä back-end-infrastruktuurin tietoturva näkymättömäksi kehittäjille ja yksinkertainen operaattoreille, tarvitsee järjestelmätason kielen tarjoaman suorituskyvyn. "Emme voi käyttää roskien keräämää kieltä, kuten Go, koska suorituskyky ei ole riittävän johdonmukainen siihen nähden, mitä teemme, koska istumme asiakasliikenteen kriittisellä tiellä", Scott sanoi.

Kaikki tämä kuulostaa hyvältä, kunnes palaamme potentiaaliseen ongelmaan hankkia kehittäjälahjoja hyvin perehtyneenä suhteellisen uudella kielellä. Esteetön lahjakkuus voi kuitenkin olla Rustin paras ominaisuus.

Rust-ohjelmoijat halusivat

Kriittinen osa oppia jotain uutta on saada ihmiset halukkaita auttamaan siirtymässä. Täällä Rust loistaa. Kuten Barsky sanoo,

Rust-yhteisö on täynnä intohimoisia, ystävällisiä ja älykkäitä ihmisiä. Sillä on tiukasti pakotetut käytännesäännöt, mikä tarkoittaa, että töykeää tai häiritsevää käyttäytymistä ei sallita. Anekdotisesti sillä on korkeimpia LGBTQA-ihmisten pitoisuuksia, joita olen nähnyt missä tahansa teknologiayhteisössä.

Tämä yhteisö on suuri syy siihen, että Scottin mukaan kehittäjät voivat noutaa Rustin muutamassa kuukaudessa. Ruoste "vaatii vähän ajattelutavan muutosta", hän sanoo. "Sinun on tehtävä enemmän työtä etukäteen asioista, kuten tyypeistä ja elinaikoista." Mutta kun pääset sinne, "se maksaa osinkoja."

Pieni ihme, että niin monet kehittäjät rakastavat Rustia. Rustin vieraanvarainen ja osallistava yhteisö minimoi ylösalaisin ja haittapuolet minimoi.

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