Știți că majoritatea programatorilor Rust lucrează la aplicații web? ? Rugina este provocatoare, dar și plină de satisfacții și distracție! Învăța Rugina cu exemplul, sau? deschis această repo GitHub pentru a începe în VSCode.

Rugina este una dintre cele mai fierbinți? limbaje de programare astăzi. Este al lui StackOverflow cel mai iubit limbaj de programare în ultimii 4 ani. Cu toate acestea, are încă o reputație de limbaj de programare pentru geeks alfa.

De unele estimări, există 600.000 de dezvoltatori Rust la nivel mondial, ceea ce reprezintă un număr semnificativ. Dar este încă pitic în comparație cu zeci de milioane de dezvoltatori JavaScript, Java și Python.

Cine sunt acei dezvoltatori Rust? Pentru ce folosesc Rust? De ce o iubesc atât de mult pe Rust? Și cel mai important, cum vă alăturați rândurilor lor și vedeți singur de ce Rust este atât de iubit? Nu rămâne în urmă.

Pentru a răspunde acestor întrebări, comunitatea Rust a realizat sondaje anuale pentru dezvoltatori de la rust-lang.org începând din 2016. Site-ul a lansat recent Rezultatele sondajului din 2019 pe baza răspunsurilor de la aproape 4000 de dezvoltatori Rust. Iată primele 8 lucruri pe care le-am învățat din sondaj.

?? Rust este destinat programatorilor profesioniști

Limbajul de programare Rust nu este conceput pentru a fi „ușor de început”. Mai degrabă, este conceput pentru a fi puternic și sigur în același timp. Acesta își propune să fie limbajul de productivitate al dezvoltatorilor pentru programatorii profesioniști. Este provocator, distractiv și plin de satisfacții. Asta arată în sondaj.

Foarte puțini respondenți se numesc experți Rust. Majoritatea oamenilor apreciază expertiza Rust ca fiind 7/10 sau mai puțin, în ciuda faptului că peste 68% dintre ei scriu săptămânal cod Rust. Este clar un limbaj care necesită timp pentru a stăpâni și a excela.

Aproximativ 37% dintre utilizatorii de Rust s-au simțit productivi în Rust în mai puțin de o lună de utilizare – acest lucru nu este prea diferit de procentul de anul trecut (40%). Peste 70% s-au simțit productivi în primul lor an. Din păcate, la fel ca anul trecut, există încă o luptă în rândul utilizatorilor – 21% au declarat că nu s-au simțit încă productivi.

În același timp, la întrebarea de ce nu se folosește Rust în unele proiecte, curba de învățare este citată ca fiind cel mai frecvent motiv # 2. Motivul nr. 1, desigur, este decizia companiei dacă folosește un anumit limbaj de programare într-un proiect.

? Documentarea este esențială pentru adoptare

Cum depășesc curba de învățare a Rust și se îndrăgostesc de ea? Ei bine, nu în mod neașteptat, majoritatea dezvoltatorilor au citat „o documentație mai bună” drept motor pentru adoptare.

Dar fidel „programatorilor profesioniști”, cea mai căutată documentare Rust este conținutul de nivel intermediar care îi ajută pe dezvoltatori să își îmbunătățească abilitățile și productivitatea Rust.

În timp ce sondajul este orientat spre dezvoltatorii care știau deja elementele de bază ale Rust, se pare că există o sete de cunoaștere și auto-îmbunătățire în această mulțime.

? Dezvoltatorii nu doresc volume de text

Documentația software tradițională constă de obicei din cărți întregi și site-uri web. Noile generații de dezvoltatori doresc o documentație mai bună și mai bună. Ca un limbaj „nou”, Rust conduce deja inovația atunci când vine vorba de documentarea limbajului de programare.

