¿Qué haría como programador (específicamente un ingeniero de software) que implicaría un conocimiento matemático sólido?

¿Por qué usaste la multiplicación? En su lugar, podría haber usado la suma, repetido una cantidad suficiente de veces.

¿Por qué usaste la resta? Podrías haber usado la suma con números negativos.

¿Por qué usaste la división? Podrías haber usado el teorema del recordatorio chino y haber reemplazado toda división por sustracciones y, por lo tanto, por sumas.

Esto suena un poco oneroso. Su conocimiento de las matemáticas superiores, es decir, la multiplicación, la división y la resta, simplifica la forma en que piensa sobre el código. Y simplifica tu código. Hace que sea menos probable que contenga errores.


Esta es la misma razón por la que no intento expresar las fórmulas que necesito en términos de las cuatro operaciones que enumera, sino que utilizo el hecho de que pueden expresarse de manera mucho más sucinta incluso por funciones estándar y de nivel superior, incluso conocidas. entidades (no quiero llamarlos ‘objetos’ en el contexto de la programación, ya que los matemáticos y los programadores tienen ideas ligeramente diferentes sobre cuáles son). Algunos pueden ser:

  • desviación estándar, media y mediana de las estadísticas , así como el concepto de probabilidad que, aunque no aparece en mi código, lo influye de múltiples maneras; algunos menos sutiles que otros;
  • logaritmos, exponentes e integrales del cálculo ;
  • matrices y exponenciación de matrices, y productos vectoriales, de álgebra lineal;
  • Transformadas de Fourier, a partir de cálculos y análisis complejos. Este último, a su vez, requiere trigonometría antes de que tenga sentido.
  • módulo, de teoría de números y teoría de grupos
  • funciones y operadores booleanos
  • y así.

Y ni siquiera soy programador, pero estas cosas son cosas que he usado en código durante los últimos meses. En el trabajo.
Todos y cada uno de estos son cosas que, en teoría, podría derivar de nada más que adiciones si quisiera. A veces con más esfuerzo, a veces con menos. Pero no tengo el tiempo para dedicarlo, así que uso bibliotecas con código terminado para usar.

Ah, y las integrales anteriores? Si bien son muy fáciles de implementar, el hecho de que podría usarlos en el contexto particular donde los usé fue que un cálculo con lápiz y papel usando Transformadas de Laverse inversas me dijo que esta integral debería ser igual a la expresión que involucraba una cantidad que necesitaba calcular El resultado final fue un código que no incluía nada más que suma, multiplicación, resta y división, pero nunca hubiera podido alcanzar la fórmula correcta, con las constantes correctas intercaladas en los lugares correctos, si no hubiera tenido la ayuda de las transformaciones y el concepto de lo que es una integral.

Dependiendo de con qué esté trabajando y dónde, puede ser que nunca los necesite. Tal vez eso está bien contigo. Quizás sea feliz escribiendo interfaces gráficas de usuario de una manera que nunca requiera matemáticas más avanzadas que las que usa en este momento. Según tengo entendido, muchos programadores parecen estar bien así.

(Fuente de la imagen: Beat Dance Equalizer – Max Pixel)

Supongo que cuando necesiten o quieran crear los espectros dinámicos en el ecualizador del reproductor de música, acudirán al ingeniero de hardware y pedirán ayuda.
Si soy ese ingeniero de hardware, debe haber una conferencia sobre las transformadas de Fourier allí. Posiblemente algún análisis complejo en ruta. Después de todo, soy un empollón de las matemáticas, y otras personas podrían (aparentemente) beneficiarse de un conocimiento adicional de las matemáticas. De lo contrario, no me habrían preguntado en primer lugar.
Después de eso, señalaré la biblioteca necesaria y cómo usarla. O podría escribir un código de ejemplo yo mismo. Más rápido de esa manera.

No es que mis amigos en el departamento de software sean unos idiotas: al contrario , son personas muy inteligentes, y escriben un código mucho mejor que yo. Pero por alguna razón, todavía me parece que evitan tocar el código matemático más pesado. Eso me hace sentir triste. Y a veces, también me da más trabajo.

Desea escribir un juego en el que el jugador pilotee un módulo de aterrizaje desde la órbita de Marte hasta el suelo. La sólida formación matemática necesaria implica los conceptos de diferenciales. Esto te presenta poderes y raíces. Aprenderá sobre algunas relaciones físicas involucradas en la mecánica newtoniana. Hay algo de cálculo. Al final, aprenderá a usar la GPU para hacer los cálculos lo más rápido posible y esto le enseñará la optimización computacional.

