Naopak pro programátory, kteří formálně verifikují části určitých systémů, jsou tyto znalosti nezbytné.
Schválně, zkuste si tipnout, kolik procent programátorů pracuje na formálně verifikovaných systémech? A kolik procent programátorů pracuje na programech účetních?
To je přesně to, o čem píšu výš, fakt už to zopakuju naposledy: VŠ nemá lidi učit něco, co využije půl procenta z nich, a nechat je absolutně neznalé ve věcech, které bude používat 99%.
A živoucí důkaz, že složitost je důležitá, je darcs před verzí 2 a jeho mergovací algoritmus.
A živoucí důkaz, že je důležité účetnictví, je SAP. A co jako?
Napriklad nedavno jsem prepisoval kus naseho kodu, protoze jsme to chteli zrychlit, a ocividne to bylo kvadraticke, a samozrejme to slo udelat lip. Nikdo nemel poneti, ze je to prave v tomhle, dokud jsem na to nepustil profiler a nepodival se, co presne ten kod dela.
No, to je přesně příklad té základní znalosti, kterou jsem říkal, že by programátor mít MĚL: že nějaké třídy složitosti jsou a jak je rozeznat. To se ovšem dá naučit za jednu, maximálně dvě vyučovací hodiny.