( persicsb | 2020. 04. 10., p – 14:20 )

A matematika eléggé nagy területet fed le. Analízis, kalkulus, topológia, geometria, logika, bizonyításelmélet, csoportelmélet, gráfelmélet, algebra, kategóriaelmélet, számelmélet, kombinatorika stb.,

Ebből sok olyan, ami annyira absztrakt, hogy nem igazán használod sehol, amikor szoftvert készítesz.

 Viszont a matematika önmagában nem más, mint a szigorú logikus gondolkodás használata. Azt, hogy ezt számokra, geometriai objektumokra vagy éppen gráfokra alkalmazod, más kérdés. Ez a része a matematikának elengedhetetlen a programozáshoz. Logikusan gondolkodni tudni kell.

Rengeteg informatikai eszközzel megvalósuló dolognak matematikai az alapja. Például a modern asszimetrikus kulcsú titkosírás vagy éppen számelmélet alapú (pl. RSA), vagy  csoportelmélet  (diszkrét elliptikus görbéken végzett műveletek és inverzei - elliptikus görbe alapú titkosírás).

A 3D játékok számításainak nagy része tiszta lineáris algebra. Ha hozzáveszed a renderelést, az már matematikai optika.

A térképészeti szoftverek magja projektív geometria.

A fizikai mérések kiértékelésének vagy a gépi tanulás magja  matematikai statisztika.

És akkor még nem beszéltünk az algoritmuselméletről, helyességbizonyításról, formális nyelvekről.

 

Az alkalmazott  matematika ugyanis nem más, mint a világban lévő folyamatok és dolgok közötti kapcsolatok formális (absztrakt) leírása, hogy következtetni, számolni lehessen belőle. És ezen következtetéseket, számolásokat gép végzi. Amely gépnek a programozó mondja meg, hogy mit csináljon.  

Rengeteg helyen el tudsz persze lenni matematika nélkül (UI építés, stb), de ha nem érted a mögöttes matekot, akkor rengeteg kulcs backend funkcionalitást nem tudsz leprogramozni rengeteg szoftvernél. És ezt a matekot érteni kell.