Desea ganar dinero con un juego de casino en línea o juegos de casino con hardware físico. Esto le presenta la probabilidad, las estadísticas y la contabilidad. Hay muchas regulaciones que complican las matemáticas, pero realmente se reduce muy bien. (Aquí es donde estoy en mi viaje a World Domination, pero sigue leyendo).

Desea comprender las opiniones de las personas sobre algún tema y su fuente es texto de las redes sociales. Esto te presenta el aprendizaje automático, las matemáticas vectoriales, el análisis semántico y lo mal que realmente son las opiniones de las personas en las redes sociales. De cualquier manera, lo usas para ganar elecciones y poner a tus títeres er. Me refiero a tu gente en lugares altos de poder. Obtendrá que reescriban las regulaciones para que el siguiente paso sea mucho más fácil.

Desea derribar a Elon Musk, Mark Zuckerberg y Jeff Bezos con un algoritmo asesino que impulsa a todos sus clientes a su plantación digital. Esto te introduce a encontrar tantos genios matemáticos como puedas, jugando juegos con números de salario y “opciones de compra de acciones” (¡ja! Rías) y convencerlos de hacer los cálculos y construir tu imperio. Cuando finalmente hagas esto, solo recuerda quién te empujó por el camino correcto, ¿eh? 🙂

¡Bromeo, bromeo! En serio, manténgase alejado de las computadoras, arruinarán su vida. Apéguese a trabajos corporativos seguros cuando crezca. Eres un numero Abraza la conformidad que te están enseñando en la escuela. Obedezca la ley, manténgase alejado de la hierba y, por amor de Dios, no balancee el bote con esta charla sobre matemáticas.

He tomado muchos cursos de matemáticas en la universidad a lo largo de los años, y he usado todos y cada uno de ellos. Para actividades de automatización puramente procedimentales o programación de formularios web, no necesita muchas matemáticas, pero a medida que avanza hacia tareas más complejas, encontrará que diferentes formas de matemáticas manejan con elegancia una amplia gama de ellas. ¿Interesado en gráficos 3D? En el nivel de programación, todo es “álgebra lineal” para transformar coordenadas con matrices. Usar “funciones generadoras” para encontrar el número 200 en una serie matemática en lugar de calcular los 200 valores intermedios es algo que hace un programador eficiente (por ejemplo, 1 + 2 + 3 + .. + n se calcula fácilmente como n * (n + 1) / 2). Calcular grandes series de multiplicaciones mediante la adición de “logaritmos” en lugar de multiplicar realmente es fundamental en muchas aplicaciones para mantener la precisión de los resultados. Saber que hay una “forma cerrada” para una distribución estadística de los valores de entrada que está modelando ahorra muchos ciclos de cálculo.

Te animo a que continúes aprendiendo habilidades matemáticas, ya que te ayuda a pensar sistemáticamente sobre los problemas y proporciona soluciones elegantes. Estas son las habilidades que eventualmente lo contratarán para trabajos innovadores, en lugar de alguien que solo pueda codificar Python o C # o Go o lo que sea el sabor del mes. ¡Buena suerte!

Me gusta la respuesta de Miles Fidelman a ¿Qué haría como programador (específicamente un ingeniero de software) que implicaría un conocimiento sólido de matemáticas? Me ahorra escribir esa parte de mi respuesta. 😉

La otra razón para estudiar matemáticas, como programador, es que pensar en matemáticas y pensar en programas es similar una vez que entras en matemáticas abstractas. Tal vez ya, lidias con problemas de palabras. La idea es descubrir cuál es la información esencial y luego descubrir cómo desarrollar una solución al problema planteado. Como ingeniero de software, hay una buena cantidad de trato con alguien que tiene algún conjunto de requisitos, que se describen en la forma en que piensan, en lugar de en la forma en que tiene sentido para la programación. (Para ser más específicos, cuando comience su carrera como ingeniero de software, es probable que algún otro ingeniero de software o ingeniero de requisitos realice el paso de tomar los requisitos del cliente y convertirlos en requisitos de software. Sin embargo, podrá hacer mucho más si puede ir desde el cliente al código).

