8 geriausi dalykai, kuriuos sužinojau iš 4000 rūdžių kūrėjų

Ar žinote, kad dauguma „Rust“ programuotojų dirba su interneto programomis? ? Rūdys yra iššūkis, bet ir naudingas bei puikus malonumas! Sužinokite „Rust“ pavyzdžiu arba atidarykite šią „GitHub“ atsarginę kopiją, kad pradėtumėte naudoti „VSCode“.

Rūdys yra viena iš karščiausių? programavimo kalbos šiandien. Tai yra mėgstamiausia „StackOverflow“ programavimo kalba per pastaruosius 4 metus. Vis dėlto ji vis dar turi alfa geeks programavimo kalbos reputaciją.

Kai kuriais vertinimais visame pasaulyje yra 600 000 „Rust“ kūrėjų, o tai yra nemažas skaičius. Tačiau jis vis dar yra nykštukas, palyginti su dešimtimis milijonų „JavaScript“, „Java“ ir „Python“ kūrėjų.

Kas yra tie „Rust“ kūrėjai? Kam jie naudoja „Rust“? Kodėl jie taip myli Rustą? Ir svarbiausia, kaip jūs prisijungiate prie jų gretų ir patys įsitikinate, kodėl Rustas yra toks mylimas? Nepalikite.

Siekdama atsakyti į šiuos klausimus, „Rust“ bendruomenė nuo 2016 m. Kasmet rengė kūrėjų apklausas svetainėje rust-lang.org. Svetainė neseniai paskelbė 2019 m. Apklausos rezultatus, pagrįstus beveik 4000 „Rust“ kūrėjų atsakymais. Čia yra 8 geriausi dalykai, kuriuos sužinojau iš apklausos.

??‍? „Rust“ skirtas profesionaliems programuotojams

Programavimo kalba „Rust“ nėra sukurta taip, kad ją būtų „lengva pradėti“. Veikiau jis sukurtas taip, kad būtų galingas ir tuo pat metu saugus. Ji siekia būti profesionalių programuotojų kūrėjų produktyvumo kalba. Tai sudėtinga, smagu ir naudinga. Tai rodo apklausa.

Labai mažai respondentų save vadina „Rust“ ekspertais. Daugelis žmonių savo „Rust“ patirtį vertina kaip 7/10 ar mažiau, nepaisant to, kad daugiau nei 68% jų kas savaitę rašo „Rust“ kodą. Tai aiškiai kalba, kurios mokėjimas ir tobulinimas reikalauja laiko.

Maždaug 37% „Rust“ vartotojų pasijuto produktyvūs „Rust“ per mažiau nei mėnesį naudojimo - tai per daug nesiskiria nuo praėjusių metų procento (40%). Pirmaisiais metais produktyviai jautėsi daugiau nei 70 proc. Deja, kaip ir praėjusiais metais, tarp vartotojų vis dar vyksta kova - 21% teigė, kad dar nesijautė produktyvūs.

Tuo pačiu metu, kai paklausta, kodėl nenaudojant „Rust“ kai kuriuose projektuose, mokymosi kreivė nurodoma kaip dažniausia priežastis. Pagrindinė priežastis, be abejo, yra įmonės sprendimas, ar projekte naudoti tam tikrą programavimo kalbą.

? Dokumentai yra nepaprastai svarbūs priimant

Kaip kūrėjai įveikia Rusto mokymosi kreivę ir ją įsimyli? Na, ir netikėtai dauguma kūrėjų kaip „tvarkyklę“ nurodė „geresnę dokumentaciją“.

Tiesa, „profesionaliems programuotojams“ ieškomiausia „Rust“ dokumentacija yra vidutinio lygio turinys, padedantis kūrėjams tobulinti „Rust“ įgūdžius ir produktyvumą.

Nors apklausa nukreipta į kūrėjus, kurie jau žinojo „Rust“ pagrindus, panašu, kad šioje minioje jaučiamas žinių ir savęs tobulinimo troškulys.

? Kūrėjai nenori teksto

Tradicinę programinės įrangos dokumentaciją paprastai sudaro visos knygos ir svetainės. Naujos kūrėjų kartos nori daugiau ir geresnių dokumentų. Kaip „nauja“ kalba, „Rust“ jau yra pirmaujanti programavimo kalbos dokumentacijos naujovė.

Pavyzdžiui, „Rust“ kompiliatorius yra savęs dokumentavimo įrankis. Viena unikaliausių ir mėgstamiausių „Rust“ savybių yra agresyvus kompiliatorius, kuris padeda jums užtikrinti teisingumą ir saugumą dar nepaleidus programos. Todėl „Rust“ kūrėjai gali rašyti labai našias, tačiau saugias programas.

