• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    SPIRALIRust - Programovací jazyk

    A language empowering everyone to build reliable and efficient software.

    The Rust Programming Language - The Rust Programming Language
    The book of Rust
    Idiomatic rust
    GitHub - usagi/rust-memory-container-cs: Rust Memory Container Cheat-sheet
    Memory container cheat sheet
    rozbalit záhlaví
    SHINING_KATE
    SHINING_KATE --- ---
    SPIRALI: Unsafe v Actix je teď redukovaný na naprosté nutné minimum. :) (A co tak občas koukám, volání unsafe ubývá)
    SPIRALI
    SPIRALI --- ---
    DATEL: Pokud se chce nekdo starat o nastenku tak mu rad pridam prava. Ale u odkazu ktere vypadnou v googlu hned na prvni strance mi to prijde trochu zbytecne.

    My jsme nedavno vybirali framework pro jednoduche RESP API pribalene k jinemu programu a vyber se nakonec zuzil na Rocket, Warp a Actix. Rocket jsme zamitli prave kvuli nightly. Nakonec to vyhral Warp, protoze nam prisel vice lightweight coz bylo jedno z hlavnich kriterii pro nase pouziti a i kdyz uz je to asi davno neplatny argument, stale si pamatujeme safety kontroverzi kolem actixu.

    SHINING_KATE: V jakem stavu je ted vztah k safety v Actixu, po tom co to puvodni autor zabalil? Predpokladam ze pod vice komunitnim vedenim se to trochu procistilo.

    Co se tyka GUI, tak krome aktivity kolem GTK tak jeste existuje Druid, jakozto experimentalnejsi pristup ke GUI. https://github.com/linebender/druid Ale tyto veci jdou mimo mne.
    SHINING_KATE
    SHINING_KATE --- ---
    DATEL: Rocket je dost známý, jediný problém byl, že po většinu své existence vyžadoval nightly verzi Rustu kvůli featurám, které ještě ve stable vydání nebyly. Používat to v produkci byl z mé zkušenosti docela hazard, každou chvilku se něco rozbilo.

    Aktuální vývojové verze (0.5.0-dev) by měly být funkční ve stable rustu a async.
    Mimochodem, podle všeho je v Rocketu napsaný Nyx ;)

    Naše firma ovšem dala přednost actix.rs a píšem v tom všechno.

    Co se týče GUI knihoven, přímou zkušenost nemám, ale věcí co jsou postavené na GTK-rs je docela dost a lidi kolem GNOME na Rust zdá se celkem sází, navíc je docela oblíbený https://github.com/hecrj/iced (tam je super i možnost kompilace do webassembly)
    DATEL
    DATEL --- ---
    Kolega mi zmínil webový Rustový framework, zkoušel ho a prý se mu docela líbí, můžete dát na nástěnku třeba :)
    Rocket - Simple, Fast, Type-Safe Web Framework for Rust
    https://rocket.rs

    Letmo jsem zkusil kouknout na nějaké GUI knihovny, asi bude něco kolem GTK, nemáte někdo osobní zkušenost s něčím?
    WILD_A
    WILD_A --- ---
    SHINING_KATE: Zatim jsem neprepinal default tj rust-analyzer ale muzu zkusit.
    WILD_A
    WILD_A --- ---
    Ja mam emacs na vsecno, takze emacs + rust-mode + rustic. Pokud nejste emacs user vrele nedoporucuji.
    SHINING_KATE
    SHINING_KATE --- ---
    MARASAN: Mám to jako Spirali. A https://tracing.rs/tracing/ je neskutečně mocný nástroj :)
    SPIRALI
    SPIRALI --- ---
    MARASAN: Ja pouzivam spise nez interaktivni debugger tak intenzivni logovani a trasovani. Z trasovani pak delame taky performance analyzu. To doplnujeme standardnimi C/C++ nastroji. Ja mam rad callgrind; kolega, ktery je v tom kovany tak jeho nejoblibenejsi tool pro toto je VTune.
    SPIRALI
    SPIRALI --- ---
    NYX: Nevim jestli rozbiti na vice crate az tolik pomuze. Pro pri vyvoji vice crate najednou stejne chce clovek workspace a zase tam bude jen jeden cargo lock. Alespon me nejaka takova kolize trapila davno s nejakou tehdejsi verzi RLS a vice crate mi moc nepomohlo.
    MARASAN
    MARASAN --- ---
    co vy a debugger? profiler? VS Code je v tomhle ohledu komfortni nebo ne? pro linux.
    SHINING_KATE
    SHINING_KATE --- ---
    SPIRALI: CLion + rust plugin. V teamu to momentálně máme 2x CLion, 2x VSCode + RA a 1x Atom jen se základním Rust pluginem bez autocomplete.
    NYX
    NYX --- ---
    SPIRALI: No rust-analyzer mam vypnuty, nejak mi to kolidovalo s buildem (vyrobil ten cargo lock a build na nej pak ceka). To pouzivam jako pomerne tupy editor :) Takze asi nejsem schopny odpovedet.

    Kdyz me to bude dlouhodobe stvat, dam si tu praci a rozbiju to na vic nezavislych crate. Nemelo by to byt moc slozite.
    MARASAN
    MARASAN --- ---
    SPIRALI: pouzivam vim s nejakyma pluginama, ale uvazuju, ze zkusim MS VS Code, hlavne kvuli debuggeru.
    SPIRALI
    SPIRALI --- ---
    NYX: Rust Enhanced jsem mel v planu take vyzkouset. Nejaky konkretni zdroj nespokojenosti?

    btw: Umi uz RLS nebo rust-analyzer nejake vetsi refaktorizace? (napr. kdyz presunu soubor tak to opravi vsechny importy?)
    NYX
    NYX --- ---
    SPIRALI: Ja jedu v sublime + rust enhanced + rustfmt. Ale nejak zvlast spokojeny s tim nejsem teda.
    SPIRALI
    SPIRALI --- ---
    Otazka pro vsechny: Jake pouzivate pro Rust IDE?

    Ja jsem prosel cestou Spacemacs -> vscode -> pycharm + rust plugin. Pycharm je pro mne horsi editor nez ty predchozi dva, ale k diky moznost refaktorizatorizace a obecne analyzy kodu u mne vyhrava. (Navic kolega byl jednu dobu nejaktivnejsi prispevatel do Rust pluginu, takze mam 1st-class support coz dost pomaha:)
    SPIRALI
    SPIRALI --- ---
    UETOYO: I kdyz to neni u zadne ISO-like organizace, tak jak to chapu ja, tak je specifikovano vse pomerne presne az na memory model. Coz je trochu problem pri psani unsafe kodu, ale trapi to primarne autory verifikacnich toolu, v praxi se uvazuje LLVM model (~ C++ model), na kterem ted stoji hlavni prekladac.
    FALL
    FALL --- ---
    UETOYO: pardon, moje chyba, špatně jsem to přečetl. Předpokládal jsem, že tam popisují cestu Rustu k RFC procesu u nějaké mezinárodní organizace typu ISO nebo IEEE, ale to je pouze popis interního RFC mechanismu v Rust "komunitě".

    Nicméně ta odpověď je hned o pár kliků vedle: https://doc.rust-lang.org/stable/ a https://github.com/rust-lang/rust

    Ano, není na tom nikde razítko nějaké "modré" organizace, ale jako specifikace všech částí mi to příjde dostatečné. Například C++ to dělá stejně (draft standardu je na githubu a konkrétní vydýání pak jen "otiskne" ISO).
    ELHO_CID
    ELHO_CID --- ---
    FALL: souhlasím, jsme tu trochu OT, ale kde je tu diskuze o MCU security? O žádné nevím.
    Fyzické útoky jsou oblast, kde klasické MCU končí a nastupují secure produkty, souhlasím. Ale i tam je ta hranice jen o kus dál a pokud má útočník k dispozici neomezený přísun virgin čipů, které si může rozlámat, tak se tím otvírají další možnosti. Nedostupnost těch čipů mimo okruh ověřených zákazníků je prostě součást security.
    FALL
    FALL --- ---
    Kliknutím sem můžete změnit nastavení reklam