A medida que avanza en álgebra y cálculo, a menudo estará en una posición en la que tendrá varias técnicas y fórmulas diferentes. Ninguno de ellos resolverá el problema. Debe descubrir cómo descomponer el problema en una serie de pasos, aplicar diferentes técnicas en cada paso y, finalmente, llegar a la solución. (Las pruebas son aún más de esto.) Eso, por supuesto, es muy parecido al proceso de programación y ayudará a mejorar sus habilidades en eso, incluso si planea pasar todo su tiempo escribiendo sistemas de nómina.

En una línea similar, he visto programadores que se dieron cuenta de que las clases de informática como Theory of Computing no eran realmente importantes para ellos. Pudieron armar un código que se ejecutó lo suficientemente rápido como para resolver los problemas que tenían delante. Sin embargo, hay momentos en los que poder pensar sobre el problema de una manera más abstracta es útil. Si bien el programador autodidacta eventualmente puede llegar a la misma solución que el informático, dado que mis proyectos pagan por hora y tienen plazos, me gustaría evitar la situación en la que primero se implementa una solución lenta y luego se depura para ser el solución más rápida (incluso si la solución incorrecta se desarrolla muy rápidamente).

Puedo ver que su comprensión de la “Programación” es muy superficial, pero está bien, ya que todavía es joven. Mientras siga aprendiendo, podría encontrar más influencia de las matemáticas en la ingeniería de software.

Las matemáticas no solo tratan con números, sino también modelos abstractos, razonamiento lógico y pruebas de nuevos hechos, caracterizaciones y más.

Desde la dependencia de paquetes / bibliotecas, JSON, referencias de objetos, hasta sistemas de archivos, estructuras de datos y máquinas de estado, Graph Theory está involucrado y todos pueden explicarse en modelos Graph. Entonces diría que la teoría de grafos es fundamental.

Específicamente, la Ingeniería del Software es una aplicación constructiva de las Matemáticas. Nos ocupamos de cómo modelar un problema y construir una solución.

Las matemáticas proporcionan un fondo lógicamente sólido para que razonemos, modelemos problemas y demostremos que la solución funcionará teóricamente o nunca tendrá una solución. Un problema bien conocido que no tiene solución es el problema de detención. Consulte la (des) capacidad de decisión de los problemas de decisión para obtener más información.

Además, el rendimiento de la solución se puede medir de forma experimental y teórica en la teoría de la complejidad. Una vez más, los problemas de decisión están involucrados. Una clase bien conocida de problemas difíciles se llama NP-Complete Problems. Estos problemas aún no tienen soluciones muy eficientes sin ciertas limitaciones en algunos parámetros. Puede referirse a los problemas de FPT (Parámetros fijos manejables) para conocer formas especiales de tratar los problemas de NP-Complete prácticamente.

Más ejemplos de aplicaciones matemáticas son modelos estadísticos en aprendizaje automático, teoría de probabilidad en algoritmos aleatorios y algoritmos de aproximación. Los hacks de operadores booleanos se basan en Boolean Logic y me sorprendería si no supieras ninguno de ellos. Otro buen ejemplo es el algoritmo de exponenciación rápida.

Creo que te di demasiada información para empezar. Solo uno más para agregar, ¡obtenga una copia de Concrete Mathematics – Wikipedia y comience a leer!

Antes de responder a su pregunta, me gustaría mencionar que puede ser programador o ingeniero de software sin tener que usar ninguna otra matemática que no sea la aritmética básica que mencionó. Depende de qué tipo de programas esté escribiendo, así como del enfoque que tome para escribirlos. Hoy en día, existen marcos y bibliotecas que manejan las matemáticas de nivel superior. Sin embargo, ayuda tener una comprensión de estos conceptos.

Por ejemplo, podría trabajar como desarrollador front-end diseñando interfaces de usuario, y no tener que trabajar con otra cosa que no sea suma o resta. Incluso como desarrollador de juegos, existen motores de juegos que puedes usar que manejan la física / las matemáticas internamente.

Para responder directamente a su pregunta, uno de los escenarios más simples y comunes donde se usan las matemáticas de nivel superior es cuando se simula la física. Aquí hay un ejemplo muy, muy simple:

Digamos que tenemos una bola 2D que es lanzada por un jugador en un juego. Para calcular la trayectoria de la pelota, utilizamos algunos conceptos de cálculo. Conocemos la posición inicial de la pelota y un valor de velocidad para cada eje.

Si esto fuera un problema matemático y tuviéramos la función de aceleración, podríamos integrar la aceleración para encontrar la velocidad e integrarla para obtener la posición de la pelota en cualquier momento.

[matemáticas] p (t) = \ int v (t) dt + C [/ matemáticas]

