Recientemente, recorrí la Web y encontré una variedad de opiniones sobre si un programador realmente necesita matemáticas, y si es así, cuánto. Trataré de resumir todo y resumir.
Para empezar, debe tenerse en cuenta que las matemáticas están presentes en casi todas partes de nuestras vidas. La física sin matemáticas es impensable: aquí, creo, todo está claro y no hay necesidad de explicarlo. Química también. En biología, la influencia de las matemáticas es notablemente menor, pero también está presente allí (por ejemplo, las estructuras de las plantas, muchas de ellas son cuasifractales).
La música se puede representar en forma matemática. El diseño es impensable sin las matemáticas, la geometría está necesariamente presente, una rama de las matemáticas. ¿Qué hay allí? Incluso el historiador necesita matemáticas (aunque solo sea para contar fechas).
Es cierto, hay un "pero": ¿qué es la matemática en general? La pregunta no está del todo inactiva, porque la misma pregunta "cuánto necesitas saber de matemáticas" es bastante vaga. La matemática es un complejo de ciencias: la base misma es aritmética, luego viene el álgebra, la geometría elemental, la estera. análisis, geometría analítica. Sus secciones superiores son matemáticas discretas, álgebra booleana, topología, teoría de números (aritmética superior) y muchas otras secciones, así como teoría de probabilidad y estadística. Ahora surge una pregunta más clara: ¿qué necesita saber un programador de esto?
El primer punto no se discute: la aritmética debe ser conocida, por supuesto, por todas las personas. Sin él, es imposible componer incluso el programa más simple, y de hecho ninguna ciencia es impensable sin él.
Pero entonces todo es un poco más complicado: las secciones de matemáticas que necesita un programador están determinadas por la especificación de
lo que escribe. Si necesita escribir un estudio de música a la Cubase, debe conocer la física del sonido y las secciones de matemáticas asociadas con él. Si hablamos de un estudio gráfico, debe conocer la geometría profesionalmente (y si el estudio es tridimensional, también la topología y el álgebra matricial). Y si estamos hablando de un juego tridimensional, entonces necesitamos conocer el álgebra vectorial y, además, la mecánica newtoniana.
Dado que la programación es principalmente algoritmos, cualquier programador debe conocer muy bien la teoría de algoritmos, la teoría de grafos, el álgebra booleana y las matemáticas discretas para escribir no solo programas que funcionen, sino que funcionen bien. O mejor: trabajando muy bien.
¿Realmente la necesita o no?
Y diré esto en general: si, por ejemplo, en la antigüedad, la programación ya hubiera existido, el programador de esa época no solo habría conocido bien las matemáticas. Tal "programador" también sería capaz de boxear, cercar, organizar paseos a caballo, navegar, jugar, hablar ocho idiomas extranjeros, componer fugas y tokkats, sabía lo que era un hexámetro, pintó (con énfasis en A) imágenes y mucho más . Y a veces lo hizo al mismo tiempo, con tal velocidad que cualquier "núcleo de inteligencia" moderno fuma silenciosamente al margen.