Recentemente, andei pela Web e conheci uma variedade de opiniões sobre se um programador realmente precisa de matemática e, se sim, quanto. Vou tentar resumir tudo e resumir.
Para começar, deve-se notar que a matemática está presente em quase todos os lugares de nossas vidas. A física sem matemática é impensável - acho que aqui tudo está claro e não há necessidade de explicar. Química também. Na biologia, a influência da matemática é notavelmente menor, mas também está presente lá (veja, por exemplo, estruturas de plantas, muitas delas são quase-fractais).
A música pode ser representada em forma matemática. O design é impensável sem a matemática - a geometria está necessariamente presente - um ramo da matemática. O que existe - até o historiador precisa de matemática (apenas para contar datas).
É verdade que existe um "mas": o que é a matemática em geral? A questão não é de todo ociosa, porque a própria pergunta "quanto você precisa saber de matemática" é bastante vaga. A matemática é um complexo de ciências: a fundação em si é aritmética, depois vem a álgebra, geometria elementar, esteira. análise, geometria analítica. Suas seções superiores são matemática discreta, álgebra booleana, topologia, teoria dos números (aritmética superior) e muitas outras seções, além de teoria das probabilidades e estatística. Agora, surge uma pergunta mais clara: o que um programador precisa saber disso?
O primeiro ponto não é discutido - a aritmética precisa ser conhecida, é claro, por todas as pessoas. Sem ele, é impossível compor até o programa mais simples e, de fato, nenhuma ciência é impensável sem ele.
Mas tudo fica um pouco mais complicado - as seções de matemática de que um programador precisa são determinadas pela especificação do
que ele escreve. Se você precisa escrever um estúdio de música à la Cubase, deve conhecer a física do som e as seções da matemática associadas a ele. Se estamos falando de um estúdio gráfico, você deve conhecer a geometria profissionalmente (e se o estúdio for tridimensional, também topologia e álgebra matricial). E se estamos falando de um jogo tridimensional, precisamos conhecer a álgebra vetorial e, além disso, a mecânica newtoniana.
Como a programação é principalmente algoritmos, qualquer programador deve conhecer muito bem a teoria dos algoritmos, a teoria dos grafos, a álgebra booleana e a matemática discreta para escrever não apenas programas funcionais, mas também funcionais. Ou melhor: funcionando muito bem.
Ela é realmente necessária ou não?
E eu direi isso em geral: se, digamos, nos tempos antigos, a programação já existisse, o programador da época não conheceria bem a matemática. Esse "programador" também seria capaz de boxear, esgrima, organizar passeios a cavalo, navegar, mexer, falar oito idiomas estrangeiros, compor fugas e tokkats, ele sabia o que era um hexâmetro, pintou (com ênfase em A) fotos e muito mais . E às vezes ele fazia isso ao mesmo tempo, com tanta velocidade que qualquer “núcleo da inteligência” moderno fuma silenciosamente à margem.