Sin embargo, tenga en cuenta que este es un motor de física, por lo que nunca tendremos la velocidad del objeto como una función explícitamente definida. Entonces, para predecir la posición de la pelota en el siguiente cuadro, agregamos su velocidad a su posición, y agregamos la aceleración (gravedad) a la velocidad.

Esto se conoce como el método de integración de Euler. Aunque técnicamente, solo estamos sumando números, este es un cálculo y estamos resolviendo una integral.

actualización nula () {

// actualizar posición
position.x = position.x + velocity.x;
position.y = position.y + velocity.y;

// velocidad de actualización
velocity.x = velocity.x + acceleration.x;
velocity.y = velocity.y + acceleration.y;

}

¿No tienes suficientes matemáticas para ti? Multa. Aquí hay un ejemplo de cuándo necesitaría usar trigonometría básica:

Si estamos haciendo un juego de conducción de arriba hacia abajo, entonces debemos hacer que el automóvil se mueva a la misma velocidad, pero en un ángulo diferente cuando se mueve el volante. Para calcular el nuevo vector de velocidad del automóvil, utilizamos las funciones seno y coseno para desplazar los componentes x e y manteniendo la misma magnitud.

giro vacío (ángulo de flotación) {
// actualiza la dirección mientras mantienes la velocidad
velocidad.x = cos (ángulo) * velocidad;
velocidad.y = sin (ángulo) * velocidad;
}

Y aquí hay una ilustración de las funciones que estamos calculando:

no tiene que usar las matemáticas todo el tiempo, pero ayuda a entenderlo.

Por ejemplo, cuando programo un sistema de control de temperatura (estoy trabajando en uno en este momento). La forma más fácil de hacer esto es tener un sensor y un elemento calefactor, verificar la temperatura del sensor. si hace frío, encienda el elemento calefactor. si hace demasiado calor, apague el elemento calefactor. Esto podría funcionar, pero no hace un muy buen trabajo en la regulación de la temperatura.

Lo mismo se puede hacer con los controladores PID, que también se pueden implementar en el software. PID significa controlador de derivación integral integral. usaría esto para lograr el mismo objetivo, solo que de manera más eficiente. https://en.wikipedia.org/wiki/PI… .

Lo mismo ocurre con la programación de juegos. podrías cambiar las coordenadas de un objeto para que parezca que está cayendo (solo restando números de la coordenada y), o puedes usar de manera realista la ecuación de gravedad dentro de tu juego. Ambas formas funcionarían, dependiendo del objetivo.

por supuesto, depende de lo que quieras decir con programación. Si realiza una gran cantidad de programación de front-end, sumar y restar valores es tan complejo como lo necesitan muchas interfaces. si, por ejemplo, quieres hacer tus propios juegos (especialmente desde cero), ahí es donde el conocimiento de las matemáticas avanzadas realmente marca la diferencia.

Bueno, la mayoría de los desarrolladores de software terminan en trabajos corporativos trabajando en aplicaciones internas. Estas aplicaciones a menudo implican la creación de sistemas de informes que serán utilizados por la contabilidad, el marketing y la gestión de proyectos y requieren muchos cálculos financieros. Cosas como calcular la amortización y la depreciación para que un gerente de proyecto pueda determinar la viabilidad y la rentabilidad del proyecto. Es por eso que muchos programas de computación de la universidad incluyen clases de contabilidad.

Sin embargo, incluso si te dedicas a crear juegos, generalmente hay muchas matemáticas involucradas: tu juego de sprites 2D básico tiene cálculos de distancia, movimiento de personajes y éxito de ataque. Y los juegos más avanzados también pueden tener que calcular colisiones y física en tiempo real para modelar el mundo real.

¿Qué es un programa de computadora?

¿Son muchas letras, números y signos de puntuación? Un archivo de texto?

¿Es una colección de algoritmos y estructuras de datos?

¿Es una secuencia de instrucciones de máquina?

Un programa de computadora es una combinación de un conjunto de estructuras de datos asociativas (es decir, tablas de símbolos), gráficos (estructuras de flujo de datos y flujo de control) y de tipos / abstracciones. La definición estática de un programa dicta las interacciones dinámicas que puede exhibir.

Lo último es lo que nos importa y por qué fabricamos software. La conexión entre los dos es muy complicada y, francamente, intratable. ¡Especialmente para los idiomas que se utilizan para la gran mayoría del software comercial actual!

