A legjobb 8 dolog, amit 4000 Rust fejlesztőtől tanultam

Tudja, hogy a legtöbb Rust programozó webalkalmazásokon dolgozik? ? A Rust kihívást jelent, ugyanakkor kifizetődő és nagyon szórakoztató! Tanulja meg a Rust példával, vagy? Nyissa meg ezt a GitHub repót a VSCode használatához.

A rozsda az egyik legforróbb? programozási nyelvek ma. Ez a StackOverflow legkedveltebb programnyelve az elmúlt 4 évben. Mégis, az alfa geekek programnyelveként még mindig híres.

Bizonyos becslések szerint 600 000 Rust fejlesztő van világszerte, ami jelentős szám. De még mindig eltörpül, ha összehasonlítjuk a JavaScript, Java és Python fejlesztők tízmillióival.

Kik azok a Rust fejlesztők? Mire használják a Rustot? Miért szeretik annyira Rustot? És ami a legfontosabb, hogyan csatlakozhatsz a soraikhoz, és meggyőződhetsz arról, miért Rust annyira szeretett? Ne maradjon le.

E kérdések megválaszolása érdekében a Rust közösség 2016 óta éves fejlesztői felméréseket végzett a rust-lang.org webhelyről. A webhely nemrégiben közzétette 2019-es felmérési eredményeit közel 4000 Rust fejlesztő válaszai alapján. Íme a top 8 dolog, amit a felmérésből tanultam.

??‍? A Rust professzionális programozóknak szól

A Rust programozási nyelvet nem úgy tervezték, hogy „könnyen elinduljon”. Inkább úgy tervezték, hogy egyszerre legyen erőteljes és biztonságos. Célja a professzionális programozók fejlesztői produktivitási nyelve. Kihívó, szórakoztató és kifizetődő. Ez a felmérésből kiderül.

Nagyon kevés válaszadó nevezi magát Rust szakértőként. A legtöbben 7/10-ig vagy annál alacsonyabbra értékelik a Rust-szakértelmet, annak ellenére, hogy több mint 68% -uk heti rendszerességgel írja a Rust-kódot. Ez egyértelműen olyan nyelv, amelynek elsajátítása és kiemelkedése időbe telik.

A Rust felhasználók mintegy 37% -a érezte produktívnak a Rustot kevesebb, mint egy hónapos használat alatt - ez nem különbözik túlságosan a tavalyi százaléktól (40%). Az első évben több mint 70% produktívnak érezte magát. Sajnos, a tavalyi évhez hasonlóan, továbbra is küzdelem folyik a felhasználók között - 21% jelezte, hogy még nem érezte magát produktívnak.

Ugyanakkor arra a kérdésre, hogy miért nem használja a Rust néhány projekten, a tanulási görbét a 2. leggyakoribb okként említik. Az első számú ok természetesen a vállalat döntése, hogy egy adott programozási nyelvet használ-e egy projektben.

? A dokumentáció kritikus az elfogadás szempontjából

Hogyan tudják a fejlesztők legyőzni Rust tanulási görbéjét és megszeretni? Nos, nem váratlanul a legtöbb fejlesztő a „jobb dokumentációt” említette az elfogadás vezérlőként.

De a „professzionális programozókhoz” híven a legkeresettebb Rust dokumentáció a középszintű tartalom, amely segíti a fejlesztőket a Rust készségek és termelékenység javításában.

Bár a felmérés olyan fejlesztők felé irányul, akik már ismerték a Rust alapjait, úgy tűnik, hogy ebben a tömegben szomja van a tudásra és az önfejlesztésre.

? A fejlesztők nem akarnak szöveget

A hagyományos szoftverdokumentáció általában egész könyvekből és weboldalakból áll. A fejlesztők új generációi több és jobb dokumentációt szeretnének. „Rust”, mint „új” nyelv, már a programnyelv-dokumentáció terén is vezeti az innovációt.

