En su famoso ensayo de Cómo Convertirse en un Hacker, Eric Raymond dice que usted necesita básicamente cero formación en matemáticas. Ahora en este ensayo se habla sobre la piratería como en la escritura de código abierto sistema de nivel de software; por ejemplo, si quieres escribir una copia de seguridad del disco de la utilidad o de una red de monitoreo del programa.
La gama de software puede variar bastante sencillo (página web de secuencias de comandos) hasta los muy complejos (aerolínea de sistemas de reserva), con un espectro rico en el medio. Para la mayoría de ella, usted no necesita ninguna de matemáticas de la formación a todos. Sin embargo un par de puntos:
- No puedo pensar en ninguna instancia en la que tener algo de formación en matemáticas duele . La matemática nos enseña cómo pensar cuidadosa y críticamente, que es un central de la habilidad para el bien de los científicos, incluyendo a los programadores de computadoras. Todavía nos requieren cálculo, álgebra lineal y discreta de las clases de matemáticas para un B. S. en Ciencias de la computación por una razón.
- Hay programación de las carreras de matemáticas donde el conocimiento es esencial. Estos incluyen la mayoría de los trabajos HPC, optimización, simulación física, la criptografía, de finanzas, de previsión del tiempo, el enrutamiento de tráfico, etc
- Si usted desea un trabajo en un nivel superior de lugar (por ejemplo, Google) se espera que usted sabe algo acerca de las matemáticas. O, más bien, acerca de la complejidad, las estructuras de datos y algoritmos que realmente son las matemáticas. Por ejemplo, si usted no se da cuenta de que su algoritmo que se ejecuta en $T(n)=2T(n/2) + O(n)$ es considerablemente más rápido que otro ejecuta en $O(n^2)$, entonces probablemente será muestra de la puerta.
Incluso trabajando como desarrollador de bases de datos de años, me encontré con mis matemáticas formación útil (tuve que implementar cálculo de precisión arbitraria en un software para el tipo de datos DECIMAL, que es parte del estándar SQL... haciendo la división correctamente y de manera eficiente no es evidente).
Por último, una pasión de por vida para las matemáticas, me ha ayudado a mejorar su interacción con otros programadores. No me parece que como mucha afinidad con los codificadores cuya preocupación es minucias acerca de la sintaxis o lenguaje de las modas. La hermosa parte de la programación, en su núcleo, en realidad es sólo matemáticas.