• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    SPIRALIRust - Programovací jazyk
    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
    BONEFLUTE
    BONEFLUTE --- ---
    RESURRECTION:

    Děkuji.

    Zatím jsem pochopil, že RefCell je od toho, že nemá vylejzat z objektu ven.

    Překopal jsem to všechno na &mut self, ale nakonec mě "něco" přinutilo, že jsem tam byl nucen dát self: &Rc. Ale také jsem celkově překopal architekturu.

    Možná ještě časem dozraju k dalšímu zjednodušení.
    VELDRANE
    VELDRANE --- ---
    RESURRECTION:
    BONEFLUTE:
    THEON:

    super thread! Diky kluci, docvaklo mi par veci :)
    SPIKE411
    SPIKE411 --- ---
    LUDWIG_: Aha, já před pár dny četl jen titulek tohoto a (aniž bych to otevíral) mi to vyznělo jako že budou přepisovat nějaké „jádro“ C# (části .NET?), a ono jde o M365.

    Microsoft seeks Rust developers to rewrite core C# code • The Register
    https://www.theregister.com/2024/01/31/microsoft_seeks_rust_developers/
    Kliknutím sem můžete změnit nastavení reklam