Például a Rust fordító egy öndokumentáló eszköz. A Rust egyik legegyedibb és legkedveltebb tulajdonsága az agresszív fordító, amely segít a helyesség és biztonság biztosításában, még a program futtatása előtt. Ennek eredményeként a Rust fejlesztői nagy teljesítményű, mégis biztonságos programokat írhatnak.

Amikor fordítási hibával találkozik a Rustban, a fordító azonnali magyarázatot ad a hibára, és javaslatokat ad a hiba kijavítására a program kontextusa alapján.

Ez a GitHub indító projekt elindítja a Rust fordítóval és a Cargo rendszerrel anélkül, hogy bármilyen szoftvereszközt kellene telepítenie. A VSCode online IDE közvetlenül használható ezzel a projekttel.

A Rust dokumentációs webhelyek, például a docs.rs és a Rust by Example (és annak kibővített kiadása) a Rust Playground segítségével futtatják a Rust példa kódot közvetlenül a böngészőből. Azok az interaktív könyvek sokkal jobbak, mint az egyszerű szövegek.

A felmérésből kiderül azonban, hogy a fejlesztők többet akarnak. A fejlesztők szomjaznak például több videotartalmat. Hamarosan várhatunk további kódoló videókat és élő közvetítéseket a közösségtől.

? ️ A legtöbb ember a Rust webes alkalmazásokhoz használja, srsly!

A C és C ++ helyettesítésére szolgáló rendszerszintű nyelvként a legtöbben azt feltételezik, hogy a Rust az infrastruktúra programozásában használatos, például operációs rendszerekben, natív könyvtárakban és futásidejű platformokban.

Mégis, a felmérés egyértelműen azt mutatja, hogy nagy különbséggel a legtöbb Rust fejlesztő manapság webalkalmazás-háttereken dolgozik. Nem csoda, hogy az olyan ládák, mint a hyper, az actix-web és a Rocket, a Rust fejlesztői körében a legnépszerűbbek.

Az biztos, hogy a legtöbb szoftverfejlesztő webalkalmazásokon dolgozik. Nem meglepő, hogy a Rust általánosan elfogadottá válva a Rust projektek a nagyobb szoftveripart tükrözik.

Ez azonban lehetőséget kínál olyan projektekre és eszközökre, amelyek integrálják a Rustot a népszerű webalkalmazások futásidejébe. Például a Rust + JavaScript hibrid alkalmazás megközelítés lendületet vesz.

? A Blockchain egy rozsdás melegágy

Ha az infrastrukturális szoftverekről van szó, a Rust valóban a blockchain rendszerek programozási nyelveként ragyog.

Az összes szoftverrel kapcsolatos ipari ágazat esetében a felmérés azt mutatja, hogy a blockchain csak a 35. helyet foglalja el az összes szoftverfejlesztőnél, a 11. a Rust fejlesztőknél. Ez nem kis részben annak köszönhető, hogy a nagy blokklánc-projektek - például a Polkadot / Substrate, az Oasis, a Solana és a Second State stb. - agresszív rozsdát alkalmaznak.

Sok szempontból a blokkláncok tökéletesen megfelelnek a Rustnak. A blokkláncok képviselik a közösségi erőfeszítéseket az internetes infrastruktúra decentralizált módon történő újjáépítésére. Nagy teljesítményű szoftvert igényelnek, amely szintén nagyon biztonságos. Ha érdekel egy blockchain mérnök karrier, akkor a Rust ma már elengedhetetlen képesség.

Rozsda ❤️ Webszerelés

A felmérésből kiderül, hogy a WebAssembly a Rust programok népszerű futásidejű környezete. A Rustot és a WebAssemblyt egyaránt a Mozilla találta ki.

A Rust a teljesítményre és a memória biztonságára, míg a WebAssembly a teljesítményre és a futásidejű biztonságra összpontosít. Futásidejű tárolóként a WebAssembly a Rust programokat platformokon átívelővé és jobban kezelhetővé is teszi. A két technológia között valóban sok a szinergia.

A WebAssemblyt eredetileg kliensoldali virtuális gépként találták ki a böngészőben lévő alkalmazások futtatására. De a Java és a JavaScript előtte a WebAssembly most áttér az ügyfél oldalról a szerver oldalra.

