¿Las matemáticas son útiles en la programación?
Tabla de contenidos
ToggleHe aquí por qué debería dejar de quejarse de la cantidad de matemáticas requeridas en las carreras de ciencia de datos e ingeniería informática.
“¿No era esto un curso de TI? ¿Por qué los maestros nos llenan de proyectos de matemáticas? ¡No tiene ningún sentido!”
Lo que no te están diciendo
Además de escribir y estudiar en la universidad, soy profesora particular. Estoy seguro de que algunos de ustedes no creerán lo que algunos de mis alumnos me dicen en clase.
A algunos de mis alumnos se les dice que memoricen, por ejemplo, fórmulas diferenciales y ni siquiera saben qué es una derivada. Después de explicarles el concepto, es fácil para aquellos que no están en el campo y comienzan a entender el curso. Porque antes no entendían, solo copiaban, recitaban y regurgitaban.
¿Cómo se relaciona esto con las matemáticas y la informática? Mucho, en realidad. Internet, las computadoras y la tecnología inalámbrica son inventos relativamente nuevos para la humanidad. Todos los pequeños detalles y la ciencia que hay detrás son realmente complicados, pero afortunadamente los diseñadores gráficos y los ingenieros se unen para crear lo que llamamos «interfaces de usuario». Estos «puentes» entre el propio hardware y el usuario permiten que la gente común se beneficie de un producto sin saber cómo funciona o cómo está hecho.
Pero este argumento va en contra de mi punto de partida, ¿verdad? Incorrecto. Solo digo que la gente normal, tus abuelos, tu hermano de seis años, los contadores bancarios, los veterinarios, no necesitan entender estos conceptos complejos; sin embargo, como especialista en TI o ingeniero, debes hacerlo.
Es su responsabilidad como experto en el campo comprender y comprender profundamente lo que sucede detrás de sus programas. Por supuesto, aprender lleva tiempo, pero debemos tratar de comprender completamente lo que estamos programando y desarrollando.
La opción fácil y perezosa
El cerebro humano tiende a elegir las opciones más fáciles. Sin duda, copiar desde Stack Overflow lleva menos tiempo que leer la documentación de una determinada función en los archivos de documentación oficiales. Preguntar en un foro en línea suele ser más rápido que depurar el código por sí mismo.
Las cosas son similares con las matemáticas. ¿Cómo calcula mi código esta función seno? ¿Cómo está calculando los valores para este exponencial? ¿Qué lo hace rápido? ¿Qué lo hace eficiente?
No te estoy diciendo que redescubras el álgebra y el cálculo básicos. Solo digo que estas preguntas, las del último párrafo, no son una pérdida de tiempo, sino una inversión para tu futuro.
Un ejemplo interesante
Las computadoras no son muy rápidas cuando se trata de operaciones complejas. Pero son expertos en sumas y multiplicaciones, especialmente con pequeños problemas. Un buen ejemplo para reavivar su interés por las matemáticas detrás de la ingeniería podrían ser las aproximaciones de funciones trigonométricas.
Isaac Newton (y otros matemáticos famosos, como Brook Taylor y Colin Maclaurin) desarrollaron lo que hoy llamamos “Power Series”. Las series son una suma de ciertos números, que a menudo siguen un patrón. Power Series puede aproximar funciones complejas sumando términos simples, similares a polinomios, ¡lo cual les encanta a las computadoras!
Así que no, las computadoras no miden ángulos en el círculo unitario para calcular valores para funciones trigonométricas. En cambio, suman una serie de números, lo que lleva a un valor aproximado más rápido del resultado.
Si está interesado, así es como se ven las series de Seno y Coseno de Taylor:
Las funciones exponenciales, los logaritmos y muchas otras funciones básicas pueden ser aproximadas fácilmente por una computadora muy, muy rápido. Hay otras técnicas (en el cálculo de potencia, por ejemplo) que hacen que las cosas vayan aún más rápido; pero no voy a entrar en los que en este post.
