15 votos

Conocimiento de matemáticas recomendado para la programación

No estaba seguro de si esta es de las matemáticas o la programación de la pregunta, así que supongo que me tiro una moneda.

Yo sólo soy el aprendizaje de la programación gracias a mi Apoyo grado y estaba preguntando cuál es el mínimo nivel recomendado que debería intentar y conseguir mis matemáticas hasta sería.

Sé la clase de Matemáticas .NET se deshace de una desesperada necesidad de ser Matemáticas competente, pero estoy seguro de que sería de gran ayuda. Hasta ahora tengo una escuela de secundaria de matemáticas de nivel de educación (hasta 16 años de edad), pero eso fue hace 16 años.

Gracias.

21voto

tomash Puntos 4364

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.

3voto

scubabbl Puntos 6776

Si usted está entrando en un campo, tales como las finanzas, el desarrollo del juego o de otro fuertemente cuantitativa de la zona, más de matemáticas que usted sabe - especialmente aplicada de las matemáticas, tales como la estadística, probabilidad, geometría computacional, etc - el mejor. Conocimientos básicos de la teoría de conjuntos también le ayudará si usted planea hacer de base de datos desarrollo de aplicaciones. Por otro lado, si usted tiene la intención de desarrollar típicos de aplicaciones de negocios, entonces usted va a encontrar muy poco de la aplicación directa de las matemáticas más allá de la simple aritmética. Usted encontrará a pesar de que seria formación en matemáticas de manera significativa a mejorar sus procesos de pensamiento y capacidades analíticas. En comparación con las matemáticas, la programación en general es realmente childs play. He desarrollado profesional de aplicaciones de negocio por más de quince años y me puede contar el número de veces que los he aplicado directamente las matemáticas, por un lado; pero, yo uso las habilidades básicas que he desarrollado, mientras cursaba mis estudios de licenciatura en matemáticas todos los días. Así que, en pocas palabras, si quieres ser un programador, usted no puede ir mal aprendizaje de las matemáticas - cualquier tipo de matemáticas.

2voto

J.J. Puntos 131

Realmente depende de lo que desea crear (en el futuro). Por ejemplo, pueden utilizar matrices para criptografía. Para ser honesto, algunos reglas matemáticas podrían terminar siendo digno de saber (como progresiones, estadística), en lugar de utilizar muchos recursos del ordenador/servidor. Siempre vale la pena tratar de ver los patrones que pueden ser descritos por fórmulas matemáticas en áreas específicas.

2voto

Dustin Laine Puntos 213

Estoy de acuerdo con los demás que cualquier matemáticas conocimiento es bueno, sin embargo, en mi experiencia, la cantidad real que se requiere en la programación general es mínima. Sin embargo, es esencial tener una idea de lo que las computadoras pueden hacer con los números si usted tiene la intención de trabajar en esta área.

Mi trabajo es sobre todo de ingeniería, pero me escriben programas para aplicar los conceptos de ingeniería. Me convierto ecuaciones en progams.

Ahora, la ingeniería, las matemáticas es bastante básico. Sin embargo, su aplicación de manera eficiente y correcta en un programa no puede ser directa, a menudo debido a la precisión finita de número de almacenamiento.

Así que usted puede ser atrapado, incluso cuando se basa en las bibliotecas existentes (como .Neto de Matemáticas) si usted no entiende los aspectos prácticos de incluso de matemáticas simples cuando se hace en una computadora.

La mejor de las suertes!

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X