pokial by som mohol dat nejaku inspiraciu k dalsiemu pokracovaniu serialu - videl som nejaky pokus portovat Rust na microcontroler (konkretne AVR/Arduino). Chlapik to popisoval v nejakom blogu a dostal sa az tak daleko, ze rozbehal nejaky trivialny kod v Rust-e na Arduine a skoncil na tom, ze nemal/musel by portovat core lib (zakladne funkcie Rust-u) pre AVR, co by zrejme nebola uplne trivialna uloha.
Zaujimal by ma nazor autora - je Rust vobec vhodny na taketo nasadenie? Lebo o Rust-e sa prave hovori ako o moznej nahrade C/C++ a mat takto silny jazyk na jednoduchom microcontrolleri by bol docela masaker...
To by mě také docela zajímalo :-) Oficiálně je podporován (až v tier 3) 16bitový procesor MSP-430, který je ovšem docela výkonný (a trošku také inspirovaný klasickými RISCy - https://www.root.cz/clanky/sestnactibitove-mikroradice-ti-rady-msp430/).
Co bych viděl jako potenciální problém je velikost zásobníku na některých architekturách, protože Rust implicitně vše ukládá na zásobník, pokud se nepoužije Box atd.
Jinak jako backend je použito LLVM a generovaný kód se od céčka příliš neliší.
Možným dalším problémem je velikost binárek, do kterých je staticky slinkována standardní knihovna, takže na x86-64 dostaneme nějakých skoro 700 kB kódu. Jde to snížit dynamickým linkováním rustc -C prefer-dynamic na cca 8 kB, ale to si nepomůžeme, protože ta knihovna tam stejně bude muset být. Takže na menších čipech dřív či později dojde k odstraňování některých částí std. knihovny, což je problém, protože to není nijak standardizováno (to je škoda). Mě by se asi líbilo mít std. knihovnu úplně maličkou a všechno další řešit přes "crates" (moduly Carga).
...ono popravde je treba si asi uvedomit, ze uz aj C++ je na AVR platforme dost na hrane a tiez sa to riesi tak, ze sa orezava libstdc++, pripadne sa tam nedava vobec a vyuziva sa len samotny jazyk (prip. si nejake primitivne triedy pre string alebo ring buffer nabastli kazdy podla potreby), takze netreba mat asi prehnane ocakavania :-(
Existuje dokonca projekt na gitlabe (https://github.com/avr-rust) ktory je prekvapivo zivy. Ale skor si myslim, ze casom nastupia nove mikroconrollery za rozumne ceny, na ktorych uz nebude treba riesit kazdy kilobyte kodu.
Kazdopadne dakujem za odpoved a tesim sa na dalsi diel serialu :-)