496
Studium a uplatnění / Re:Jak efektivně studovat programování?
« kdy: 28. 10. 2020, 23:28:44 »No jo no, to už jsou ale zase ty monády. A ani to není moc hezký.
Možná, abych se lépe vyjádřil:
Rozhodně očekávám, že když mi kompilátor přeloží kód, tak že mi zajistí, že všechny chybové stavy jsou pokryty. Což pochopitelně Result splňuje.
Jenže stejně jako od jazyka očekávám, že si validitu vstupů nebudu hlídat sám, ale že mi to bude hlídat jazyk - třeba pomocí typů; tak stejnou logikou očekávám, že mi jazyk usnadní práci s chybami. A ne, že si to budu řešit sám pomocí jiných konstruktů jazyka.
Pořád moc nerozumím. Rust se rozhodl, že ošetření chyb bude dělat pomocí složených typů. Určitě je možné, že práce s nimi může být náročnější, než třeba použití try-catch, ale oč je - v principu - horší řešení pomocí typového systému, než je (poměrně násilný, řekněme) způsob pomocí výjimek?
Rust transformuje data, je třeba si podle toho strukturovat aplikaci. Těch způsobů, jak řešit vícero Error typů na jednom místě je více - třeba pomocí wrapperů. Je s tím zase nějaká práce, nemyslím, že to je tak zlé. Je to jako se vším v Rustu nebo jinde. Musíš tancovat s tím, co má v repertoáru a ne si chtít dělat svoje pogo, když se jede lambada.
Já ale nekritizuju Rust. Rust je skvělej jazyk a mám ho moc rád.
FP je v podstatě pro fajnšmekry, kteří jsou schopní si napsat vlastní překladač, takže do detailu vědí, kudy v programu tečou data.
Akorát dá o dost víc práce pochopit, jak kód v takovém případě funguje.
.