Kai „Rust“ susiduriate su kompiliavimo klaida, kompiliatorius pateikia jums klaidos paaiškinimą ir pasiūlymus, kaip ištaisyti klaidą, atsižvelgiant į jūsų programos kontekstą.

Šis „GitHub“ starterio projektas padės jums pradėti naudoti „Rust“ kompiliatorių ir „Cargo“ sistemą, nereikia įdiegti jokios programinės įrangos įrankių grandinės. VSCode internetinę IDE galite naudoti tiesiogiai su šiuo projektu.

„Rust“ dokumentacijos interneto svetainėse, tokiose kaip „docs.rs“ ir „Rust by Example“ (ir jos išplėstinis leidimas), „Rust Playground“ naudojama paleisti „Rust“ pavyzdžio kodą tiesiai iš naršyklės. Tos interaktyvios knygos yra daug geresnės nei paprastas tekstas.

Tačiau, kaip paaiškėjo apklausoje, kūrėjai nori daugiau. Kūrėjai ištroškę, pavyzdžiui, daugiau vaizdo įrašų turinio. Netrukus galime tikėtis daugiau koduojančių vaizdo įrašų ir tiesioginių transliacijų iš bendruomenės.

? ️ Daugelis žmonių naudoja „Rust“ žiniatinklio programoms, srsly!

Kaip sistemos lygio kalba, skirta pakeisti C ir C ++, dauguma žmonių daro prielaidą, kad „Rust“ būtų naudojama programuojant infrastruktūrą, pvz., Operacinėse sistemose, gimtosiose bibliotekose ir vykdymo laiko platformose.

Vis dėlto apklausa aiškiai rodo, kad didžiąja dalimi dauguma „Rust“ kūrėjų šiandien dirba su žiniatinklio programų vidaus programomis. Nenuostabu, kad tokios dėžutės kaip „Hyper“, „actix-web“ ir „Rocket“ yra vienos populiariausių tarp „Rust“ kūrėjų.

Be abejo, dauguma programinės įrangos kūrėjų dirba su interneto programomis. Nenuostabu, kad, kai „Rust“ įgyja pagrindinį pritaikymą, „Rust“ projektai atspindės didesnę programinės įrangos pramonę.

Tačiau tai suteikia galimybių projektams ir įrankiams, kurie „Rust“ integruoja į populiarius žiniatinklio programų vykdymo laikus. Pavyzdžiui, hibridinės programos „Rust + JavaScript“ metodas įgauna pagreitį.

? „Blockchain“ yra surūdijęs židinys

Kalbant apie infrastruktūros programinę įrangą, „Rust“ iš tikrųjų spindi kaip „blockchain“ sistemų programavimo kalba.

Visų su programine įranga susijusių pramonės sektorių apklausa rodo, kad „blockchain“ užima tik 35 vietą visiems programinės įrangos kūrėjams, bet 11 vietą „Rust“ kūrėjams. Tai yra nemaža dalis dėl agresyvaus „Rust“ pritaikymo dideliuose „blockchain“ projektuose, tokiuose kaip „Polkadot / Substrate“, „Oasis“, „Solana“, „Second State“ ir kt.

Daugeliu atžvilgių „blockchains“ puikiai tinka „Rust“. „Blockchains“ atstovauja bendruomenės pastangoms decentralizuotai atstatyti interneto infrastruktūrą. Jiems reikalinga aukštos kokybės programinė įranga, kuri taip pat yra labai saugi. Jei jus domina „blockchain“ inžinieriaus karjera, „Rust“ šiandien yra būtinas įgūdis.

Rūdys ❤️ WebAssembly

Apklausa atskleidžia, kad „WebAssembly“ yra populiari „Rust“ programų vykdymo trukmės aplinka. „Rust“ ir „WebAssembly“ buvo išrasti „Mozilla“.

„Rust“ yra orientuotas į našumą ir atminties saugumą, o „WebAssembly“ - į našumą ir vykdymo laiką. Kaip „Runtime“ talpyklą „WebAssembly“ taip pat padaro „Rust“ programas įvairiomis platformomis ir lengviau valdomas. Tarp šių dviejų technologijų tikrai yra daug sinergijos.

„WebAssembly“ iš pradžių buvo išrastas kaip kliento virtuali mašina naršyklės programoms paleisti. Bet kaip „Java“ ir „JavaScript“ prieš tai, „WebAssembly“ dabar perkelia iš kliento pusės į serverio pusę.

