Línea de tiempo sobre la evolución histórica del desarrollo de software

  • Primeros Programas de Computadora

    Primeros Programas de Computadora
    En 1945, con el desarrollo de la ENIAC (Electronic Numerical Integrator and Computer) en la Universidad de Pensilvania, se comenzaron a desarrollar los primeros programas de computadora.
    Metodologías predominantes: Programación manual.
    Lenguajes relevantes: Lenguaje máquina y ensamblador.
    Desafíos: Programación directa en hardware; ausencia de abstracciones.
    Figura destacada: Alan Turing – Fundador de la computación teórica con la máquina de Turing.
    Categoría: Tecnológico
  • Creación de FORTRAN

    Creación de FORTRAN
    Fortran se convirtió en el primer estándar de lenguaje informático. Ayudó a abrir las puertas a la informática moderna y se considera uno de los productos de software más influyentes de la historia. Metodologías predominantes: Programación estructurada incipiente.
    Lenguajes relevantes: FORTRAN
    Desafíos: Necesidad de lenguajes de alto nivel para facilitar la programación científica.
    Figura destacada: John Backus – Líder del equipo que desarrolló FORTRAN
    Categoria: Lenguaje de programación
  • Surgimiento de COBOL

    Surgimiento de COBOL
    COBOL fue desarrollado por un consorcio de organizaciones gubernamentales y empresariales llamado Conferencia sobre Lenguajes de Sistemas de Datos, que se formó en 1959
    Metodologías predominantes: Desarrollo orientado a procesos comerciales.
    Lenguajes relevantes: COBOL (impulsado por Grace Hopper).
    Desafíos: Facilitar la programación para aplicaciones de negocios.
    Figura destacada: Grace Hopper – Pionera en la creación de COBOL y del primer compilador.
    Categoría: Lenguaje de Programación
  • Conferencia de Ingeniería de Software de la OTAN

    Conferencia de Ingeniería de Software de la OTAN
    Las Conferencias de Ingeniería de Software de la OTAN se celebraron en 1968 y 1969. el objetivo era definir las mejores prácticas para el desarrollo de software basadas en la aplicación de principios de ingeniería. Metodologías predominantes: Desarrollo de sistemas operativos modulares.
    Lenguajes relevantes: B (precursor de C).
    Desafíos: Necesidad de sistemas operativos portables y eficientes.
    Figura destacada: Ken Thompson – Co-creador de UNIX,
    Categoria: Metodológico
  • Modelo en Cascada

    Modelo en Cascada
    El modelo de cascada es un método de gestión de proyectos, en el que el proyecto se divide en distintas fases secuenciales, donde el equipo puede pasar a la siguiente fase sólo cuando se haya completado la anterior. Metodologías predominantes: Programación estructurada.
    Desafíos: Desarrollar un lenguaje eficiente y portable para sistemas operativos.
    Figura destacada: Winston Royce, propone el modelo en cascada
    Categoría: Metodológico
  • Creación del Lenguaje C

    Creación del Lenguaje C
    El lenguaje C fue desarrollado por Dennis Ritchie en los laboratorios Bell de ATT, para construir utilidades que se ejecutaban en el sistema operativo UNIX. Metodologías predominantes: Programación estructurada.
    Lenguajes relevantes: C
    Desafíos: Desarrollar un lenguaje eficiente y portable para sistemas operativos.
    Figura destacada: Dennis Ritchie – Creador del lenguaje C, fundamental para el desarrollo de software de sistemas.
    Categoria: Lenguaje de Programación
  • Estándar ANSI C

    Estándar ANSI C
    El estándar ANSI C, también conocido como C89, es una especificación que define la sintaxis, semántica y funcionalidades básicas del lenguaje de programación C. Metodologías predominantes: Programación orientada a objetos.
    Lenguajes relevantes: C++, Ada.
    Desafíos: Manejo de la complejidad en sistemas grandes.
    Figura destacada: Bjarne Stroustrup – Creador de C++, combinando programación estructurada y orientada a objetos
    Categoría: Lenguaje de Programación
  • Lanzamiento de AmigaOS

    Lanzamiento de AmigaOS
    AmigaOS es el nombre que recibe el conjunto de la familia de gestores de ventanas y ROMs que incluían por defecto los ordenadores personales Commodore Amiga como sistema operativo. Metodologías predominantes: Desarrollo de software basado en componentes.
    Lenguajes relevantes: Perl, Objective-C.
    Deafíos: Automatización de tareas y procesamiento de texto.
    Figura destacada: Larry Wall – Creador de Perl, facilitando la manipulación de texto y la administración de sistemas.
    Cate
  • Creación de Python

    Creación de Python
    Python comenzó en principio como un proyecto de afición, la primera versión se publicó en 1991. Dicha versión ya incluía buenas características, como algunos tipos de datos y funciones para la gestión de errores. Metodologías predominantes: Desarrollo rápido de aplicaciones.
    Lenguajes relevantes: Python.
    Desafíos: Necesidad de un lenguaje sencillo y legible para diversas aplicaciones.
    Figura destacada: Guido van Rossum – Creador de Python
    Categoría: Lenguaje de Programación
  • Nacimiento de Java y JavaScript

    Nacimiento de Java y JavaScript
    Java fue creado por Sun Microsystems, mientras que JavaScript fue creado por Brendan Eich de Netscape, con el objetivo de agregar interactividad a las páginas web. Metodologías predominantes: Desarrollo web y orientado a objetos.
    Lenguajes relevantes: Java (James Gosling), JavaScript (Brendan Eich), PHP.
    Desafíos: Desarrollo de aplicaciones web interactivas y multiplataforma.
    Figura destacada: James Gosling – Creador de Java.
    Categoría: Lenguaje de Programación
  • Manifiesto Ágil

    Manifiesto Ágil
    Se publica el Manifiesto Ágil, promoviendo valores y principios para el desarrollo de software que enfatizan la colaboración, la flexibilidad y la entrega continua. Metodologías predominantes: Desarrollo ágil (Manifiesto Ágil).
    Lenguajes relevantes: C#, Ruby.
    Desafíos: Adaptación rápida a cambios en requisitos y mejora de la colaboración en equipos.
    Figura destacada: Kent Beck – Coautor del Manifiesto Ágil y promotor de Extreme Programming.
    Categoría: Metodológico
  • Popularización de Git y GitHub

    Popularización de Git y GitHub
    La adopción de Git y la creación de GitHub transforman la colaboración en proyectos de software, facilitando el control de versiones y el trabajo en equipo. Metodologías predominantes: Desarrollo basado en microservicios.
    Lenguajes relevantes: Go (desarrollado por Robert Griesemer, Rob Pike y Ken Thompson).
    Desafíos: Escalabilidad y eficiencia en sistemas distribuidos.
    Figura destacada: Ken Thompson – Co-creador de Go.
    Categoría: Herramienta
  • Auge de DevOps

    Auge de DevOps
    Se refiere al creciente interés y adopción de las prácticas y filosofías de DevOps, que buscan integrar el desarrollo de software (Dev) y las operaciones de TI (Ops) para una entrega más rápida, fiable y eficiente de productos de software. Metodologías predominantes: DevOps y entrega continua.
    Lenguajes relevantes: Swift (Apple), Rust.
    Desafíos: Integración y entrega continua, mejora en la seguridad y rendimiento de aplicaciones.
    Figura destacada: Chris Lattner.
    Categoría: Metodológico
  • Introducción de Docker

    Introducción de Docker
    Docker es una plataforma de código abierto que permite a los desarrolladores crear, implementar y ejecutar aplicaciones en contenedores. Los contenedores Docker son paquetes autónomos que incluyen la aplicación, las bibliotecas y dependencias. Metodologías predominantes: Desarrollo basado en contenedores y orquestación.
    Lenguajes relevantes: Kotlin, TypeScript.
    Desafíos: Gestión de contenedores y aplicaciones escalables
    Figura destacada: Brendan Burns.
    Categoría: Herramienta
  • Lanzamiento de GitHub Copilot

    Lanzamiento de GitHub Copilot
    GitHub, en colaboración con OpenAI, presenta Copilot, una herramienta de autocompletado de código basada en inteligencia artificial que asiste a los desarrolladores en tiempo real. Metodologías predominantes: Programación asistida por IA.
    Lenuajes relevantes: Python, JavaScript.
    Desafíos: Integración de herramientas de IA en el desarrollo de software.
    Figura destacada: Sam Altman – CEO de OpenAI, impulsando herramientas como GitHub Copilot.
    Categoría: Herramienta
  • Programación sin Código

    Programación sin Código
    La inteligencia artificial permite a personas sin conocimientos técnicos crear aplicaciones mediante instrucciones en lenguaje natural, marcando una nueva era en el desarrollo de software. Metodologías predominantes:Desarrollo sin código y programación asistida por inteligencia artificial (IA)
    Lenguajes de programación relevantes:Python, JavaScript, y lenguajes visuales no-code
    Figura(s) importante(s) y:Demis Hassabis (CEO de DeepMind) y Sam Altman (CEO de OpenAI)
    Categoría: Tecnológico