• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    SPIRALIRust - Programovací jazyk
    SPIKE411
    SPIKE411 --- ---
    yesterday the US National Security Agency published guidance on protecting against memory safety issues. The NSA report suggests using the Rust programming language or other memory-safe languages like Swift, Java, Go, Ruby, and C#.

    NSA Releases Guidance on How to Protect Against Software Memory Safety Issues > National Security Agency/Central Security Service > Article
    https://www.nsa.gov/Press-Room/News-Highlights/Article/Article/3215760/nsa-releases-guidance-on-how-to-protect-against-software-memory-safety-issues/
    SPIKE411
    SPIKE411 --- ---
    SPIKE411
    SPIKE411 --- ---
    Comparing Rust scripting languages in game development - LogRocket Blog
    https://blog.logrocket.com/comparing-rust-scripting-language-game-development/
    SPIKE411
    SPIKE411 --- ---
    Search-based code navigation for Rust projects | GitHub Changelog
    https://github.blog/changelog/2022-11-09-search-based-code-navigation-for-rust-projects/
    VELDRANE
    VELDRANE --- ---
    SHINING_KATE: v mem pripade je to hazeni perel svinim, ale za report budu moc rad :)
    DANIELSOFT
    DANIELSOFT --- ---
    UETOYO: dal jsem tisk do souboru a mám to, díky
    SHINING_KATE
    SHINING_KATE --- ---
    Tak tentokrát nasdílím konferenci předem: https://www.rustnationuk.com/
    Potkám tam někoho dalšího z Nyxu? :)
    DANIELSOFT
    DANIELSOFT --- ---
    Ahoj, dotaz: v rámci sebevzdělávání čtu knihu The Rust Programming Language - kdysi bývala k dispozici ve formátu PDF, teď ji vidím jen jako webovou stránku, plus je odkaz na její zdroják. Autoři píšou, že vyšla v nějakém nakladatelství, možná kvůli tomu nemají PDF verzi na stránkách. Rozhodně nechci nic pirátit, ale PDF formát mi přijde pohodlnější. Mám nainstalované tooly pro kompilaci docbooků do PDF, mám Xubuntu, počítám, že tudy vede cesta... poradíte jak na to?
    XCHAOS
    XCHAOS --- ---
    MARASAN: s Rustem :-) nic, už mlčím... :-)
    MARASAN
    MARASAN --- ---
    XCHAOS: zacit s cim? S golang vedle Rustu ?
    XCHAOS
    XCHAOS --- ---
    SHINING_KATE: sice se s Rustem teprve začínám, ale tohle moc dobře znám - to, že abstrakce nějakého pro mě nového jazyka pak ovlivní i to, jak programuju v jiných jazycích. Takže asi o důvod víc s tím fakt konečně začít...
    SHINING_KATE
    SHINING_KATE --- ---
    Co se týče čitelného kódu, už samotný borrow checker, důraz na immutability, Optional / Result types... Všechno to dost ovlivnilo i jak přemýšlím nad kódem v jiných jazycích :) Go je fajn, ale rozhodně mi nesedlo tolik - učila jsem se současně oboje.
    SHINING_KATE
    SHINING_KATE --- ---
    UETOYO: Ta bezpečnost Rustu pro mě rozhodně není jen v borrow checkeru. Pokud jde o věci mimo logické chyby, pak je pro mě dost podstná záruka thread safety. (Což se občas v C++ debuguje dost špatně)

    A pro prevenci logických chyb imho dost pomáhá i:
    - Skvělá podpora pro automatickou tvorbu dokumentace a doctesty - pomáhá i s prevencí chyb při použití 3rd party knihoven. U JS / TS jsme už řešili pár chyb vzniklých kvůli mizerné dokumentaci i velmi populárních knihoven.
    - Silný typový systém a knihovny které s ním počítají se mi dost osvědčil při tvorbě REST api a api klientů - občas jsem díky tomu našla chyby v implmentaci u protistrany, kdy posílali out of spec data, ale jiné jazyky se s tím nějak popraly, často formou "Silent failure" - což může vést opět k ne snadno debugovatelným problémům
    - Zatím jsem se v žádném jazyce necítila tak bezpečně při nějakém větším refactoringu. Opět, typový systém s tím opravdu dost pomáhá
    - Přijde mi, že Rust z jazyků co znám zatím nejvíc tlačí vývojáře do psaní čitelného kódu.
    - Nemuset myslet na celou kategorii chyb prostě uvolňuje kapacitu pro řešení jiných

    Je fakt že počáteční learning curve je o něco horší, ale naše firemní codebase na backendu je z drtivé většiny Rust, a nikdy mi nepřišel vývoj tak pohodlný jako teď. Předtím jsem profesionálně programovala hlavně C++ a Python.
    UETOYO
    UETOYO --- ---
    MARASAN: Spousta věcí navázaných na paralelní svět -- CUDA, OMP, MPI a grafika (OpenGL, Vulkan). Na spoustu míst se klidně časem může Rust dostat a sotává, ale hrozně to potrvá a někde ani nemá smysl. Třeba moderní Fortran tuhle niku bude obývat nadále, protože oproti C++ nabízí luxus toho, že se skvělě pracuje s n-dimenzionálními poli, nemusíš téměř řešit ukazatele. Tam Rust vůbec nenabízí něco navíc nehledě na to, že přepisovat něco do Rustu je velký risk. Nasekáš chyby v logice ne v dereferencování ukazatele.
    MARASAN
    MARASAN --- ---
    UETOYO: co je takova stale jeste absolutni nika pro C++?
    UETOYO
    UETOYO --- ---
    BONEFLUTE: Až na to že 99% chyb v aplikaci bude v "business" logice a ne kvůli pamětovým problémům. V C/C++ je problém, že nástroje na statickou analýzu sice jsou, ale lidi často ani nezapínají flagy kompilátoru. Rust je v tomhle napřed, ale představa, že vyřeší tu hromadu chyb, který se skrývají v nepochopení a komplexnosti problému tím, že _uspokojíš_ borrow checker je _vlhký_ sen.

    "Já neuvažuju o tom, že by firmy měli hromadně přecházet na Rust a všechno přepisovat. Ale psát _novou_ aplikaci v C++ považuju za nerozum." To záleží v jaké oblasti.
    SPIKE411
    SPIKE411 --- ---
    The Rise of Rust, the ‘Viral’ Secure Programming Language That’s Taking Over Tech | WIRED
    https://www.wired.com/story/rust-secure-programming-language-memory-safe/
    BONEFLUTE
    BONEFLUTE --- ---
    FALL: podepisuju :-)
    FALL
    FALL --- ---
    BONEFLUTE: pro člověka, co se nástroje na danou aplikaci učí od začátku (nebo skoro od začátku) je dobré se zamyslet, co dává moemtálně největší smysl a Rust je u mnoha aplikací velmi dobrá volba. Pokud se chceš tím živit někde s větším týmem, firmou s větším portfóliem, nebo nedej bože v korporátu, tak se bez znalostí těch jazykou pro dynosaury (jako je C, Java a podobný) moc dobře cítit nebudeš.

    A když se ptáš, tak můj osobní názor je, že C++ je naprosto zbytečná věc a mor, který zalezl na místa, na která neměl nikdy být vpuštěn. Takže za mě C++ může klidně zmizet z povrchu této planety a bude nám líp:)
    BONEFLUTE
    BONEFLUTE --- ---
    FALL: Mám projekt, novej, pro který jsem hledal vhodné nástroje. Chtěl jsem něco snadnýho, rychlýho, etc. Po epizodě s dynamickými jazyky (nic proti, jen se to neukázalo jako vhodné) jsem dokonce ze zoufalství zvažoval C++. Oprášil jsem své znalosti a jal se to aplikovat. Po té, co mi to začalo náhodně padat jsem trochu zpanikařil.
    Dospěl jsem k úvaze, že mám-li tomu obětovat čas, chci za to dostat víc, než co mi C++ nabízí.
    Zatím jsem pokaždé, když mi program v Rustu na něčem spadl, zjistil, že to bylo proto, protože jsem se ho pokoušel nějak přečůrat. Až mi to bude magicky zamrzat budu se učit jak to řešit, s tím jsem smířenej.
    Nejde o to, že by snad Rust dal 100%. Jde o to, že Rust je tak dobrej, že C++ přestává být smysluplná alternativa. Nechť ti, co C++ umí dělají v legaci ale nová generace IMHO nemá důvod se ho vůbec učit.


    FALL: Pokud se učíš nový jazyk, tak máš stejné množství času na získání skillu. Co vám přijde racionální volba C++, nebo Rust, a proč?

    Já neuvažuju o tom, že by firmy měli hromadně přecházet na Rust a všechno přepisovat. Ale psát _novou_ aplikaci v C++ považuju za nerozum.

    A to se bavíme o jazyku jako takovém. Ekosystém kolem, v podobě crates + cargo je další téma, které mu IMHO přidávají další body.
    Kliknutím sem můžete změnit nastavení reklam