Las matemáticas están en todas partes en la programación. Los lenguajes de programación y los enfoques han evolucionado enormemente a lo largo de los años. Muchos idiomas contienen bibliotecas enormes de funciones matemáticas que encapsulan la complejidad subyacente de las matemáticas.
Dicho esto, la programación es dominar el lenguaje de la lógica, mientras se trata de la gestión de la memoria, la sintaxis y el diseño. Tomaré cada uno de estos temas a continuación con una breve visión matemática basada en mi experiencia personal …
Lógica: en primer lugar, George Boole es un matemático importante que es conocido y ha creado una base científica en el dominio lógico. Si estudia el álgebra de Boole, comprenderá el poder de las operaciones lógicas, la dualidad, las puertas lógicas digitales … La lógica también es una cosa impulsada por el proceso, que se aprende mediante el estudio de algoritmos básicos de programación, estructuras de datos y, en etapas posteriores, avanzar hacia la logarítmica áreas matemáticas como la programación lineal (por ejemplo, algoritmo de Dijkstra), teoría de grafos (por ejemplo, simetrías), …
Gestión de la memoria: Otro dominio matemático interesante para comprender es cómo se realizan las operaciones numéricas básicas en los diferentes sistemas numéricos: notación binaria, octal, hexadecimal y decimal. Cómo se anotan los números grandes en notación binaria de 8 bits, 16 bits, 32 bits y 64 bits en formatos endian pequeños y grandes. Cómo la notación exponencial científica se expresa en formato binario es un tema muy interesante. Y cómo se calculan las operaciones matemáticas en estos sistemas numéricos utilizando una representación binaria … hoy en día, sin embargo, los programadores ya no entienden las complejas matemáticas requeridas al realizar estas operaciones, ya que las CPU modernas han asumido estas tareas …
- ¿Cuáles son algunas de las razones por las cuales una persona no puede retener lo que ha aprendido?
- Cómo aprender a hacer juegos.
- ¿Cuáles son los mejores cursos de desarrollo de habilidades en la India a través del aprendizaje a distancia?
- ¿Qué pasa con los diplomáticos que no pueden aprender un idioma local?
- ¿Por qué aprendemos de manera diferente?
Sintaxis: si aprende y obtiene una buena comprensión de cómo se crean los lenguajes de computadora, realmente entenderá cómo la sintaxis que está aplicando se convierte en código de máquina … Como primera observación, no puedo recomendar lo suficiente como para echar un vistazo a lo básico cómo funciona una CPU, cómo se construye el código de máquina … Tuve una experiencia fantástica durante mi juventud al crear demostraciones en pantalla dividida en el procesador Motorola 6502 de 8 bits en lenguaje ensamblador. Más tarde pasé a 8086 en Intel CPU Suite, incluso hice cosas como la programación en modo protegido en el 80386 y luego aprendí el ensamblaje básico en el mainframe ibm durante mi carrera profesional … De todos modos, volviendo a las matemáticas … Para modelar la estructura de idiomas y procesarlos. (= interpretar o compilar), debe tener una buena comprensión de la teoría de conjuntos, y cómo se aplica la teoría de conjuntos en ciencias de la computación para el análisis léxico y la estructura del lenguaje de análisis. La biblia en el tema es el libro Compiladores, Principios y Herramientas de Aho, Sethi y Ullman (El libro del Dragón). Además, en la literatura de Linux hay muchas herramientas que se ocupan de la gramática como yacc y Lex. Como consecuencia de este conocimiento, construí para un gran banco belga un compilador cruzado que convirtió aproximadamente 12.000.000 de líneas de código pl / 1. El compilador cruzado resolvió el problema de precisión que ocurrió al cubrir a los francos belgas (anotados con cero decimales) en Euros (anotados con 2 decimales) …
Diseño … Este es un tema muy amplio, tal vez sin una relación matemática directa. Pero me gustaría enfatizar que un buen diseño requiere un conocimiento profundo de los patrones de implementación y de relación. Este dominio es quizás el más difícil de todas las habilidades informáticas para dominar. El diseño se trata de equilibrar el esfuerzo, el tiempo, la capacidad de expansión, la capacidad de uso, la reutilización, la rentabilidad, etc. en algo que funcione y cumpla con las expectativas. Más aún, los equipos y las personas diseñan cosas y su éxito central reside en la creatividad y la motivación de las personas. ¡Así que la gestión de personas es tan importante como la ciencia! De vuelta a las matemáticas … Existen dominios de problemas informáticos en los que se requiere una gran cantidad de conocimientos matemáticos especializados, como programación de juegos, composición gráfica, simulación, control de hardware, protocolos, inteligencia artificial, predicción, lógica difusa, análisis de datos. Las áreas matemáticas que se deben dominar en estos dominios son los gráficos por computadora (cálculo vectorial, física, emisión de rayos, …), modelos matemáticos complejos de objetos y comportamientos del mundo real, como envolturas de simulación de vuelo, simulación de embudo de viento, etc. La inteligencia artificial se ocupa de muchas áreas matemáticas, pero lo más importante hoy en día es el aprendizaje automático que utiliza redes neuronales que requieren un conocimiento estadístico de matemática muy avanzado.