V občanském životě často používám praktickou znalost především logiky a statistiky. Kéž by to bylo rozšířenější.
S povděkem kvituji, že jsem si prošel matalýzou a hlavně univerzální algebrou, protože to usnadňuje porozumění mnoha věcem, které nad tím staví (takže skoro všechno: u softwaru např. datové typy nebo relační databáze). Docela zajímavá mi přišla také topologie. V praxi to asi člověk moc nepoužije, ale pokud občas zahloubá do nějaké teorie, usnadňuje to porozumění. Abych to nějak přirovnal, je to jako když se učím cizí jazyk a vím, co jsou zač mluvnické kategorie, takže si nová slovíčka snadno zařadím a vím, jak s nimi pracovat... kdybych to neznal, musel bych si to nějak intuitivně dovozovat a někdy bych se zmýlil.
Jinak programátor fakticky obvykle potřebuje znát jenom grafy, nějakou lingebru (matice), základy logiky, možná kombinatoriku.