Prvých 8 vecí, ktoré som sa naučil od 4 000 vývojárov hrdze

Viete, že väčšina programátorov Rust pracuje na webových aplikáciách? ? Hrdza je náročná, ale aj obohacujúca a skvelá zábava! Naučte sa Rust príkladom alebo? Otvorte toto repo GitHub a začnite vo VSCode.

Hrdza je jednou z najteplejších? programovacie jazyky dnes. Je to najobľúbenejší programovací jazyk StackOverflow za posledné 4 roky. Napriek tomu má stále povesť programovacieho jazyka pre alfa geekov.

Podľa istého odhadu existuje na celom svete 600 000 vývojárov Rust, čo je značné množstvo. Ale v porovnaní s desiatkami miliónov vývojárov JavaScriptu, Javy a Pythonu je stále zakrpatený.

Kto sú tí vývojári Rustu? Na čo používajú Rust? Prečo tak milujú Rust? A čo je najdôležitejšie, ako sa pridáte k ich radom a sami uvidíte, prečo je Rust taký milovaný? Nezostávajte pozadu.

S cieľom odpovedať na tieto otázky komunita Rust uskutočňovala každoročné prieskumy vývojárov od rust-lang.org od roku 2016. Stránka nedávno zverejnila výsledky prieskumu z roku 2019 na základe odpovedí takmer 4 000 vývojárov Rust. Tu je 8 najdôležitejších vecí, ktoré som sa z prieskumu dozvedel.

??‍? Rust je pre profesionálnych programátorov

Programovací jazyk Rust nie je navrhnutý tak, aby bol „ľahký na začiatok“. Je navrhnutý skôr tak, aby bol výkonný a bezpečný súčasne. Jeho cieľom je byť jazykom produktivity vývojárov pre profesionálnych programátorov. Je to náročné, zábavné a prínosné. To ukazuje prieskum.

Len veľmi málo respondentov si hovorí Rust experti. Väčšina ľudí hodnotí svoje znalosti Rust na úrovni 7/10 alebo menej, a to napriek skutočnosti, že viac ako 68% z nich píše Rust kód týždenne. Jednoznačne je to jazyk, ktorý si vyžaduje čas na zvládnutie a vyniknutie.

Asi 37% používateľov systému Rust sa cítilo produktívnych v spoločnosti Rust za menej ako mesiac používania - to sa príliš nelíši od percenta v minulom roku (40%). Viac ako 70% sa v prvom roku cítilo produktívnych. Rovnako ako minulý rok, bohužiaľ, medzi používateľmi stále pretrváva boj - 21% uviedlo, že sa ešte necítia produktívni.

Zároveň sa na otázku, prečo nepoužívať Rust na niektorých projektoch, uvádza krivka učenia ako najbežnejší dôvod č. Dôvodom č. 1 je samozrejme rozhodnutie spoločnosti, či v projekte použije konkrétny programovací jazyk.

? Dokumentácia je pre prijatie zásadná

Ako vývojári prekonajú Rustovu krivku učenia a zamilujú si ju? Nie je to nič neočakávané, ale väčšina vývojárov uviedla ako dôvod prijatia „lepšiu dokumentáciu“.

Ale pre „profesionálnych programátorov“ je najvyhľadávanejšou dokumentáciou Rustu obsah na strednej úrovni, ktorý pomáha vývojárom zlepšovať ich zručnosti a produktivitu Rust.

Aj keď je prieskum zaujatý voči vývojárom, ktorí už poznali základy Rustu, zdá sa, že v tomto dave existuje túžba po vedomostiach a sebazdokonaľovaní.

? Vývojári nechcú zväzky textu

Tradičná dokumentácia k softvéru zvyčajne pozostáva z celých kníh a webových stránok. Nové generácie vývojárov chcú viac a lepšiu dokumentáciu. Ako „nový“ jazyk Rust už vedie inováciu, pokiaľ ide o dokumentáciu programovacieho jazyka.