Todas estas cosas son matemáticas. Puede tener una intuición razonable, aunque elemental, sobre la programación que le permite razonar moderadamente bien sobre los comportamientos de sus programas. Y cuando se equivoca, generalmente puede dar vueltas, formular hipótesis para explicar por qué su programa no hizo lo que esperaba y luego proponer un cambio que, cuando se prueba, puede resolver o no la discrepancia. Continúa probando, formulando hipótesis y cambiando hasta obtener el comportamiento que desea.

Tenga en cuenta que este tipo de desarrollo de software ofrece muy pocas garantías en cuanto a la libertad frente a comportamientos inaceptables.

Dependiendo de lo que estés escribiendo, eso puede estar bien. Pero en muchos casos, no lo es. Si, como yo, está escribiendo software para almacenar, mantener y administrar los datos de un cliente (¡un cliente que paga !) Y pierde sus datos, tiene una gran posibilidad de perder a ese cliente (y, a través de la reputación dañada, otros también). El “mejor esfuerzo” a menudo no es lo suficientemente bueno. Aunque a veces en realidad lo es … ¡aunque definitivamente no en el caso del almacenamiento de datos!

De todas formas…

No se equivoquen, las matemáticas que sustentan el software están ahí.

Ignóralo bajo tu propio riesgo.

¿Fuerte? Depende de lo que significa exactamente “fuerte”, es suficiente para entender cómo funciona algo. TBH Nunca he usado números cardinales para modelar o números complejos, pero supongo que en algunos dominios encajarían mejor, y necesitaría un repaso rápido.

Sistema de soporte de producción con un nivel indeterminado de complejidad del producto, máquinas de estado – gráficos.

Pronósticos comerciales: redes neuronales, algoritmos genéticos, álgebra lineal para modelar algunas funciones de clasificación si no tiene conocimiento del dominio.

Conversión de unidades de stock de almacén minimizando la diferencia de valor: estadísticas y algunos cálculos.

Gráficos: cuaterniones, tensores, matrices, álgebra lineal en general, supongo.

Todo se puede hacer sumando, restando, multiplicando y dividiendo solamente . Pero es más rápido y más elegante con las herramientas matemáticas. Al final, si su próximo colega de escritorio no puede leer su código, será mejor que agregue y multiplique.

A decir verdad: no puedo sumar y multiplicar en mi cabeza, solo sé cómo funciona. Me confundo con los números superiores a 10.

Lo uso todo el tiempo.

He usado

  • matrices y, a veces, cuaterniones (álgebra lineal en general) para calcular cómo se ven los objetos desde diferentes perspectivas, a menudo pero no exclusivamente en los juegos.
  • métodos numéricos (parte del cálculo) en juegos como parte del motor de física.
  • teoría de grafos para encontrar caminos.
  • Técnicas matemáticas (incluida la comprensión de los conceptos de límite y asíntotas) para calcular la eficiencia algorítmica.
  • álgebra simple para calcular el tamaño y la ubicación de los objetos en dispositivos con diferentes resoluciones.
  • Teoría de la probabilidad en el diseño del juego y la planificación de la capacidad.

Otros ingenieros de software presumiblemente usan otras partes de las matemáticas en su trabajo diario. Realmente solo puedo hablar por mí mismo.

Mucha gente ya ha dado algunas respuestas bastante específicas.

La respuesta más general es que hay matemáticas serias detrás de casi cualquier aplicación de software seria. Ya sea que termine “haciendo los cálculos” (es decir, derivando fórmulas), o no, mejor saber qué fórmulas existen, dónde buscarlas, dónde encontrar bibliotecas de software que implementen algoritmos específicos y tener un sentido razonable de cómo qué están haciendo y cómo lo están haciendo.

Por ejemplo, para una gran cantidad de aplicaciones, la respuesta es “FFT”. Es necesario saber qué significa, qué es, cuándo usarlo, cómo interactuar con él, implementaciones disponibles, tanto hardware como usar hardware DSP especializado, requisitos de recursos informáticos, condiciones de error para administrar, etc.

Más allá de eso, felicidades por aprender algunas habilidades a los 12 años, pero debe reconocer sus límites actuales. Hay mucho más que aprender antes de saber lo que significa ser un “ingeniero de software”, mucho menos para convertirse en uno. Como dice el refrán, “es lo que no sabes lo que te va a matar”. Todavía estás en un punto en el que ni siquiera sabes lo que no sabes.

Woah! ¡Felicidades por comenzar a NUEVE años!

