• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    SPIRALIRust - Programovací jazyk
    SPIKE411
    SPIKE411 --- ---
    Rust Foundation moves forward on C++ and Rust interoperability | InfoWorld
    https://www.infoworld.com/article/3606753/rust-foundation-moves-forward-on-c-and-rust-interoperability.html
    VESELYSKEPTIK
    VESELYSKEPTIK --- ---
    THEON: + Asi první volba, pokud je omezená RAM.
    THEON
    THEON --- ---
    JON: Je na to od začátku navržená, hlavně co se týče API. Ze zkušenosti můžu říct, že se "z nuly" do projektu integruje fakt zdaleka nejpříjemněji že všech ostatních jazyků co jsem zkoušel takhle použít :)
    SPIKE411
    SPIKE411 --- ---
    JON: Nejsem v tom moc kovaný, jiní už to jinde sepsali určitě lépe, ale a) je to malý (na disku, v paměti), b) je to (celkem) rychlý, c) snadno se to lepí s C, d) je to přenositelný.
    Ale je to dynamicky typované a indexuje od 1, což určitě většinu programátorů nakrkne. :)
    Plus je tam nějaká potíž, že z nějakého důvodu jsou všichni zaseklí na implementaci PUC Lua 5.1, přičemž už je 5.4 a v základní knihovně přibylo celkem dost zajímavých věcí (třeba ohledně manipulací s bity nebo řetězci bajtů).

    Já se s tím potkávám, protože různé smart home systémy to používají pro rozšiřující moduly, skriptování (Control4, FIBARO, LogicMachine, nově Ekinex Delégo a asi další).
    JON
    JON --- ---
    SPIKE411: umel bys shrnout, proc zrovna lua je tak oblibena jako skriptovaci jazyk pro zabudovani do jinych produktu? mas s tim nejakou zkusenost, nebo je to ciste zajimavost?
    SPIKE411
    SPIKE411 --- ---
    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)
    Kliknutím sem můžete změnit nastavení reklam