Considera la gramática y la teoría de tipos como tus amigos.
Es erróneo que la gente piense que las matemáticas no son necesarias para la programación. Eso es a menos que todo lo que vaya a hacer sea compilar listas de cosas para interfaces o entrada de datos. Pero, ¿entonces es esa programación o trabajo clerical glorificado?
Es fácil para mí ignorar el trabajo administrativo. Soy malo en eso. Lo sé porque me senté un día y probé una de esas pruebas de orientación profesional. Realmente solo fallé en las habilidades de oficina. Todo lo demás era casi superior. Mis habilidades en lógica, negocios y pensamiento numérico estaban en la cima. La última fue una pequeña sorpresa para mí, aunque básicamente tomé la ruta STEM.
Por supuesto, dado que la programación cubre muchos temas, debido a que las herramientas de software se utilizan en cada esfuerzo ahora, tiene que haber áreas en las que el no matemático sobresalga en una forma de programación. El trabajo administrativo y la programación van de la mano en muchas herramientas de gestión empresarial.
Pero se inventa mucha programación para facilitar algunas de las tareas. Y, esas serían tareas más simples en contabilidad, contabilidad, organización, etc.
Pero, para crear programas que se ocupen de esas tareas, debe trabajar en un espacio de conocimiento abstracto para manipular las constantes, los números. Y, ahí es donde el álgebra entra por primera vez en el juego.
La programación de computadoras está más estrechamente relacionada con las matemáticas finitas y aplicadas que cualquier otra cosa. La lógica, como ciencia matemática, es ciertamente parte del área temática. Se supone que la teoría de tipos es parte de la lógica matemática. Y, los programas usan tipos de una manera menos formal.
La gramática, una parte de la lingüística, también es parte de la programación. Y encontrará que un tema matemático es el estudio de autómatas finitos y otras máquinas abstractas que aceptan o rechazan ciertas secuencias de símbolos, algunas de las cuales podrían llamarse programas.
Entonces, al aprender a programar, de hecho estás participando en un área de las matemáticas. Lógica, teoría de conjuntos, gramáticas (retroalimentación simbólica y sistemas de control), etc.
Ahora, he visto a aquellos que vienen desde el otro lado del planeta para trabajar en San José. Algunas de estas personas no estudiaron mucho las matemáticas para convertirse en programadores. Vi a un joven brillante quedar atrapado en una definición de programa iterativa, expresada como una secuencia, del tipo que se encuentra en secuencias y series. Su trabajo no era simplemente escribir la definición de secuencia para la forma a (n) = a (n-1) + b (n) en el programa. Esta fórmula se utilizó para definir una versión informal del encadenamiento de bloques cibernéticos. Comenzó a quedarse atrás, y el proyecto comenzó a quedarse atrás, porque estaba totalmente confundido por la fórmula.
Un lugar donde aprende a leer estas fórmulas es en Cálculo, si no en Precálculo. En Precálculo y Cálculo también aprende sobre matrices y vectores.
Entonces, estaba en otro lugar, donde el chico estaba actuando como un macho, y su jefe intentaba adelantarlo, mientras escribía su primer programa de Python (30+ chicos). Pero, ¿sabía él qué era un producto interno? Es decir, ¿entendió él P = a (i) * b (i) (y aquí se usa la notación indicial)? NO. Este tipo pasó su primer año en Chico State con un estupor de borrachera. Entonces, se perdió el cálculo. Tuvo que cambiarse a Humboldt, pero de alguna manera, aunque se graduó en ciencias de la computación, se había perdido todas las herramientas que necesitaba para comenzar a construir un software de clasificación de correo electrónico real. Que todavía trabaja, mientras que personas mejor capacitadas han sido despedidas, realmente tiene que ver con su relación con la mujer de 60 años que es su jefe.
Entonces, no necesitas matemáticas. Pero puedes fallar en ciertos trabajos o vender tu alma para conservarlo.
Una gran cantidad de programación importante no necesita estadísticas. Pero, mucha programación interesante usa estadísticas como una parte importante de su dieta. Pero, aún querrá conocer los conceptos, especialmente de la teoría de la probabilidad. Debe saber ciertas cosas sobre la posibilidad de que el programa falle o aumente la población de usuarios, etc.
Una cosa que es realmente importante en la programación es el análisis asintótico de ciertos algoritmos, a menos que nunca planee programar los algoritmos o usarlos directamente. Si no trabaja con algoritmos, entonces realmente trabaja como programador de artistas o como programador administrativo. Es posible que no tenga que conocerlos a todos. Pero, sin duda, debería poder leer sobre los algoritmos que utiliza. A menudo, si va más allá de lo básico, la gente esperará que recomiende algoritmos. Entonces, ¿qué pasa si eliges el equivocado?
Por lo tanto, para hacer la programación como algo más que un empleado, al menos debería haber superado el cálculo 2.
He utilizado el análisis de Fourier y he trabajado con DSP para acústica y óptica. Esto no es necesario para mucha programación. He trabajado con algoritmos de aprendizaje, IA, etc. Hay matemática en estos que quizás no tengas que usar para todo. La manipulación de robots, etc. tiene algunos aspectos de la dinámica lagrangiana. Regresé y revisé álgebra matricial, Hilbert Space, teoría de control, etc. Todos estos son para abordar áreas que no son necesarias fuera de la programación para ingeniería.
La programación en tiempo real también es algo que he tenido que hacer. La programación en tiempo real se necesita con mayor frecuencia en ingeniería. No encaja en ninguna de las áreas matemáticas tradicionales, excepto cuando las personas teorizan sobre autómatas. Si puede encontrar trabajos de programación en tiempo real que no requieren demasiada ingeniería eléctrica, entonces es posible que solo necesite lógica booleana y una idea de cómo diseñar colas de trabajo, escribir manejadores de respuestas, etc. Algunas personas intentan usar redes de Petri u otras aplicaciones de Graph Theory para comprender cómo se supone que operan los programas en tiempo real. Entonces, si no tiene que comprender realmente la física asociada con la aplicación en tiempo real, podría funcionar como un código para los que hacen la física.
Por lo tanto, parece que necesita física, teoría de grafos y, en consecuencia, cierta comprensión de los sistemas diferenciales y la teoría de conjuntos.
Sin las matemáticas, aún podría programar una pequeña interfaz agradable para que alguien haga clic en algo para comprar un boleto para algo o alguna otra función. Es probable que aún pueda hacer una página web. Podrías arreglar las páginas de perfil del sitio web social para las personas que viven.
Y, sabes, algunas personas realmente quieren hacer esas cosas. A algunas personas realmente les gusta jugar con los colores y el diseño de la página y mostrar una imagen de alguien. Los artistas y anunciantes que realizan una cierta cantidad de programación realmente pueden llevarse bien en estas áreas. No necesitan matemática siempre que se mantengan alejados de las transformaciones 2D que podrían usarse en animaciones, etc. Y, eso podría ser posible. Pero, las mejores páginas web usan geometría analítica como una madre tung.
Algunos artistas y anunciantes son personas increíbles con una especie de sexto sentido sobre cómo hacer mensajes y presentaciones impactantes. Muchas de estas personas no necesitan matemáticas. Pero, si los cumple, muchos de ellos realmente no encuentran que las matemáticas sean un gran desafío.
OKAY. Digamos que ha tenido una carrera satisfactoria como programador que realmente nunca usa las matemáticas, excepto para programar y hacer llamadas a bibliotecas. Ahora, puedes ser un gerente. ¿Cómo va a hacer todos los análisis financieros y matemáticos de gestión? Valor futuro, proporciones, etc. Necesita todo eso. Por lo tanto, es mejor obtener con probabilidad y estadísticas, ecuaciones diferenciales básicas, álgebra, etc. No es la parte más difícil de todo eso. Pero, encontrará que lo básico es parte del lenguaje.