• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    SPIRALIRust - Programovací jazyk
    SPIKE411
    SPIKE411 --- ---
    Preface - Build a Lua Interpreter in Rust
    https://wubingzheng.github.io/build-lua-in-rust/en/

    GitHub - eatonphil/lust: A parser, compiler, and virtual machine evaluator for a minimal subset of Lua; written from scratch in Rust.
    https://github.com/eatonphil/lust
    Writing a minimal Lua implementation with a virtual machine from scratch in Rust | notes.eatonphil.com
    https://notes.eatonphil.com/lua-in-rust.html

    GitHub - kyren/piccolo: An experimental stackless Lua VM implemented in pure Rust
    https://github.com/kyren/piccolo
    https://crates.io/crates/piccolo
    piccolo — Rust-lang // Lib.rs
    https://lib.rs/crates/piccolo

    GitHub - danii/hematita: A memory safe Lua interpreter
    https://github.com/danii/hematita
    https://crates.io/crates/hematita
    Hematita — Rust-lang // Lib.rs
    https://lib.rs/crates/hematita

    GitHub - Auxnon/silt-lua
    https://github.com/auxnon/silt-lua
    https://crates.io/crates/silt-lua
    Silt-Lua — Rust utility // Lib.rs
    https://lib.rs/crates/silt-lua

    Nesouvisející s Rustem, ale může taky sloužit jako inspirace:
    Building the fastest Lua interpreter.. automatically! |
    https://sillycross.github.io/2022/11/22/2022-11-22/
    Building a baseline JIT for Lua automatically |
    https://sillycross.github.io/2023/05/12/2023-05-12/
    GitHub - luajit-remake/luajit-remake: An ongoing attempt to re-engineer LuaJIT from scratch
    https://github.com/luajit-remake/luajit-remake
    SPIKE411
    SPIKE411 --- ---
    Nine Rules for Running Rust on WASM WASI | by Carl M. Kadie | Sep, 2024 | Towards Data Science
    https://towardsdatascience.com/nine-rules-for-running-rust-on-wasm-wasi-550cd14c252a

    Nine Rules for Running Rust in the Browser | by Carl M. Kadie | Oct, 2024 | Towards Data Science
    https://towardsdatascience.com/nine-rules-for-running-rust-in-the-browser-8228353649d1

    Master Embedded Development with Rust and no_std | Towards Data Science
    https://towardsdatascience.com/nine-rules-for-running-rust-on-embedded-systems-b0c247ee877e
    NYX
    NYX --- ---
    AXTHEB: Tak ted uz pouzivam :) A jestli funguje jak slibujou uvidime.
    SPIKE411
    SPIKE411 --- ---
    Let’s build and optimize a Rust extension for Python
    https://pythonspeed.com/articles/intro-rust-python-extensions/
    SPIKE411
    SPIKE411 --- ---
    Are we GUI yet?
    https://areweguiyet.com/

    The state of building user interfaces in Rust.
    REDGUY
    REDGUY --- ---
    XCHAOS: Hele, co myslis tou "ofiko dokumentaci"? Protoze Rust The Language treba ty reference a pointery vysvetluje dost dobre.
    XCHAOS
    XCHAOS --- ---
    BONEFLUTE: no, zjistit, jestli nějaké volání dopadlo nebo je skutečně hodně běžný postup. do tohohle proniknu, to problém nebude....
    BONEFLUTE
    BONEFLUTE --- ---
    XCHAOS: Některé konstrukce jsem si dokonce přenesl zpět do mainstraimových jazyků :-) Takže ano, běžně se to používá. Mě to přišlo strašně super.
    XCHAOS
    XCHAOS --- ---
    NYX: hmm, musel bych toho fakt načíst hodně, abych okoukal, jak se v tom dělá. když jsem do toho trochu ponořil, tak souhlasím, že je to jeden z nejsložitějších jazyků, na které jsem se kdy koukal.
    NYX
    NYX --- ---
    XCHAOS: Ten iter / iter_mut mas imho popleteny, srovnej jeste s into_iter.

    Nainstaluj si do editoru rust analyzer a cargo clippy, upozorni te casto na zpusoby jak ty same veci napsat lepe.

    Jinak control flow je ovlivneny temi option/result-y, ktere se pouzivaji vsude, takze to pak skutecne vypada jinak nez vraceni nullu a magickych chybovych hodnot. Imho lepe. Obzvlast s ? shorthandem pro vraceni chyb z funkce atd.
    XCHAOS
    XCHAOS --- ---
    ANT_39: tentokrát se to liší tím, že už opravdu kompipuju ukázky a tím, že do nich sáhnu, si ověřuju, že to chápu :-) ale z toho vyplývají nové otázky :-)

    ano, z C je toho málo, ale některé konstrukce, typu že .iter() dodává hodnoty zatímco .iter_mut() pointery na hodnoty a tudíž ten iterovaný kód se při změně z jednoho na druhý musí refaktorovat (chápu/píšu to správně?) nevím, jak by vysvětlovali někomu, kdo nepřichází z C, případně z C++. Nevím, kde jinde může začátečník pochytit koncept pointeru (leda by se ho učil přímo v Rustu... hmm, asi se začnou objevovat mladý lidi, co budou umět Rust, ale ne C... zajímavá představa).

    Je to právě četba ofiko dokumentace, která mi vede k pocitu, že vůbec nepíšou lidi, co C nebo C++ neznají a kdyby to byl VŠ kurz, berou to jako prerekvizitu. Protože tam ani nemají práci s pointery zmíněnou a v příkladech čtenáře rovnou házej do vody. A protože nejsem zběhlý v C++, ale v C, tak některé způsoby použití pointerů v Rustu mě matou (ale snad se orientuju, tak to holt bude copy+paste programování, zezačátku...)

    Protože jsem současně okouzlený Fediverse a ActivityPub, tak se hodlám zakousnout do
    GitHub - LemmyNet/activitypub-federation-rust: High-level Rust library for the Activitypub protocol
    https://github.com/LemmyNet/activitypub-federation-rust
    a začít si s tím hrát, ale na to potřebuju pochytit dostatek základních konceptů a prostě není to jen o "přečti si to"... používat copy+paste kód a nerozumět tomu co to dělá, je podle mě nejhorší způsob, jak programovat... (ale nic jiného mi asi nezbyde)
    ANT_39
    ANT_39 --- ---
    XCHAOS: Ty while let a if let jsou samozrejme syntax sugar, ale je to dost prakticky. Typicky mas std::option, a chces vedet, jestli je to Some nebo None. Tak napises
    if let Some(x) = neco_co_vrati_option() {
        ... je to Some, a tady muzu primo pouzit tu zapouzdrenou hodnotu x ...
    } else {
        ... je to None, zadna zapouzdrena hodnota neni ...
    }
    Me Rust prisel jako takovej hybrid Ocamlu a C, ale realne z toho C tam moc neni. Vyjadrovacima prostredkama je to spis podobny modernimu C++.
    Hele, ja s tebou tuhle hru nehraju poprve. Neco si k tomu precti. https://www.rust-lang.org/learn ma linky na Rust Book a Rust by Example. Dokumentace k Rustu, aspon k tem core vecem, je velice dobra.
    XCHAOS
    XCHAOS --- ---
    Tak jsem si konečně Rust po letech odhodlávání se nainstaloval a začal si s ním hrát a některé věci jsou fakt easy a některé dokonce okamžitě chápu, proč to tak je (např. iterátory s modifikací nebo bez, polymorfismus místo dědičnosti apod.).

    Ale prosím vás... ty šílené flow control konstrukce jako let ... else, let .. .while, nebo if ... let... to se fakt používá? To mi přijde jako "přeslazená syntaxe"... nejdřív budu muset nějak pobrat skutečnost, že let vůbec může failnout, prostě když koukám na flow control v Rustu, tak je to úplný opak Pythonu, kde to hned od začátku bylo "kouknu a vidím", všechno je na první pohled jasné, zatímco tady prostě "kouknu a nevidím"... to flow control je zatím jedno z nejméně intuitivních ze všech jazyků, se kterými jsem se nově setkal... ale doufám, že se z toho ve skutečnosti většina toho moc nepoužívá (?)

    Do Rustu se pouštím jako bývalý céčkař, který nikdy pořádně nepronikl do C++, a reálně každodenní věci dělá v Pythonu, ale přijde mi škoda zahodit tu C zkušenost a přijde mi, že nejlíp jí uplatním právě v tom Rustu. Jenže problémy, na které narážím, jsou nečekaného typu... teda vlastně jsem ani ještě pořádně nezačal, že jo, ale :-)
    UNTOY
    UNTOY --- ---
    RustRover Is Released and Includes a Free Non-Commercial Option | The RustRover Blog
    https://blog.jetbrains.com/rust/2024/05/21/rustrover-is-released-and-includes-a-free-non-commercial-option/
    MARASAN
    MARASAN --- ---
    Nedelal jste nekdo WebServices klienta? Potreboval bych sice jednoduchyho WS klienta, ale potreboval bych jej se vsim tim korporatnim nanosem typu WS-Security, certifikaty, sifrovani, podpisy. Nenachazim crate, jestli nemate zkusenost?
    B42
    B42 --- ---
    GIOMIKY
    GIOMIKY --- ---
    GitHub - warpdotdev/Warp at news.itsfoss.com
    https://github.com/warpdotdev/Warp?ref=news.itsfoss.com
    Kliknutím sem můžete změnit nastavení reklam