Zeptej se dvou zkušených vývojářů v Rustu, jestli se jim vyplatilo Rust učit, a můžeš dostat úplně opačné odpovědi. Jeden ti řekne, že jeho kariéře nic nedal; druhý to může označit za jedno z nejlepších technických rozhodnutí, jaká kdy udělal. Oba můžou mít pravdu.
Právě v tomhle rozporu otázka „vyplatí se učit Rust“ doopravdy leží, a proto ti paušální ano k ničemu není. Rust je kompilovaný jazyk, jehož bezpečná podmnožina vynucuje pravidla bezpečnosti paměti při kompilaci, aniž by za běhu potřeboval garbage collector.
Takže se zavážu k odpovědi, pojmenuju podmínku, na které visí, a ukážu ti, kolik ta podmínka stojí.
Zkrácená verze
Rust se vyplatí učit, pokud stavíš něco dlouhodobého, kde se vyplatí platit za to, že kompilátor zachytí celou třídu chyb. Špatná volba je, pokud potřebuješ tento měsíc vydat CRUD aplikaci, učíš se programovat nebo počítáš pracovní inzeráty. 4 z 5, s odečtem za to, co stojí, než se začne vyplácet.
- Co kupuješ: v bezpečném Rustu mění pravidla vlastnictví a výpůjček chyby typu use-after-free, double-free, neplatné reference a data race v chyby při kompilaci místo incidentů v produkci. To je celé to lákadlo a je dobré.
- Co platíš: kompilátor tě nutí zapsat rozhodnutí o paměti, která tvůj současný jazyk dělá potichu, a zpočátku to působí, jako by nástroj jen zlobil.
- Otázka trvanlivosti je vyřešená. Správci jádra uzavřeli experiment s Rustem na Maintainers Summit v prosinci 2025 a štítek „experimentální“ zmizel v Linuxu 7.0.
- Otázka módy vyřešená není a je to jiná otázka. Rust je na #10 v zářijovém indexu TIOBE za rok 2026, o rok dříve byl na #18.
- Moje testovací služba v Rustu potřebovala ke kompilaci mnohem víc paměti než k běhu: při sestavování byla na vrcholu kolem 1 GB a za běhu v nečinnosti zhruba 3,5 MB.
- Pro tebe, pokud už vydáváš software v jiném jazyce a stavíš něco, kde by chyba v paměti byla drahá, nebo pracuješ blízko systémového softwaru. Ne pro tebe, pokud tě tlačí termín, začínáš od nuly nebo hledáš jazyk s nejvíce volnými místy.
Jak tato recenze vznikla: čísla o sestavení a běhu jsou tady moje. Nainstaloval jsem Rust 1.98.1, napsal malou webovou službu v Axum a změřil, co stála kompilace a co stál běh. Běželo to v izolovaném kontejneru, ne na dedikovaném hardwaru, a je to jeden projekt, takže ber čísla jako datový bod, ne jako zákon. Všechno ostatní pochází z primárních nebo autoritativních zdrojů: patch jádra a zpravodajství LWN o něm, bezpečnostní příspěvky Googlu k Androidu, vlastní index TIOBE (s dubnovým komentářem podle záznamu na Slashdot), Phoronix o slučovacím okně Linuxu 7.0, záznamy CVE linuxového jádra ke zranitelnosti v Binder, prohlášení samotné společnosti Canonical a průzkum Stack Overflow 2025. Patch jádra jsem četl. Kód v Rustu v jádře jsem neauditoval. A Rust nepíšu roky, takže tam, kde tato recenze hodnotí samotný jazyk, vychází z praktiků, kteří ano, a jmenuje je.
Co ti kompilátor dá
Dej v Rustu dvěma vláknům měnitelnou referenci na stejný vektor a kód se nezkompiluje. Žádné varování. Žádný lint, který můžeš potlačit, když hoří termín. Prostě se to nesestaví. To odmítnutí je to, co si v bezpečném Rustu kupuješ: chyby use-after-free, double-free, neplatné reference a data race se mění v chyby při kompilaci místo incidentů v produkci. Úniková cesta Rustu (unsafe) může některé z těchto záruk obejít, takže to není absolutní slib o každé kódové základně v Rustu.
Vlastnictví znamená, že každá hodnota má právě jednoho vlastníka, který odpovídá za její uvolnění. Výpůjčky znamenají, že můžeš půjčovat reference, ale kompilátor sleduje jejich životnost a nedovolí, aby některá přežila to, na co ukazuje, ani aby měnitelná výpůjčka existovala současně s jakoukoli jinou. V bezpečném Rustu zachytí chyby use-after-free, double-free, neplatné reference a data race systém vlastnictví a typů ještě před spuštěním programu.
Žádný garbage collector tu není, a to je druhá polovina dohody. Protože vlastnictví už určuje, kdo co a kdy uvolní, nic nemusí za běhu procházet tvou haldu. Dodáváš binárku bez collectoru uvnitř a nemusíš ladit kolem pauz.
Cena se objevuje na stejném místě jako záruka. Každé rozhodnutí o paměti, které tvůj současný jazyk potichu udělá za tebe, po tobě Rust chce zapsat: kdo tohle vlastní, jak dlouho žije tamta reference, jestli ji vidí ještě něco jiného a jestli překračuje hranici vlákna. Kompilátor nezlobí. Odmítá hádat.
Takže: tohle je důvod, proč kdokoli platí, co Rust žádá, a myslím, že obstojí. Pokud třída chyb, kterou odstraňuje, není třída, které se bojíš, zbytek této recenze tvůj názor nejspíš nezmění.
Je Rust pořád experimentální, nebo už je produkční infrastrukturou?
Experimentální být přestal v prosinci 2025 a ukončili to sami správci jádra. Na Maintainers Summit 2025 dospěli k závěru, že Rust si v jádře obhájil své místo, technicky i společensky. Jonathan Corbet z LWN o konsenzu informoval 10. prosince 2025: Rust v jádře už není experimentální.
Rust vstoupil do hlavní řady Linuxu ve verzi v6.1 v roce 2022 právě proto, aby ten experiment proběhl. Patch, kterým Miguel Ojeda štítek odstranil, přišel tři dny po Summitu a dostal se do slučovacího okna Linuxu 7.0.
„Ale experiment je u konce, tj. Rust tu zůstane.“
Miguel Ojeda, „rust: conclude the Rust experiment“, LKML, 13. prosince 2025
Samostatně a dříve: přepis ovladače Binder pro Android do Rustu od Googlu, tedy vrstvy IPC, přes kterou (neustále) komunikují procesy Androidu, se dostal do Linuxu 6.18, který vyšel 30. listopadu 2025. Drž tenhle milník odděleně od konsenzu na Summitu. Je to ten, kde firma vsadila dodávaný produkt na Rust v jádře, ne skupina správců, která žehná myšlence. Rust v jádře mezitím vyprodukoval své první CVE: CVE-2025-68260, souběh (race condition) v tomtéž ovladači Binder, který Greg Kroah-Hartman oznámil 16. prosince 2025, zavedený v 6.18 a opravený v 6.18.1. První zprávy se soustředily na pády, ale pozdější hodnocení týmu CVE linuxového jádra dává CVE-2025-68260 skóre 7,8 (vysoké) a popisuje cestu k lokální eskalaci oprávnění přes poškození paměti jádra. Stejný ovladač (rust_binder) od té doby nasbíral i další CVE.
Android je místo, kde důkazy dostávají čísla. Bezpečnostní blog Googlu v prosinci 2022 uvedl, že nebyla objevena žádná zranitelnost v bezpečnosti paměti v kódu Androidu psaném v Rustu, při zhruba 1,5 milionu řádků Rustu v AOSP a asi 21 % veškerého nového nativního kódu v Androidu 13. Je to tvrzení z roku 2022 s rozsahem roku 2022. Pozdější příspěvky Googlu ukazují dlouhodobější trend: problémy s bezpečností paměti tvořily 76 % zranitelností Androidu v roce 2019 a 24 % v roce 2024, přičemž jejich absolutní počet klesl z více než 220 na předpokládaných 36. Ta čísla dávají smysl jen proti výchozímu stavu, který nahradila, a tím jsou C a C++ psané velmi dobrými inženýry s velmi dobrými nástroji.
Stejným směrem ukazují dva menší signály. Ovladač GPU Apple AGX v Asahi Linux je napsaný v Rustu, a to projektem Asahi Linux v rámci reverzního inženýrství, nikoli společností Apple. Aktualizace rust-coreutils od Canonical uvádí, že Ubuntu 26.04 LTS dodává rust-coreutils 0.8.0 pro většinu utilit. Tři zůstávají u GNU coreutils (cp, mv, rm), protože k 22. dubnu 2026 bylo stále otevřeno osm problémů typu TOCTOU; Canonical pro zbývající utility míří na 26.10.
Tuhle osu bych hodnotil nejvýš a důvodem je druh závazku, o který jde. Správci jádra experimenty neodvolávají, Google nevrací přepis takové velikosti a Canonical nedává přepsané coreutils do LTS jen proto, aby viděl, jak to dopadne. Ať se s popularitou Rustu stane cokoli, někdo musí ten kód roky udržovat.
Je Rust mrtvý, nebo se jen stabilizuje?
Ne. Rust v lednu 2026 vyrovnal svou nejlepší pozici v TIOBE vůbec, #13. O tři měsíce později spadl zpět na #16 a generální ředitel TIOBE Paul Jansen v dubnu 2026 napsal v komentáři, který tehdy citoval Slashdot, že růst popularity Rustu „se zdá stabilizovat“ a že místo v top 10 „nyní vypadá vzdálenější než dřív“.
Popisoval, jak Rust dosáhl své nejvyšší pozice vůbec v jeho vlastním indexu, místa, které poprvé držel v červenci 2024, a pak ho zase ztratil.
Index TIOBE za září 2026 řadí Rust na #10, o rok dříve byl na #18, a to je výš než #13, kterou TIOBE v lednu označil za jeho nejvyšší pozici vůbec.
Můj pohled: plató bylo skutečné. Byla to vzduchová kapsa, ne strop. To je lepší než verze obou táborů, protože „Rust se zasekl“ je teď špatně a „Rust jde jen nahoru“ nikdy nebyla pravda.
Ta výhrada platí oběma směry a Slashdot na ni ve svém článku tehdy upozornil: nemohou žebříčky jen kolísat kvůli měsíčnímu šumu ve výsledcích vyhledávačů, což je přesně to, co index počítá? Pokud byl pokles o tři místa za čtvrtletí slabým důkazem, že Rust zpomaluje, je vzestup o šest míst stejně slabým důkazem, že vítězí. Ber to jako počasí, ne jako klima.
Silnějším signálem o náladách je průzkum Stack Overflow, kde je Rust opět nejobdivovanějším programovacím jazykem roku 2025 se 72 %: lidé, kteří ho za poslední rok používali a chtějí ho používat dál. To je záměr pokračovat, ne míra adopce, a pokud se rozhoduješ, jestli tě bude bavit u jazyka zůstat, je to tady užitečnější signál než holá popularita.
Momentum je nejednoznačné a dávám mu menší váhu než trvanlivosti výše, protože neinvestuješ do žebříčku.
Co tě učení Rustu bude stát
Náklady přijdou brzy a všechny najednou. Kód, který by Python, Java nebo C# ochotně spustily, je opakovaně odmítán z důvodů, které působí libovolně, dokud ti model vlastnictví nesepne, a odložit se to nedá. Kolem borrow checkeru se nedá prodrat prostým vydáváním kódu tak, jako se dá vydávat kód, aniž bys plně chápal svůj ORM.
Tady je část, která mě překvapila, a funguje obráceně, než bys čekal. Ve vlákně r/rust „Struggling to learn Rust“ odpověď s největším ohlasem přerámovává problém jako nezvyk, ne obtížnost, a vlákno ukazuje na zkušené vývojáře přicházející z jazyků s garbage collectorem jako na ty, kdo to mají těžší. u/Voxelman to říká přímo: „Rust není těžký. Je jiný.“ Ve stejném vlákně popisuje svou vlastní cestu: C64 Basic, pak řada imperativních jazyků a první setkání s Rustem, které „bylo všechno, jen ne WOW“, protože zbavit se starých návyků chvíli trvalo.
Takhle vypadá účet. Pokud osm let píšeš v Pythonu, neučíš se sadu pravidel, vzdáváš se sady předpokladů o tom, kdo po tobě uklízí. Kdo ví méně, má se méně co odnaučovat.
V tom vlákně se opakovaně objevuje ještě jeden vzorec a z chyby v pořadí dělá problém se sebedůvěrou: lidé se nezaseknou na Rustu, ale na výběru webového frameworku, když se snaží naučit jazyk přes Axum nebo Actix dřív, než jim dojde vlastnictví. Jak to vystihl u/jmartin2683, je to „jako snažit se naučit ruby tím, že se učíš rails.“
Většinu varování před náklady čtu tak, že míří na špatnou věc. Počítej s dlouhodobým cvičením, ne s víkendem, a nečti ranou frustraci jako verdikt nad svými schopnostmi.
Rust potřebuje na sestavení větší stroj než na běh
Tady je zjištění, které jsem nečekal: sestavení tohoto projektu v Rustu zabralo o řády víc paměti než jeho běh. Sestavil jsem malou službu v Axum (Tokio se sadou funkcí full plus serde, serde_json, tower, jedna JSON routa, asi 60 crates ve stromu závislostí) na rustc a cargo 1.98.1, s strip = true v release profilu, a pak ji dvakrát sestavil načisto:
# constrained: one compile job at a time
cargo build --release --jobs 1
# unconstrained: default parallelism, 4 vCPUs available
cargo build --release
S omezením na jednu kompilační úlohu (--jobs 1) se špičková paměť napříč cargo, rustc a linkerem pohybovala mezi 464 MB a 527 MB podle toho, kterou z mých dvou metod měření vezmeš (měřil jsem dvěma způsoby, protože první číslo vypadalo až moc čistě), a trvalo to 113 sekund. S výchozím paralelismem na čtyřech vCPU se špičková paměť zhruba zdvojnásobila na asi 1 GB a sestavení skončilo asi za 35 sekund. Proměnnou je tu paralelismus, ne projekt. Víc úloh znamená víc procesů rustc v paměti najednou, a proto jsou kompilátory jednou z mála zátěží, které si s radostí vezmou každé jádro, které jim dáš, a to na celé minuty.
Hotový program má po strip 1,3 MB a v nečinnosti používá zhruba 3,3 až 3,6 MB paměti.
Při výchozím paralelismu je to na kompilaci dvě- až třísetkrát víc paměti než na běh; s omezením na jednu úlohu pořád hodně přes stonásobek. Nadimenzuj server podle toho, co tvoje služba v Rustu potřebuje v produkci, a můžeš skončit se strojem, který ji nedokáže sestavit, a selhání přitom není čistá chyba: je to OOM killer, který zabije rustc uprostřed sestavení, nebo kompilátor, který dvacet minut mlátí swap. Fungují dvě řešení. Sestavuj někde s rezervou a dodávej binárku, stejný vzorec jako samostatný stroj na sestavování pro náročnou práci s Dockerem. Nebo sestavuj přímo na stroji a dej mu prostor: pro službu tohoto typu jsou pohodlné dva gigabajty RAM a dvě vCPU. Když to nestačí, únikovou cestou je --jobs 1 (ano, je to pomalejší; to je ta daň).
Pokud stroj, na kterém pracuješ, takovou rezervu nemá, náš samostatně spravovaný Linux VPS ti dává root přístup s hodinovou nebo měsíční fakturací a místo, kam dát sestavení a které vrátíš, až skončíš, i když je to pořád server, který provozuješ ty, a ne server, který se provozuje sám.
Jeden projekt, jeden typ, jeden stroj. Strojem byl sdílený izolovaný kontejner, ne dedikovaný server, se zhruba 2 GB dostupné paměti, takže neomezená špička se pohybovala blíž ke svému stropu, než by tomu bylo na větším stroji. Nejde o univerzální konstantu: pokud je tvůj strom závislostí čtyřikrát větší nebo tvůj release profil zapíná optimalizaci při linkování, čekej jiná čísla. Větší stromy závislostí, optimalizace při linkování a kód plný generik můžou paměť při sestavení vytlačit výš, takže má měření neber jako univerzální strop.
Zařadil bych to pod to, jak pracuješ, ne pod to, jestli se jazyk naučíš. Věz o tom dřív, než na to narazíš.
Kdo by se měl učit Rust
Tři situace, kdy bych ti řekl, ať ten čas investuješ: dlouhodobý software, kde je chyba v paměti drahá, práce blízko operačního systému a touha po tom, co s tvým uvažováním o paměti udělá boj s kompilátorem. Každá má důvod, proč se ten čas vrátí.
Už vydáváš software v jiném jazyce a stavíš něco dlouhodobého, kde by chyba v paměti byla drahá. Služba, která musí běžet. Knihovna, na které závisí jiné týmy. Cokoli, kde use-after-free znamená revizi incidentu, ne stack trace v terminálu. Pro tenhle případ byla celá záruka postavená a to, co zaplatíš předem, se rozloží přes celou životnost toho, co stavíš.
Pracuješ blízko systémového softwaru nebo přímo v něm. Ovladače, práce se zařízeními, utility základního systému, embedded, cokoli, co sedí pod operačním systémem místo nad ním. Průmysl se tu zavázal způsobem, jakým jinde ne, a důkazy o bezpečnosti paměti jsou tu nejsilnější.
Chceš ten vedlejší efekt. Dva komentující v tom vlákně r/rust se v kariérní hodnotě Rustu zásadně neshodnou, a přesto tady skončí na stejném místě. u/tyler_church, který říká, že na jeho kariéru to nemělo žádný vliv, přesto připouští „možná jemné vlivy na to, jak píšu jiné programy v jiných jazycích.“ u/SirKastic23, který je už dva roky placený za psaní v Rustu, říká, že mu to rozšířilo programátorské dovednosti způsobem, jaký nikdy nečekal. Dva lidé, ne studie, ale je to přínos, který přetrvá, i když Rust nikdy nebudeš psát profesionálně: změna v tom, jak přemýšlíš, ne řádek v životopise.
Kdo by se Rust učit neměl
Tři situace, kdy je lepší ten čas věnovat něčemu jinému: tento měsíc máš termín, teprve se vůbec učíš programovat, nebo vybíráš jazyk podle toho, v kolika pracovních inzerátech se objevuje. Na tu třetí se lidé ptají nejčastěji.
Tento měsíc máš termín na CRUD aplikaci nebo prototyp. Rust přichází přesně ve špatném harmonogramu pro práci, která musí existovat do pátku. Pokud chceš kompilovaný jazyk s rychlým sestavením a správou paměti přes garbage collector a nepotřebuješ záruky Rustu založené na vlastnictví, zjevnou volbou je místo něj Go.
Teprve se vůbec učíš programovat. Tahle otázka opravdu rozděluje lidi, kteří Rust píšou profesionálně, a neshoda ve vláknech r/rust vede oběma směry, takže můj postoj je, že dát začátečníkovi hod mincí je špatná rada bez ohledu na to, jak mince padne. Nejdřív se nauč, jak stroj funguje, někde shovívavějším, a pak se vrať a nech kompilátor to utáhnout.
Vybíráš jazyk podle toho, v kolika pracovních inzerátech se objevuje. Číslo ti tady nedám, protože jsem pro Rust nenašel údaj o platech ani volných místech, který by vedl ke zdroji, za nímž bych si stál. To, co popisuje u/crusoe v tom vlákně r/rust, je trh s menším počtem specializovanějších pozic. Je to jeden komentující v jednom vlákně, ne data o trhu práce, takže bych z toho nedělal tvrzení, že pracovních míst v Rustu je obecně málo. Pokud je objem nabídek tvým rozhodujícím faktorem, podívej se na aktuální inzeráty na svém cílovém trhu, než si jazyk vybereš.
Časté dotazy
Je Rust zdarma?
Ano. Jazyk a jeho oficiální projekty jsou obecně duálně licencované pod licencí MIT a Apache License 2.0 a toolchain se instaluje zdarma přes rustup. Neexistuje žádná placená úroveň ani komerční licence ke koupi.
Jak dlouho trvá naučit se Rust?
Pokud už programuješ, syntaxe je obvykle ta snadná část. Vlastnictví a výpůjčky trvají déle, protože mění to, jak přemýšlíš o paměti, a životnosti a asynchronní Rust později přidají další vrstvu. Obhajitelnou univerzální časovou osu jsem nenašel, takže bych na to číslo nedával.
Je Rust dobrý první programovací jazyk?
Moje odpověď je ne, ale měl bys vědět, že mezi zkušenými praktiky je ta otázka sporná. Ve vlákně r/rust „Struggling to learn Rust“ u/cassepipe bez okolků říká, že Rust „není dobrý první jazyk“, poté co se od něj odrazil a vrátil se přes C a C++, zatímco u/Voxelman tvrdí opak: imperativní jazyky jsou špatné místo pro začátek, protože učí návyky, kterých se pak musíš zbavit. Stejná neshoda se táhne přes čtyři stránky na vlastním uživatelském fóru Rustu. Žádná ustálená odpověď komunity, kterou by šlo uvést, neexistuje.
Nahrazuje Rust C++?
Ne. Rust se přidává vedle C a C++ a volí se pro konkrétní nové komponenty, což je něco jiného. V linuxovém jádře se Rust přidává vedle stávající kódové základny v C, místo aby ji plošně nahrazoval. V Androidu je deklarovaným přístupem Googlu psát nový kód v paměťově bezpečných jazycích místo převádění stávajícího C a C++. Počítej s dlouhým soužitím.
Je Rust rychlejší než Go?
Tohle jsem neměřil, takže nebudu tvrdit, že jeden je kategoricky rychlejší. Rust ti dává jemnější kontrolu nad alokací a nevyžaduje garbage collector; Go používá runtime s garbage collectorem a vyměňuje část nízkoúrovňové kontroly za jednodušší vývoj. Který je rychlejší, závisí na zátěži, implementaci a úzkém hrdle, takže používej benchmarky, které se podobají tvé vlastní aplikaci.
Diskuse
Komentáře
Přihlaste se a zapojte se do diskuse.