El álgebra de Boole es fundamental para entender las estructuras de control y la refactorización. Por ejemplo, he visto muchos errores causados por programadores que no sabían (o no podían usar) la ley de DeMorgan.Como otro ejemplo, el número de programadores reconocer inmediatamente que
if (condition-1) {
if (condition-2) {
action-1
} else {
action-2
} else {
action-2
}
puede reescribirse como
if (condition-1 and condition-2) {
action-1
} else {
action-2
}
Matemática discreta y combinatoria son tremendamente útil para comprender el funcionamiento de varios algoritmos y estructuras de datos.
Como lo menciona Baltimark, la inducción matemática es muy útil para razonar acerca de los bucles y la recursividad.
La teoría de conjuntos es la base de las bases de datos relacionales y SQL.
A modo de analogía, permítanme señalar que los carpinteros rutinariamente utilizan una variedad de técnicas empíricas para construir cosas como techos y escaleras. Sin embargo, un conocimiento de geometría le permite resolver problemas para los cuales no tiene una regla de oro "enlatada". Es como aprender a leer mediante la fonética frente al reconocimiento visual de un vocabulario básico. 90 +% de las veces no hay mucha diferencia. Pero cuando se encuentra en una situación desconocida, es MUY bueno tener las herramientas para resolver la solución usted mismo.
Finalmente, el rigor/precisión requerido por las matemáticas es una preparación muy útil para la programación, independientemente de la técnica específica. Una vez más, muchos de los errores en la programación (o incluso las especificaciones) que he visto en mi carrera tienen un pensamiento descuidado en su causa raíz.
El artículo de Yegge es muy completo y proporciona muchos otros recursos para lecturas adicionales. –
¡Gran enlace, gracias! –
de lejos, el mejor (est) artículo que leo sobre este tema, responde a toda su confusión y dilema sobre el aprendizaje de las matemáticas. Ojalá pudiera dar esto más que + Muchas gracias Gulzar, por favor comparte algunos artículos más como este si es que tienes. –