De exemplu, compilatorul Rust este un instrument de auto-documentare. Una dintre cele mai unice și iubite caracteristici ale Rust este compilatorul său agresiv care vă ajută să vă asigurați corectitudinea și siguranța înainte ca programul să ruleze. Ca urmare, dezvoltatorii Rust pot scrie programe extrem de performante, dar sigure.

Când întâmpinați o eroare de compilare în Rust, compilatorul vă oferă o explicație imediată a erorii și sugestii despre cum să remediați eroarea pe baza contextului programului dvs.

Acest proiect inițial în GitHub începeți să utilizați compilatorul Rust și sistemul Cargo fără a fi nevoie să instalați niciun lanț de instrumente software. Puteți utiliza ID-ul online VSCode direct cu acest proiect.

Site-uri web de documentare rugină, cum ar fi docs.rs și Ruginește prin exemplu (si este Ediție extinsă) folosește Rust Playground pentru a rula exemplul de cod Rust direct din browser. Acele cărți interactive sunt mult mai bune decât textul simplu.

Cu toate acestea, după cum arată sondajul, dezvoltatorii vor mai mult. Dezvoltatorii au sete de mai mult conținut video, de exemplu. Putem aștepta cu nerăbdare mai multe videoclipuri de codificare și transmisiuni live din comunitate în curând.

? ️ Majoritatea oamenilor folosesc Rust pentru aplicații web, srsly!

Ca limbaj la nivel de sistem destinat să înlocuiască C și C ++, majoritatea oamenilor presupun că Rust ar fi utilizat în programarea infrastructurii, cum ar fi sistemele de operare, bibliotecile native și platformele de execuție.

Cu toate acestea, sondajul arată în mod clar că, cu o marjă mare, majoritatea dezvoltatorilor Rust de astăzi lucrează la backend-uri de aplicații web. Nu e de mirare că lași hiper, actix-web, și Racheta sunt printre cele mai populare printre dezvoltatorii Rust.

Pentru a fi sigur, majoritatea dezvoltatorilor de software lucrează la aplicații web. Nu este surprinzător faptul că, pe măsură ce Rust câștigă adoptarea generală, proiectele Rust vor reflecta industria software-ului mai mare.

Cu toate acestea, acest lucru prezintă oportunități pentru proiecte și instrumente care integrează Rust în aplicațiile web populare de rulare. De exemplu, Aplicație hibrid Rust + JavaScript abordarea ia amploare.

? Blockchain este un focar Rusty

Când vine vorba de software de infrastructură, Rust strălucește cu adevărat ca limbaj de programare pentru sistemele blockchain.

Pentru toate sectoarele industriale legate de software, sondajul arată că blockchain ocupă locul 35 doar pentru toți dezvoltatorii de software, dar al 11-lea pentru dezvoltatorii Rust. Acest lucru se datorează nu foarte puțin datorită adoptării agresive a Rust de către proiecte mari de tip blockchain, cum ar fi Polkadot / Substrat, Oază, Solana, și Al doilea stat etc.

În multe privințe, blockchain-urile se potrivesc perfect pentru Rust. Blockchain-urile reprezintă efortul comunității de a reconstrui infrastructura internetului într-o manieră descentralizată. Acestea necesită software de înaltă performanță, care este, de asemenea, foarte sigur. Dacă sunteți interesat de o carieră de inginer blockchain, Rust este o abilitate indispensabilă astăzi.

Rust ❤️ WebAssembly

Sondajul relevă faptul că WebAssembly este un mediu de rulare popular pentru programele Rust. Rust și WebAssembly au fost ambele inventate la Mozilla.

Rust este axat pe performanță și siguranța memoriei, în timp ce WebAssembly se concentrează pe performanță și siguranță în timpul rulării. Ca un container de execuție, WebAssembly face, de asemenea, programele Rust multiplataforme și mai ușor de gestionat. Există într-adevăr o mulțime de sinergie între cele două tehnologii.

WebAssembly a fost inițial inventat ca o mașină virtuală din partea clientului pentru a rula aplicații în browser. Dar, ca Java și JavaScript înainte, WebAssembly face acum migrarea din partea clientului în partea serverului.

