Vyloženě Rust shell je Nu Shell, pokud někdo nezná. Přijde mi jako vymakaný a i zábavný.
Obecně mi u Rust ekosystému chybí nějaká vyšší vrstva (on by to asi byl dnešní optikou jiný jazyk), která by si podržela návykové jazykové konstrukce, a přidala pořádnou abstrakci. Nebo už něco takového existuje?
Nejsem si jist, zda dobře rozumím otázce. Ve svých projektech jako "abstrakci", nebo možná spíše klientské lepidlo používám:
- https://crates.io/crates/dyon
. https://crates.io/crates/rhai
- https://crates.io/crates/gluon
- https://crates.io/crates/rune (můj favorit)
A pak je možné jako určitou abstrakci možno chápat makra?
Rozumím. Mě to zní, jako by si chtěl napsat nějaký abstraktnější jazyk pro C# nebo F#.
Rust je IMHO jazyk s celkem vysokou abstrakcí. Chápu, že jsi těm makrům nepřišel na chuť, ale ty jsou právě ty nástroje pro tvoření compile-time DSLka. Jinak jsem nenarazil na potřebu.
Uveď příklad, máš-li slinu.
Dělám třeba teďkon takový šelmostroj. Jádro je v Rustu. Klientská logika v Rune. Další logika a věci v různých runtime DSLcích, které jsem si napsal na míru. Psát parser v Rustu jde snadno.
Kotlin má smysl, protože Java je syntakticky pravěk. U Rustu to IMHO není třeba.
Já nic psát ani nechci, na to bych si netroufl ani kdybych Rust používal více než jen občasně:-)
Spíš mám problém s tím, že větší projekt v Rustu se strašně rychle mění v takovou docela ukecanou a nepřehlednou změť závorek různých typů a není v tom vidět základní algoritmus, myšlenka. To je to, co bych řekl, že mají ty "vyšší jazyky" (jednak díky abstrakci, a pak taky díky syntaxi) takové čitelnější, uhlazenější. Třeba taková blbost, ale neustálé opakování pub(crate), tohle samo už dělá zbytečný "šum", který by šlo nějakou vyšší vrstvou odstínit.
Jen se tak ptám, třeba někoho jednou napadne to rozvíjet i v tomto ohledu.