• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    SPIRALIRust - Programovací jazyk
    UETOYO
    UETOYO --- ---
    BONEFLUTE: "Opravdu si nemohu pomoct. C/C++ je mrtvá záležitost" Popovídáme si tu za pár let .) Já tedy křišťál doma nemám, ale myslím, že bude všechno koexistovat.

    Mě tedy více než C++ začíná víc problematický připadat Python. Přeci en C, C++ se fakt používá dnes jen tam , kde je to nutné (technologicky, historicky), ale Python se rozlezl všude a refaktorovat ho to je peklo. Navíc s typama se ta čitelnost už nezdá tak rozdílná od Rustu. Jako běží to, ale pustil jsem si mypy na funckční věci a nestačil se divit. Člověk je fakt tvor omylný.
    BONEFLUTE
    BONEFLUTE --- ---
    UETOYO:
    > Až na to že 99% chyb v aplikaci bude v "business" logice a ne kvůli pamětovým problémům.
    To může být docela dobře pravda. Jak to souvisí s tím, zda použít C++ nebo Rust?

    Ale pokud se rozhoduješ podle požadavku na business logiku, tak i tam bych voli Rust. Má moderní, relativně jednoduchý jazyk, který pomáhá modelovat problém. (V C++ jsou pouze třídy a dědičnost a navíc je překombinovaný.) Osobně oceňuji lokální funkce a typy, pattern matching, enumy s hodnotou (sorry, nevím jak se tomu říká - prostě takové ty konstruktory hodnot z Haskellu). Plus samozřejmě nástroje aka cargo - toho se prostě nechci vzdávat.

    Opravdu si nemohu pomoct. C/C++ je mrtvá záležitost.
    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/
    UETOYO
    UETOYO --- ---
    Moho by někoho zajímat: https://arxiv.org/abs/2209.09127
    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? :)
    UETOYO
    UETOYO --- ---
    DANIELSOFT: Klikni v pravo na stránkách na _print_ (https://doc.rust-lang.org/stable/book/print.html) a stáhni si aktuální verzi. Tady slečna má kdyžtak online kopii: https://lise-henry.github.io/books/trpl2.pdf
    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...
    UETOYO
    UETOYO --- ---
    SHINING_KATE: No jo, jenže tohle je asi právě jen kulturně dané. Kdybys ses učila první OCaml nepřišlo by ti na Rustu nic tak zajímavého. OCaml má vše co Rust jen má GC, ale v takové kvalitě, že dává záruky že nezastaví běh tak, že někde aplikace vytuhne. Mít Rust na web development, to je pro mě už vyřešená záležitost. Pokud to je nějaká část jinak rozsáhlého programu, co řeší jinak nějaké low-level věci budiž, ale jinak overkill. Na validaci REST API třetí strany nepotřebuji ML typový systém.

    Jen pro zajímavost. Rust kompilátor byl původně v OCamlu:
    Remove rustboot from the repository. · rust-lang/rust@6997adf · GitHub
    Remove rustboot from the repository. · rust-lang/rust@6997adf · GitHub
    https://github.com/rust-lang/rust/commit/6997adf76342b7a6fe03c4bc370ce5fc5082a869
    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.
    UETOYO
    UETOYO --- ---
    SHINING_KATE: "Přijde mi, že Rust z jazyků co znám zatím nejvíc tlačí vývojáře do psaní čitelného kódu." Jak je tlačí, čím?
    UETOYO
    UETOYO --- ---
    SHINING_KATE: No jo ale podobně by psal i programátor v Go. Oproti Pythonu je takový jazyk a tooling prostě paráda s tím, že pokud nejsem opravdu na železe, není Rust nutná volba. Thread safety... no s tím neporadím, os thready radši nechávám spát.
    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.
    Kliknutím sem můžete změnit nastavení reklam