Napríklad kompilátor Rust je dokumentačný nástroj. Jednou z najunikátnejších a najobľúbenejších funkcií Rustu je jeho agresívny kompilátor, ktorý vám pomáha zabezpečiť správnosť a bezpečnosť ešte predtým, ako program vôbec beží. Vďaka tomu môžu vývojári Rustu písať vysoko výkonné a zároveň bezpečné programy.

Keď narazíte na chybu pri kompilácii v systéme Rust, kompilátor vám poskytne okamžité vysvetlenie chyby a návrhy, ako chybu opraviť na základe kontextu vášho programu.

Tento štartovací projekt v GitHube vám umožní začať s kompilátorom Rust a systémom Cargo bez toho, aby ste museli inštalovať akýkoľvek softvérový reťazec nástrojov. Online IDE VSCode môžete použiť priamo s týmto projektom.

Webové stránky s dokumentáciou Rust, ako sú docs.rs a Rust by Example (a jeho rozšírené vydanie), používajú Rust Playground na spustenie ukážkového kódu Rust priamo z prehliadača. Tieto interaktívne knihy sú oveľa lepšie ako jednoduchý text.

Ako však vyplýva z prieskumu, vývojári chcú viac. Vývojári túžia napríklad po väčšom videoobsahu. Už čoskoro sa môžeme tešiť na ďalšie kódovacie videá a priame prenosy z komunity.

? ️ Väčšina ľudí používa Rust na webové aplikácie, srsly!

Ako jazyk na systémovej úrovni, ktorý má nahradiť C a C ++, väčšina ľudí predpokladá, že Rust by sa používal v programovaní infraštruktúry, ako sú operačné systémy, natívne knižnice a runtime platformy.

Prieskum však jasne ukazuje, že väčšina vývojárov Rustu dnes s veľkou rezervou pracuje na backendoch webových aplikácií. Niet divu, že debny ako hyper, actix-web a Rocket patria medzi najobľúbenejšie medzi vývojármi Rustu.

Väčšina softvérových vývojárov pre istotu pracuje na webových aplikáciách. Nie je prekvapením, že keď si spoločnosť Rust získa mainstreamovú adopciu, budú projekty Rust odzrkadľovať väčší softvérový priemysel.

To však predstavuje príležitosti pre projekty a nástroje, ktoré integrujú Rust do runtime populárnych webových aplikácií. Napríklad prístup hybridných aplikácií Rust + JavaScript naberá na obrátkach.

? Blockchain je Rusty pařenisko

Pokiaľ ide o infraštruktúrny softvér, Rust skutočne svieti ako programovací jazyk pre blockchainové systémy.

Z prieskumu vo všetkých priemyselných odvetviach súvisiacich so softvérom vyplýva, že blockchain je iba na 35. mieste pre všetkých vývojárov softvéru, ale na 11. mieste pre vývojárov Rust. To nie je z ničoho nič kvôli agresívnemu prijatiu Rustu veľkými blockchainovými projektmi ako Polkadot / Substrate, Oasis, Solana a Second State atď.

V mnohých ohľadoch sú blockchainy ideálne vhodné pre Rust. Blockchainy predstavujú snahu komunity decentralizovaným spôsobom znovu vybudovať internetovú infraštruktúru. Vyžadujú vysoko výkonný softvér, ktorý je tiež veľmi bezpečný. Ak sa zaujímate o kariéru blockchainového inžiniera, dnes je Rust nevyhnutnosťou.

Rust ❤️ WebAssembly

Z prieskumu vyplýva, že WebAssembly je populárnym runtime prostredím pre programy Rust. Rust a WebAssembly boli vymyslené v Mozille.

Rust je zameraný na výkon a bezpečnosť pamäte, zatiaľ čo WebAssembly je zameraný na výkon a bezpečnosť pri behu. WebAssembly ako runtime kontajner umožňuje, aby boli programy Rust naprieč platformami a lepšie spravovateľné. Medzi týmito dvoma technológiami skutočne existuje veľká synergia.

WebAssembly bol pôvodne vynájdený ako virtuálny stroj na strane klienta na spúšťanie aplikácií v prehliadači. Ale ako Java a JavaScript pred tým, WebAssembly teraz vykonáva migráciu z klientskej strany na serverovú stranu.

