Hlavní navigace

Názor k článku Swift je splacený dluh Applu. Šanci má hlavně v herním průmyslu od Miloslav Ponkrác - Protože ne všechny chyby vznikají přímo v kódu....

  • Článek je starý, nové názory již nelze přidávat.
  • 11. 6. 2014 12:09

    Miloslav Ponkrác

    Protože ne všechny chyby vznikají přímo v kódu. A pokud máte jazyk bez výjimek, tak s chybami, jejichž zdroj je mimo kód často nic neuděláte, a takový program jednoduše krachne na ústa, protože nic s tím dělat nemůže.

    Pouze výjimky dovolují ošetřit skutečně maximum chybových stavů. Nic jiného.

    Ministerstvo obrany USA a NASA se v minulosti velmi rychle přesvědčila, že pokud si do programovacího jazyka Ada nepřidají výjimky, budou mít ve zničených raketách škody ve stovkách miliard dolarů. Protože ovládací programy budou krachovat, kdykoli se vyskytne nečekaná věc a vezmou sebou i celou raketu, která se tím pádem stane neovladatelným kusem šrotu.

    Váš pokud postavit 2 jména lidí s dotazem, jestli je považuji za idioty, budu ignorovat. To, že je někdo slavný neznamená, že se nemýlí, nebo nedělá občas chybná rozhodnutí nebo nemá chybnéí názory.

    Navíc kolem Unixu vznikají mnohé názory, které jsou jasně spíše ideologického (tedy sektářsky motivovaného) důvodu, často proti praxi a užitku a racionalitě.

    Znovu, mnoho chyb vzniká mimo kód. Hw je dnes čím dál složitější. Chyby v něm vznikají jak na běžícím pásu. Když nastane chyba v kontrolním součtu RAM, jinak, než výjimkou z toho nevybruslíte. Když vám začne docházet místo na zásobníku, když nějaký hw uprostřed operace nečekaně zkolabuje, nebo když se vyskytne cokoli neobvyklého, co nemá původ ve vašem zdrojovém kódu – bez výjimek program pouze pane na hubu, nic jiného nejde. S výjimkami je schopen, je-li to nutné, se z toho dostat a pokračovat bezchybně v běhu.

    Bez výjimek prostě neuděláte tak spolehlivý sw, jako s nimi. Chápu, že začátečníci, kteří si myslí, že chyby vznikají pouze ve zdrojovém kódu, a proto se dají vždy vrátit a ošetřit jako návratové hodnoty funkcí, že pak výjimky jsou zbytečné.

    Stejně tak ošetřování chyb pomocí výjimek je v každém případě přehlednější a účinnější.

    On líbivý programovací jazyk, jako Swift nebo Go, je v podstatě jen vrtkavá móda. To jsou jazyky, které se dělají z marketinkových důvodů a z důvodů reklamy, ale praktické nejsou. Při jejich návrhu se nad jejich praktičností ani za mák nepřemýšlelo. Prostě neviditelná ruka trhu prodává také iluze, nejenom užitek.

    Miloslav Ponkrác