Názor k článku Rust: programovací jazyk do aut, vlaků a letadel od Kate - Oba? Lidská chyba je nejběžnější zdroj chyb v...

  • Článek je starý, nové názory již nelze přidávat.
  • 3. 11. 2023 15:42

    Kate
    Stříbrný podporovatel

    Oba? Lidská chyba je nejběžnější zdroj chyb v jakémkoliv systému. Design systému tak aby lidským chybám předcházel je esenciální prakticky kdekoliv kde je bezpečnost braná vážně.

    (Mimochodem, memory leak je možný snad s každým paměťovým modelem, můžu třeba cachovat do hashmapy a zapomenout mazat záznamy. Bavíme se spíš o zábavách jako use after free, buffer overflow, z null pointer dereference, problémech s thread safety…)

    A pak, pokud to necháš čistě na lidech, budeš dělat kompletní audit každé knihovny po každém update? Budeš znova kontrolovat každou funkci která mohla být safe v původním kontextu, ale v novém už není?

    Už jsem tu zmínila zábavnou příhodu kdy upstream knihovna přestala být thread safe a nikdo si toho nevšiml. Tohle se hlídá fakt blbě. To samé memory safety. Opt-in safety prostě nefunguje. Opt-out naopak umožňuje izolovat místa kde může k problému dojít.

    Teorie že „Dobrý programátor nebude dělat chyby“ je sice pěkná, ale skutečnost tomu neodpovídá a nikdy neodpovídala. Statistiky od Google to ukazují fakt dobře, to samé statistiky od Mozilly. Naopak, osobně se raději kódu kohokoliv kdo mi bude sebejistě tvrdit že jeho C / C++ kód je zaručeně safe vyhnu.