Zostava Rust-in-WebAssembly je v súlade s trendom urýchľovania prijatia Rustu na webových aplikáciách typu backend. S vývojom aplikácií Rust a WebAssembly môžete začať zo štartovacieho projektu v tomto úložisku GitHub.

? Asynchrónne programovanie sa rozbieha

V posledných rokoch sa medzi vývojármi výrazne prejavili dva nové programovacie jazyky. Jedným je Rust a druhým Go. Veľkou časťou ich úspechu je vynikajúca podpora modelov súbežného programovania.

V skutočnosti je skorým sloganom Rust „nebojácna súbežnosť“. Sľubuje produktivitu vývojárov pri písaní asynchrónnych viacvláknových programov optimalizovaných pre dnešné architektúry viacjadrových procesorov. Ako demonštroval Node.js, ľahké asynchrónne programovanie je zásadné pre úspech jazyka alebo rámca na strane servera.

Prieskum ukázal, že 4 z 10 najdôležitejších prepraviek Rust (tj. Knižnice tretích strán), tokio, async, futures a hyper, sú rámcami pre asynchrónne aplikácie s viacerými vláknami.

? R, Python a JavaScript

S rastúcim prijatím Rustu musia vývojári čoraz viac integrovať Rust programy s programami napísanými v iných jazykoch. V minulosti boli C a C ++ najbežnejšími jazykmi, ktoré „hovorili“ s Rustom, pretože sa všetky používajú v projektoch softvérového vybavenia infraštruktúry.

S rastom Rustu na projekty aplikačného softvéru je teraz potrebných viac rozhraní a mostov na jazykovej úrovni. Dobrým príkladom je most Rust JavaScript, ktorý podporuje funkcie Rust v aplikáciách Node.js.

Prieskum zistil, že okrem C / C ++ a JavaScriptu majú vývojári Rustu záujem aj o integráciu s R a Python. To naznačuje záujmy vývojárov v oblasti strojového učenia, veľkých dát a aplikácií umelej inteligencie (AI). V skutočnosti je veľa natívnych a štatistických balíkov Pythonu a R implementovaných v natívnych binárnych moduloch.

Rust je jedným z najlepších programovacích jazykov na písanie natívnych modulov. Tento príklad ukazuje, ako používať Rust na vykonávanie modelov Tensorflow v aplikácii Node.js. V budúcnosti si predstavujeme také moduly Rust, ktoré budú bežať vo vysoko výkonných spravovaných kontajneroch, ako je WebAssembly.

Záver

Rok 2019 bol pre spoločnosť Rust rokom rastu a postupného zlepšovania. Keď sa Rust stane hlavným programovacím jazykom, tešíme sa na ďalšiu dokumentáciu, viac nástrojov, väčšiu podporu ekosystémov, väčšiu interoperabilitu s inými jazykmi a jemnejšiu krivku učenia.

A čo je najdôležitejšie zo všetkého, túžime nadviazať ďalšie priateľstvá a zabaviť sa s najobľúbenejším programovacím jazykom na svete!

O autorovi

Dr. Michael Yuan je autorom 5 kníh o softvérovom inžinierstve. Jeho posledná kniha Building Blockchain Apps bola publikovaná spoločnosťou Addison-Wesley v decembri 2019. Dr. Yuan je spoluzakladateľom Second State, startupu financovaného VC, ktorý prináša technológie WebAssembly a Rust do cloudových, blockchainových a AI aplikácií. Umožňuje vývojárom nasadiť rýchle, bezpečné, prenosné a serverové funkcie Rust na serveri Node.js.

Pred druhým štátom bol Dr. Yuan dlhoročným prispievateľom do open source zdrojov v Red Hat, JBoss a Mozilla. Okrem softvéru je Dr. Yuan hlavným výskumným pracovníkom v Národných inštitútoch zdravia s mnohými oceneniami v oblasti výskumu rakoviny a výskumu verejného zdravia. Je doktorom astrofyziky na University of Texas v Austine.