Avance de los Algoritmos y Progamacion

  • 1800 BCE

    Primeros Algoritmos de todos (sin ser descritos)

    En la Antigua Babilonia ya se usaban “recetas” numéricas para calcular raíces cuadradas y resolver problemas de áreas e volúmenes.
  • 300 BCE

    Primer Algoritmo matematico de la historia

    El primer algoritmo conocido fue creado por Euclides hace más de 2000 años para encontrar el máximo común divisor de dos números
  • Primer algoritmo documentado en la historia
    900

    Primer algoritmo documentado en la historia

    Se atribuye al matemático persa Muhammad ibn Musa al-Juarismi en su obra Al-Kitāb al-mukhtaṣar fī ḥisāb al-jabr wa-l-muqābala, describió procedimientos paso a paso para resolver ecuaciones lineales y cuadráticas Introduce el concepto de procedimiento matemático paso a paso.
  • Primera calculadora mecánica (Pascalina)

    Primera calculadora mecánica (Pascalina)

    Blaise Pascal crea la Pascalina calculadora capaz de sumar y restar automáticamente
    Primer intento de automatizar cálculos matemáticos.
  • Leibniz y su calculadora avanzada

    Leibniz y su calculadora avanzada

    Gottfried Wilhelm Leibniz perfeccionó la máquina de Pascal creando una calculadora capaz de sumar, restar, multiplicar, dividir e incluso calcular raíces cuadradas. Además, Leibniz planteó la idea de un lenguaje universal simbólico, anticipando el álgebra booleana y la lógica que hoy se usan en programación
  • Telar de Jacquard (tarjetas perforadas)

    Telar de Jacquard (tarjetas perforadas)

    Joseph Marie Jacquard inventó un telar controlado por tarjetas perforadas, donde cada perforación representaba una instrucción. Esta innovación fue el antecedente directo de la programación, ya que introdujo la idea de dar órdenes a una máquina mediante un código.
  • Charles Babbage y la Máquina Analítica

    Charles Babbage y la Máquina Analítica

    Charles Babbage diseñó la Máquina Analítica, considerada la primera computadora teórica de propósito general. Su diseño incluía unidad de control, memoria y procesador, conceptos equivalentes a las computadoras modernas. Aunque nunca se construyó completamente, definió la base de la informática.
  • Ada Lovelace, primera programadora

    Ada Lovelace, primera programadora

    Ada Lovelace trabajó con Babbage y escribió el primer algoritmo destinado a una máquina: el cálculo de los números de Bernoulli en la Máquina Analítica reconoció que las computadoras podían ir más allá de los cálculos matemáticos, anticipando el concepto de programación moderna
  • Alan Turing y la Máquina de Turing

    Alan Turing y la Máquina de Turing

    Alan Turing formuló el concepto de la Máquina de Turing, un modelo matemático que explica cómo los algoritmos pueden procesar información. Este trabajo fundó la ciencia de la computación teórica y demostró que cualquier problema resoluble puede describirse mediante un algoritmo.
  • Zuse Z3, primera computadora programable

    Zuse Z3, primera computadora programable

    Konrad Zuse desarrolló en Alemania la Z3, considerada la primera computadora programable de la historia. Usaba relés electromecánicos y podía ejecutar programas almacenados en cinta perforada, representando un gran salto hacia la programación real en máquinas.
  • Colossus, descifrado en la guerra

    Colossus, descifrado en la guerra

    Durante la Segunda Guerra Mundial, en el Reino Unido se creó el Colossus, una computadora electrónica diseñada para romper los códigos alemanes generados por la máquina Enigma. Fue una de las primeras computadoras electrónicas digitales y mostró la importancia de los algoritmos en la criptografía.
  • ENIAC, primera computadora de propósito general

    ENIAC, primera computadora de propósito general

    En EE. UU. se construyó el ENIAC, considerada la primera computadora electrónica de propósito general. Se utilizó para cálculos balísticos del ejército y ocupaba una sala completa. Se programaba manualmente mediante interruptores y cables, un proceso complejo pero fundamental para la historia.
  • Fortran, primer lenguaje de alto nivel

    Fortran, primer lenguaje de alto nivel

    IBM desarrolló Fortran (FORmula TRANslation), el primer lenguaje de programación de alto nivel, diseñado para aplicaciones científicas e ingenierías. Permitió escribir programas de manera más comprensible que en lenguaje máquina, marcando el inicio de la era del software moderno.
  • LISP, lenguaje para IA

    LISP, lenguaje para IA

    John McCarthy creó LISP (LISt Processing), un lenguaje orientado a la manipulación de símbolos. Fue pionero en aplicaciones de inteligencia artificial, como procesamiento de lenguaje y sistemas expertos, y se sigue utilizando en investigación avanzada.
  • COBOL, lenguaje para negocios

    COBOL, lenguaje para negocios

    Grace Hopper y un equipo internacional desarrollaron COBOL (Common Business Oriented Language). Fue pensado para aplicaciones administrativas y bancarias. Su sintaxis se parecía al inglés, facilitando la lectura y convirtiéndolo en uno de los lenguajes más usados en el mundo empresarial durante décadas.
  • C, base de los sistemas operativos

    C, base de los sistemas operativos

    Dennis Ritchie en los Laboratorios Bell creó el lenguaje C, caracterizado por su potencia y flexibilidad. Fue la base para el desarrollo del sistema operativo UNIX y posteriormente influyó en muchos lenguajes modernos como C++, Java y Python.
  • C++, programación orientada a objetos

    C++, programación orientada a objetos

    Bjarne Stroustrup desarrolló C++, que extendía el lenguaje C con el paradigma de programación orientada a objetos (POO). Esto permitió modelar programas con clases, herencia y encapsulación, facilitando el desarrollo de software complejo y de gran escala.
  • JavaScript y la web interactiva

    JavaScript y la web interactiva

    Netscape creó JavaScript, un lenguaje ligero para navegadores que permitió crear páginas web dinámicas e interactivas. Con el tiempo se expandió más allá del navegador y hoy es la base del desarrollo web moderno junto con HTML y CSS.
  • Java, multiplataforma

    Java, multiplataforma

    Sun Microsystems lanzó Java, con el lema “escribe una vez, corre en todas partes”. Gracias a la Máquina Virtual de Java (JVM), los programas podían ejecutarse en distintos sistemas operativos. Esto lo convirtió en uno de los lenguajes más populares en aplicaciones empresariales y móviles.
  • Python y lenguajes dinámicos

    Python y lenguajes dinámicos

    Python, creado en los 90 pero popularizado en los 2000s, se convirtió en uno de los lenguajes más usados gracias a su sintaxis simple y clara. Se emplea en ciencia de datos, inteligencia artificial, web y educación. En paralelo, otros lenguajes dinámicos como Ruby y PHP también ganaron popularidad.
  • Big Data e inteligencia artificial

    Big Data e inteligencia artificial

    La explosión de datos generó la necesidad de algoritmos de Big Data y machine learning. Herramientas como Hadoop, TensorFlow y PyTorch facilitaron el entrenamiento de redes neuronales, revolucionando campos como la visión por computadora, el reconocimiento de voz y la predicción de datos.
  • Programación asistida por IA y computación cuántica

    Programación asistida por IA y computación cuántica

    Hoy en día, la programación cuenta con apoyo de IA generativa (ejemplo: GitHub Copilot o ChatGPT, que ayudan a programar). También avanza la computación cuántica, con lenguajes como Q# y Qiskit. La tendencia es hacia la democratización de la programación con plataformas low-code y no-code.