¿Por qué las matemáticas son importantes para los informáticos?

Muchas de las funciones y operadores en todos los lenguajes de programación requieren algún conocimiento en matemáticas. Por ejemplo, estos operadores incluyen operadores aritméticos, de comparación, lógicos, de asignación y condicionales. Todas las tareas antes mencionadas necesitan matemáticas para poder ser utilizadas y aplicadas adecuadamente, especialmente los operadores aritméticos y condicionales.
Las ciencias de la computación dependen en gran medida de algoritmos, que este último a su vez depende en gran medida de las matemáticas. La ‘informática teórica’ involucra fuertemente las matemáticas discretas. La matemática discreta es básicamente el estudio de estructuras matemáticas que son discretas en lugar de continuas, por lo que esta rama ‘teórica’ de las ciencias de la computación involucra muchas matemáticas, en forma de gráficos, algoritmos, geometría computacional, computación cuántica, álgebra, número computacional teoría. De hecho, el uso de las matemáticas en ciencias de la computación depende del departamento de este último. Un principiante en programación puede no necesitar matemáticas, pero a medida que el programador avance a través del nivel de dificultad, tendrá que usar matemáticas más avanzadas.

Las matemáticas son algo importantes en todos los aspectos de la vida. Si está hablando de matemáticas de alto nivel, es decir, cálculo y matemáticas discretas, la necesidad depende especialmente del proyecto de software. En particular, para los científicos informáticos, les daré 3 ejemplos simples de por qué las matemáticas son importantes:

  • Si está codificando juegos, necesita matemáticas para calcular movimientos, golpes, puntajes, colocando objetos en los ejes x e y.
  • Si está haciendo un sitio web de comercio electrónico, definitivamente necesitará matemáticas para calcular sumas de dinero, publicar facturas, hacer recibos, etc.
  • Si está creando un sitio web social, necesitará matemáticas para calcular las masas que se unen, su sincronización, sus uniones cruzadas, sus uniones, etc.

Las matemáticas son importantes en informática pero si eres débil en ellas, no significa que no puedas codificar.

PD: El conocimiento es poder.

Una cosa más fundamental que debe abordarse es sin matemáticas, realmente no hay informática. El campo está construido en matemáticas. CS es una ciencia matemática.

Dos, la informática no es programación, así que encuentro la necesidad de tratarla como si fuera engañosa (y algo que encuentro). Los informáticos son las personas que diseñan nuevos algoritmos, ayudan a desarrollar nuevas tecnologías directamente relacionadas con la informática, prueban teoremas y mejoran nuestra comprensión de la computación científicamente. Es bastante amplio, pero sorprendentemente nicho. En muchas líneas, es muy difícil trazar una línea entre Informática y Matemáticas a menos que se miren los extremos en los dos campos.

Casi garantizo que todos (si no, la gran mayoría) de los algoritmos importantes que usas o conoces fueron probados matemáticamente para funcionar. Todo esto se basa en las matemáticas porque adivina qué, demostrando teoremas es cómo sabemos que el 100% de un algoritmo funciona de la manera que quieres. Eso solo lo hace fundamental, ya que las matemáticas y la computación van de la mano, y este ha sido el caso durante décadas. La teoría fundamental en nuestro campo se basa en la lógica matemática, por lo tanto, el campo se basa en eso.

Las matemáticas son importantes en todos los aspectos de la vida. Desafortunadamente, las personas no ven los efectos (o más bien, no hacen el enlace).

Todo, desde la ropa que llevas, hasta las computadoras que usas, hasta el horario del viaje que haces, hasta la longitud de la cola en el supermercado, etc.

Entonces, naturalmente, la informática también cae en eso. La mayoría de las matemáticas que aprende en CS se trata de cálculo proposicional / lógica de primer orden, combinatoria, gráficos y matemáticas discretas (aunque no se limita a eso). Por ejemplo, los motores de juegos 3D usan una cantidad sustancial de trigonometría para rotar objetos en el espacio 3D. Eso no siempre se enseña en las clases regulares de CS. Además, el cálculo de la probabilidad de alcanzar puntos únicos de falla en los sistemas de redes es un ejercicio estadístico, que rara vez se enseña en CS.

Entonces, ¿y si no lo tuviéramos? Bueno, no podríamos optimizar los programas para que se ejecuten de manera rentable en la nube. De hecho, no pudimos escalar los sistemas en su conjunto. No hubiéramos tenido Internet o IA, etc.

FWIW, veo muchos codificadores que evitan y a veces son francamente hostiles hacia las matemáticas, afirmando que hay bibliotecas para hacer todo eso. Esa posición me parece extremadamente ingenua. No menos importante, ya que necesitan avanzar hacia la ingeniería de sistemas de escala web de alto rendimiento, hacia los gustos de Google, etc. Que las matemáticas se convierten en la base de referencia que se espera que todos en ese equipo tengan. Si no lo ha hecho, en esos espacios puede ser considerado un “nadie” y no solo eso, incluso una responsabilidad, ya que su trabajo desperdiciará recursos hasta 100 veces. Es un ambiente realmente duro y aquellos que no tienen las matemáticas pueden avergonzarse, causando mucho estrés. Dicho esto, hay mucho trabajo para los codificadores que no son matemáticos, sin duda.