A Rust-in-WebAss Assembly jó előrejelzést mutat a háttér-webes alkalmazások Rust-alkalmazásának felgyorsításával. A Rust és a WebAssembly alkalmazás fejlesztésével el lehet kezdeni egy indító projektet ebben a GitHub-tárban.

? Az aszinkron programozás elindul

Az elmúlt években két új programozási nyelv kapott jelentős visszahúzást a fejlesztők körében. Az egyik Rust, a másik pedig a Go. Sikereik nagy része a párhuzamos programozási modellek kiemelkedő támogatása.

Valójában a Rust korai taglime "félelem nélküli egyidejűség". Fejlesztői termelékenységet ígér aszinkron többszálú programok írásában, optimalizálva a mai többmagos CPU-architektúrákhoz. Amint a Node.js bebizonyította, az egyszerű aszinkron programozás kulcsfontosságú a nyelv vagy a keretrendszer sikere szempontjából a szerver oldalon.

A felmérés azt mutatja, hogy a 10 legfontosabb Rust láda (azaz harmadik fél könyvtárai) közül 4, a tokio, az aszinkron, a futures és a hyper az aszinkron többszálas alkalmazások keretrendszere.

? R, Python és JavaScript

A Rust elfogadásának növekedésével a fejlesztőknek egyre inkább integrálniuk kell a Rust programokat más nyelveken írt programokkal. Korábban a C és a C ++ volt a leggyakoribb nyelv, amellyel „beszélgettek” Rusttal, mivel ezeket mind infrastrukturális szoftver projektekben használják.

Ahogy a Rust alkalmazásszoftver-projektekké nő, most több nyelvi szintű interfészre és hídra van szükség. Jó példa erre a Rust JavaScript híd, amely támogatja a Rust funkciókat a Node.js alkalmazásokban.

A felmérésből kiderült, hogy a C / C ++ és a JavaScript mellett a Rust fejlesztői érdekeltek az R és a Python integrálásában. Ez jelzi a fejlesztő érdeklődését a gépi tanulás, a big data és a mesterséges intelligencia (AI) alkalmazások iránt. Valójában sok Python és R gépi tanulási és statisztikai csomag natív bináris modulokban valósul meg.

A Rust az egyik legjobb programozási nyelv natív modulok írásához. Ez a példa bemutatja, hogyan lehet a Rust használatával végrehajtani a Tensorflow modelleket egy Node.js alkalmazásban. A jövőben ilyen Rust modulokat tervezünk nagy teljesítményű, felügyelt tárolókban, például a WebAssemblyben futtatni.

Következtetés

2019 a növekedés és a fokozatos fejlesztések éve volt a Rust számára. Amint a Rust a mainstream programozási nyelvvé válik, több dokumentációt, több eszközt, nagyobb ökoszisztéma-támogatást, nagyobb interoperabilitást kínálunk más nyelvekkel és egy szelídebb tanulási görbét.

És ami a legfontosabb, nagyon szeretnénk még több barátot szerezni és szórakozni a világ legkedveltebb programnyelvével!

A szerzőről

Dr. Michael Yuan 5 szoftvertechnikai könyv szerzője. Az Building Blockchain Apps legújabb könyvét az Addison-Wesley adta ki 2019 decemberében. Dr. Yuan társalapítója a Second State nevű, VC által finanszírozott startupnak, amely a WebAssembly és a Rust technológiákat felhő, blockchain és AI alkalmazásokba hozza. Lehetővé teszi a fejlesztők számára, hogy gyors, biztonságos, hordozható és szerver nélküli Rust funkciókat telepítsenek a Node.js-re.

A második állam előtt Dr. Yuan hosszú ideje nyílt forráskódú munkatárs volt a Red Hat, a JBoss és a Mozilla munkatársainál. A szoftveren kívül Dr. Yuan az Országos Egészségügyi Intézet vezető kutatója, több kutatási díjjal a rák és a közegészségügy területén. Asztrofizika doktorátust szerzett az Austini Texas Egyetemen.