¿Necesito matemáticas para programar?

Eso depende de si desea ser un programador para el nuevo mundo de sistemas complejos / AI, o simplemente escribir un script java lo suficientemente bueno para los desarrolladores web.

El apocalipsis del software que viene:

… esto es un fracaso de la educación. Aunque la programación nació en las matemáticas, desde entonces se ha divorciado de ella . La mayoría de los programadores no son muy fluidos en el tipo de matemática (lógica y teoría de conjuntos, en su mayoría) que necesita para trabajar con TLA +. “Muy pocos programadores, e incluidos muy pocos maestros de programación, comprenden los conceptos muy básicos y cómo se aplican en la práctica. Y parecen pensar que todo lo que necesitan es código ”, dice Lamport. “La idea de que hay un nivel más alto que el código en el que necesitas poder pensar con precisión, y que las matemáticas realmente te permiten pensar con precisión al respecto, es completamente extraña . Porque nunca lo aprendieron “.

Las matemáticas discretas pueden ser muy útiles en ciertas situaciones. Teoría de grafos, combinatoria, etc. Los gráficos por computadora implican más matemáticas que cualquier otra cosa que haya visto, en general. Sin embargo, los programas son construcciones lógicas y los mejores libros de programación que he leído se abren con cinco capítulos sobre teoría. Un regalo para la conceptualización es el mayor activo de un programador. Siempre puede encontrar pseudocódigo para el algoritmo euclidiano extendido o cualquier otra cosa en Internet.

¿Diseña finitamente muchos casos de prueba para un escenario de posibilidad infinita? Ahí es donde intervienen las matemáticas discretas. En otras palabras, la mayoría de las cosas entre trigonometría / álgebra / geometría de la escuela secundaria y matemáticas de nivel universitario pueden arrojarse al baño en lo que respecta a la programación.

Raramente participará en algún tipo de matemática, excepto en ciertas áreas, como la minería de datos y la IA, que combinan programación y estadísticas. Aunque, el pensamiento abstracto y el pensamiento algorítmico fueron inicialmente conceptos matemáticos.

En resumen, depende de su definición de “necesidad”. La integración de aprendizaje no es necesaria en la mayoría de los casos, pero la comprensión profunda de las matemáticas realmente ayuda a pensar de manera pura, como lo hace una máquina.

Además, estudiar matemáticas te da la oportunidad de abordar muchos problemas que necesitan solución. Si practica lo suficiente, ganará experiencia y podrá comprender si sus resultados son sólidos. Además, aprenderá que cualquier problema puede tener múltiples formas de resolución, pero debe elegir la forma más eficiente. Finalmente, la resolución de problemas es exactamente lo que intenta hacer como programador. Convierte un problema de la vida real en un lenguaje diferente (matemático o lenguaje de programación), lo resuelve y luego lo devuelve como una solución de la vida real.

Podría estar equivocado, porque yo no soy un programador profesional, pero he estudiado un par de idiomas. La lógica me ayudó mucho durante el proceso, especialmente cuando estaba tratando de encontrar mis errores. Finalmente, los vectores, matrices, etc. son conceptos matemáticos. No es tu trabajo multiplicar un vector con una matriz a mano, pero es importante saber cómo.

No NECESITA matemáticas para la programación, pero es de gran ayuda. Creo que la mayoría de la gente piensa que las “matemáticas” son trigonometría, cálculo, series de Fourier, etc., pero uno debe incluir la lógica de predicados y las pruebas formales, que son los componentes básicos de la programación en CUALQUIER lenguaje.

Si desea seguir una ruta de código que es una condición y no de dos condiciones?

si (COND1 Y NO (COND2 O COND3)) ENTONCES

… haz algo bueno por ti mismo

Es la analítica de las matemáticas lo que ayudará a la codificación.

Depende del tipo de programación que hagas, pero en general, puedes pasar solo con las matemáticas de la escuela secundaria.

Sin embargo, las habilidades de pensamiento / rasgos de carácter que desarrollas al tomar muchas matemáticas ayudan enormemente.

Por ejemplo, en matemáticas, aprende a resolver problemas con restricciones dadas, puede aclarar qué se da y qué se puede dar por sentado, y cómo resolverlo, desarrollar rasgos de carácter de paciencia y perseverancia desde la mayoría de las veces, cuando estás aprendiendo algo nuevo, no sabes cómo hacerlo.

En la programación del mundo real, con bastante frecuencia, a menos que esté haciendo una tarea repetitiva de rutina (que se vuelve aburrida muy rápidamente), debe aclarar qué es lo que sabe y no sabe, cómo llegar desde donde está hasta donde necesita ser (requisito del proyecto), y tener la paciencia y la fortaleza mental para perseverar descubriendo qué es lo que no sabes y necesitas aprender.

Sorprendentemente, este proceso (en términos de pensamiento conceptual de nivel superior) es similar a lo que experimenta cuando toma muchas matemáticas de nivel superior en el nivel universitario.

De alguna manera, es muy similar a mucha ingeniería además de la ingeniería de software.

Sí, por supuesto. Para implementar algunas operaciones algorítmicas, debe saberlo

More Interesting

¿Qué es la teoría de Ramsey y cómo se relaciona con la informática?

¿Qué pasaría si pudiéramos demostrar que AGI está más allá del poder computacional de la máquina Turing?

¿Por qué la mayoría de los informáticos tienen un título en matemáticas?

¿Realmente necesito una sólida formación en matemáticas para comenzar a aprender programación?

¿Cuál es el enfoque algorítmico para encontrar el área rectangular máxima en un histograma?

¿Cuáles serían las implicaciones para el campo de la teoría de la complejidad si se encontrara un algoritmo de tiempo polinomial alto para un problema NP-difícil?

¿Qué matemáticas están involucradas en la base de datos?

¿Hay ramas de las matemáticas y las ciencias que no se han descubierto, o hemos agotado todo el conocimiento que requerimos sobre estos dos?

¿Cuál es tu identidad favorita en combinatoria?

¿Qué área de programación de juegos está más matemáticamente involucrada y es adecuada para una especialización en matemáticas?

¿Qué son las funciones en matemáticas en lenguaje simple?

¿Cómo funciona el proceso de eliminación en una lista vinculada? ¿Es solo eliminando la referencia del nodo? ¿Qué mecanismo se utiliza para disponer un nodo?

¿Cómo se usan las matemáticas discretas en los juegos?

¿Podría un genio aleatorio resolver el problema P vs NP o pasará a través de avances muy lentos en la ciencia por un grupo de personas que trabajan juntas?

¿Qué están resolviendo realmente los mineros de Bitcoin? ¿Qué tipo de problemas matemáticos están resolviendo y qué logran al resolverlos?