Hlavní navigace

Názor ke zprávičce NSA nabádá organizace, aby používaly jazyky, které bezpečně pracují s pamětí od MarSik - Nedosahuje. Golang v klasickém if něco; err !=...

  • Aktualita je stará, nové názory již nelze přidávat.
  • 14. 11. 2022 20:07

    MarSik

    Nedosahuje. Golang v klasickém if něco; err != nil patternu neumožňuje místo erroru vrátit placeholder hodnotu. A naopak v tom mém Rust příkladu by nebyl match nutný. Ify by to šlo taky.

    A na anonymních funkcích není nic špatného, on if s přiřazením a ještě podmínkou také není zrovna syntaktický zázrak.

    Takže ano, pokud Váš argument je, chci aby to vypadalo jako Golang, tak to žádný jiný jazyk nesplní.

    Golang zase nemá borrow checker a NPE tam není nic neobvyklého, protože ten nil je všude (stačí prázdné pole...). Java 8 zavedla Optional a pár dalších funkcionálních vzorů a úplně to změnilo best practices (skoro přes noc).

    Možnost pracovat s nil se dnes také považuje za antipattern a zdroj chyb: https://www.lucidchart.com/techblog/2015/08/31/the-worst-mistake-of-computer-science/