Rust-in-WebAssembly este un bun augur cu tendința de a accelera adoptarea Rust pe aplicațiile web backend. Puteți începe cu dezvoltarea aplicațiilor Rust și WebAssembly dintr-un proiect de start din acest depozit GitHub.

? Programarea asincronă decolează

În ultimii ani, două noi limbaje de programare au câștigat o tracțiune semnificativă în rândul dezvoltatorilor. Unul este Rust, iar celălalt este Go. O mare parte din succesul lor este suportul superior pentru modelele de programare simultană.

De fapt, un prim slogan al lui Rust este „concurenta neînfricată”. Promite productivitatea dezvoltatorului în scrierea de programe asincrone multi-thread optimizate pentru arhitecturile CPU multi-core actuale. După cum a demonstrat Node.js, programarea asincronă ușoară este crucială pentru succesul unui limbaj sau cadru din partea serverului.

Sondajul arată că 4 din cele mai importante lăzi Rust (adică biblioteci terțe), tokio, asincron, viitor, și hiper, sunt cadre pentru aplicații asincrone multi-thread.

? R, Python și JavaScript

Pe măsură ce adoptarea Rust crește, dezvoltatorii trebuie să integreze din ce în ce mai mult programele Rust cu programe scrise în alte limbi. În trecut, C și C ++ erau cele mai frecvente limbaje pentru a „vorbi” cu Rust, deoarece toate sunt utilizate în proiecte software de infrastructură.

Pe măsură ce Rust devine proiecte de aplicații software, sunt necesare acum mai multe interfețe și punți la nivel de limbă. Un bun exemplu este Podul JavaScript Rust care sprijină Funcțiile rugină în Node.js aplicații.

Sondajul a constatat că, pe lângă C / C ++ și JavaScript, dezvoltatorii Rust sunt interesați să se integreze cu R și Python. Acest lucru indică interesele dezvoltatorilor pentru învățarea automată, big data și aplicațiile de inteligență artificială (AI). De fapt, multe pachete statistice și de învățare automată Python și R sunt implementate în module binare native.

Rust este unul dintre cele mai bune limbaje de programare pentru a scrie module native. Acest exemplu arată modul de utilizare Rust pentru a executa modelele Tensorflow într-un Node.js cerere. În viitor, avem în vedere astfel de module Rust pentru a rula în containere gestionate de înaltă performanță, cum ar fi WebAssembly.

Concluzie

2019 a fost un an de creștere și îmbunătățiri incrementale pentru Rust. Pe măsură ce Rust devine un limbaj de programare principal, așteptăm cu nerăbdare mai multă documentație, mai multe instrumente, mai mult suport pentru ecosistem, mai multă interoperabilitate cu alte limbi și o curbă de învățare mai blândă.

Și cel mai important dintre toate, suntem dornici să ne facem mai mulți prieteni și să ne distrăm cu cel mai iubit limbaj de programare din lume!

Despre autor

Dr. Michael Yuan este autor a 5 cărți despre ingineria software. Ultima sa carte Construirea aplicațiilor Blockchain a fost publicat de Addison-Wesley în decembrie 2019. Dr. Yuan este cofondatorul Al doilea stat, un startup finanțat de VC care aduce tehnologiile WebAssembly și Rust nor, blockchain, și AI aplicații. Permite dezvoltatorilor să implementeze rapid, sigur, portabil și fără server Funcțiile Rust pe Node.js.

Înainte de Second State, Dr. Yuan a contribuit mult timp la sursă deschisă la Red Hat, JBoss și Mozilla. În afara programelor software, Dr. Yuan este investigator principal la Institutul Național de Sănătate, cu mai multe premii de cercetare privind cancerul și cercetarea în domeniul sănătății publice. Este doctor în astrofizică la Universitatea Texas din Austin.