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.