„Rust-in-WebAssembly“ rodo geresnę tendenciją spartinti „Rust“ pritaikymą pagalbinėse žiniatinklio programose. Šioje „GitHub“ saugykloje galite pradėti nuo „Rust“ ir „WebAssembly“ programų kūrimo iš starterio projekto.

? Įsijungia asinchroninis programavimas

Pastaraisiais metais dvi naujos programavimo kalbos įgijo didelį palaikymą tarp kūrėjų. Vienas yra „Rust“, o kitas - „Go“. Didelė jų sėkmės dalis yra jų pranašumas palaikant programavimo modelius.

Tiesą sakant, ankstyvas „Rust“ ženklas yra „bebaimis sutapimas“. Tai žada kūrėjų našumą rašant asinchronines daugiasluoksnes programas, optimizuotas šiandieninėms daugelio branduolių procesoriaus architektūroms. Kaip parodė „Node.js“, paprastas asinchroninis programavimas yra labai svarbus kalbos ar sistemos sėkmei serverio pusėje.

Apklausa rodo, kad 4 iš 10 svarbiausių „Rust“ dėžučių (ty trečiųjų šalių bibliotekos), tokio, async, ateities ir hiper, yra asinchroninių kelių gijų programų pagrindai.

? R, „Python“ ir „JavaScript“

Augant „Rust“ įsisavinimui, kūrėjai vis dažniau turi integruoti „Rust“ programas su kitomis kalbomis parašytomis programomis. Anksčiau C ir C ++ buvo dažniausiai vartojamos „Rust“ kalbos, nes visos jos naudojamos infrastruktūros programinės įrangos projektuose.

Kai „Rust“ išauga į taikomosios programinės įrangos projektus, dabar reikia daugiau kalbos sąsajų ir tiltų. Geras pavyzdys yra „Rust JavaScript“ tiltas, palaikantis „Rust“ funkcijas „Node.js“ programose.

Apklausa parodė, kad be „C / C ++“ ir „JavaScript“, „Rust“ kūrėjai yra suinteresuoti integruotis su „R“ ir „Python“. Tai rodo kūrėjo susidomėjimą mašininio mokymosi, didžiųjų duomenų ir dirbtinio intelekto (AI) programomis. Tiesą sakant, daugelis „Python“ ir „R“ mašininio mokymosi ir statistikos paketų yra įdiegti vietiniuose dvejetainiuose moduliuose.

„Rust“ yra viena iš geriausių programavimo kalbų, leidžiančių rašyti gimtąjį modulį. Šis pavyzdys rodo, kaip naudoti „Rust“, norint vykdyti „Tensorflow“ modelius programoje „Node.js“. Ateityje mes numatome, kad tokie „Rust“ moduliai veiktų didelio našumo valdomuose konteineriuose, tokiuose kaip „WebAssembly“.

Išvada

2019 m. „Rust“ buvo augimo ir laipsniško tobulėjimo metai. Kai „Rust“ tampa pagrindine programavimo kalba, laukiame daugiau dokumentų, daugiau įrankių, daugiau palaikymo ekosistemose, daugiau sąveikumo su kitomis kalbomis ir švelnesnės mokymosi kreivės.

Ir visų svarbiausia, mes norime susirasti daugiau draugų ir smagiai praleisti laiką su mėgstamiausia programavimo kalba pasaulyje!

Apie autorių

Dr. Michaelas Yuanas yra 5 knygų apie programinės įrangos inžineriją autorius. Jo naujausią knygą „Building Blockchain Apps“ išleido Addison-Wesley 2019 m. Gruodžio mėn. Dr. Yuanas yra antrosios valstybės, VC finansuojamo startuolio, kuris „WebAssembly“ ir „Rust“ technologijas įtraukia į debesų, „blockchain“ ir AI programas, įkūrėjas. Tai leidžia kūrėjams įdiegti greitas, saugias, nešiojamas ir be serverio „Rust“ funkcijas „Node.js“.

Iki antrosios valstijos daktaras Yuanas ilgą laiką buvo „Red Hat“, „JBoss“ ir „Mozilla“ atvirojo kodo bendradarbis. Už programinės įrangos ribų dr. Yuanas yra pagrindinis Nacionalinių sveikatos institutų tyrėjas, daugybę apdovanojimų dėl vėžio ir visuomenės sveikatos tyrimų. Jis turi astrofizikos mokslų daktaro laipsnį Teksaso universitete Ostine.