Hay algunos campos que utilizan algunos conocimientos matemáticos bastante pesados, el trabajo en 3D es uno.

Pero en general, la programación no requiere habilidades matemáticas particularmente fuertes.

He sido programador profesional durante casi 20 años (¡8 años más de lo que has estado vivo!) Y nunca he tenido que usar matemáticas avanzadas, la geometría es tan difícil como fue, bueno, fue difícil para yo soy bastante malo en matemáticas …

Realmente, como desarrollador de software, podrías seguir toda tu carrera y no usar más matemáticas de las que usaste en la escuela secundaria.

Hace mucho tiempo, las computadoras eran completamente herramientas de matemáticos.

Resulta que, si bien es cierto que las computadoras son extremadamente útiles para la resolución de problemas matemáticos, las computadoras también son extremadamente útiles para actividades que no son muy matemáticas en absoluto. Y lo mismo ocurre con la programación informática.

El sistema educativo todavía está estancado en el pasado, y también lo están nuestros políticos. Ven un problema en el que deberían ver una oportunidad. En lugar de ver a una generación de jóvenes que crecen alrededor de las computadoras con un deseo natural de usar estas abundantes herramientas electrónicas, ven una gran deficiencia en los puntajes matemáticos como una señal condenatoria de que nuestra nación se ha quedado atrás en competencia tecnológica.

El usuario de Quora tiene la respuesta correcta. Puede codificar una solución para cualquier problema que pueda entender. Cuanto más sepa, más podrá hacer. Los gráficos 3D usan mucha trigonometría, por ejemplo. MatLab requiere tanta matemática que te hará girar la cabeza. La banca también requiere muchas matemáticas, pero a menudo, ese tipo de aplicaciones se basan en bases de datos para procesar todos los números, por lo que hay una buena posibilidad de que el programador no tenga que preocuparse por ello. Hay mucho trabajo en aplicaciones web y aplicaciones de bases de datos internas que no requieren muchas matemáticas, pero si estudias puedes obtener un trabajo más interesante.

Parte de mi trabajo actual implica hacer el diseño de software de aplicaciones científicas. Sin embargo, este no es el único caso donde se aplican las matemáticas. Contabilidad, operaciones de mercado, sistemas integrados en dispositivos médicos, autotronics, sistemas de control industrial y muchos otros son áreas donde las matemáticas no solo son deseables, sino esenciales para hacer el trabajo de la manera correcta. En particular, en muchas de estas áreas el no saber matemáticas puede resultar en pérdida material o poner vidas en peligro.

Para comprender completamente cómo funciona un algoritmo que implementa, debe comprender las matemáticas detrás de él. Cada vez que usa un algoritmo bien conocido, en algún momento alguien probablemente demostró que funcionaba matemáticamente. La columna vertebral de la informática son las matemáticas, cuanto antes lo aceptes, más ventajoso será tu posición.

Sí, yo uso la teoría de categorías .

Busque lo que son functores, monoides y mónadas. Verás lo que quiero decir.

Actualmente programo principalmente en Scala y Haskell, y ambos idiomas hacen un uso intensivo de esas cosas.

Creo que, en mi experiencia, el uso de las matemáticas se exagera enormemente en la mayoría de los casos.

Escribo software (en su mayoría proyectos de tipo de utilidad para el hogar, y muy raramente hago matemáticas en mis programas) aparte de la simple suma, resta, etc.

Sin embargo, puedo imaginar que la carga matemática en otro tipo de programas será significativamente mayor; por ejemplo, el análisis de datos, las simulaciones y los juegos también usarán muchas matemáticas, aunque parte de eso podría estar “enterrado” en las bibliotecas.

Sin embargo, mucha programación requiere lógica y la aplicación de lógica y lógica se considera una rama de las matemáticas.

Eso no significa que debas considerar las matemáticas como una asignatura secundaria; limitarás severamente cualquier oportunidad laboral futura si limitas tus conocimientos de matemáticas.

La respuesta obvia sería cuando se usa un programa para realizar cálculos matemáticos. Por ejemplo, dos proyectos en los que trabajo realizan cálculos masivos de isótopos, por lo que las raíces cuadradas, la interpolación lineal y polinómica de puntos de datos y promedios con desviación estándar y error estándar. El otro mueve una etapa xy con desplazamiento arbitrario y rotación desde ortogonal, por lo que atan2, sin, cos y cosas similares. Bastante simple, ¡pero usas matemáticas cuando las necesitas!