Historia de la ingeniería de software

  • Lenguaje de programación Eiffel

    Lenguaje de programación Eiffel
    Bertrand Meyer introduce el lenguaje de programación Eiffel. Eiffel es un lenguaje orientado a objetos que se caracteriza por su enfoque en la calidad del software, incluyendo la seguridad, la robustez y la extensibilidad.
  • ENIAC

    ENIAC
    ENIAC, la primera computadora digital electrónica de propósito general, es completada por John Mauchly y J. Presper Eckert en la Universidad de Pensilvania. ENIAC utilizaba tarjetas perforadas para la entrada y salida de datos, y su programación era extremadamente compleja.
  • Primer lenguaje de alto nivel

    Primer lenguaje de alto nivel
    John Backus crea FORTRAN (FORmula TRANslator) en IBM, el primer lenguaje de alto nivel. FORTRAN simplificó enormemente la programación al permitir a los programadores usar expresiones matemáticas y variables con nombres, en lugar de código máquina.
  • Primer lenguaje de programación para aplicaciones comerciales

    Primer lenguaje de programación para aplicaciones comerciales
    Grace Hopper desarrolla COBOL (COmmon Business Oriented Language) en Remington Rand. COBOL fue diseñado para ser un lenguaje de programación fácil de usar para aplicaciones comerciales.
  • Ingeniería de software

    Ingeniería de software
    Se acuña el término "ingeniería de software" en la segunda conferencia de la OTAN sobre el tema. Se buscaba establecer una disciplina formal para el desarrollo de software, similar a otras áreas de la ingeniería.
  • Instrucción GoTo

    Instrucción GoTo
    Edsger Dijkstra publica "Estructura y Go To", un artículo influyente que critica el uso de la instrucción GOTO en la programación. Dijkstra argumenta que el uso de GOTO conduce a código espagueti, que es difícil de entender y mantener.
  • Modelo de cascada para el desarrollo de software

    Modelo de cascada para el desarrollo de software
    Se desarrolla el modelo de cascada para el desarrollo de software. Este modelo divide el proceso de desarrollo en fases secuenciales, como planificación, análisis, diseño, implementación, pruebas y mantenimiento.
  • Programación estructurada

    Programación estructurada
    Edsger Dijkstra publica "Structured Programming", un libro que populariza el uso de la programación estructurada. La programación estructurada se basa en el uso de estructuras de control como condicionales y bucles para organizar el código de manera más clara y legible.
  • Lenguaje de programación C

    Lenguaje de programación C
    Se introduce el lenguaje de programación C por Dennis Ritchie y Ken Thompson en Bell Labs. C es un lenguaje de propósito general que se caracteriza por su eficiencia y portabilidad.
  • lenguaje de programación Smalltalk

    lenguaje de programación Smalltalk
    Se introduce el lenguaje de programación Smalltalk por Alan Kay y Adele Goldberg en Xerox PARC. Smalltalk es uno de los primeros lenguajes de programación orientados a objetos, lo que significa que se basa en el uso de objetos para encapsular datos y comportamiento.
  • Concepto de "puntos de función"

    Concepto de "puntos de función"
    Barry Boehm publica el libro "Software Engineering Economics", que introduce el concepto de "puntos de función" como medida del tamaño del software. Los puntos de función permiten estimar el esfuerzo y el costo de desarrollo de un software.
  • "Gang of Four"

    "Gang of Four"
    Se publica el patrón de diseño "Gang of Four" por Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides. El libro documenta 23 patrones de diseño comunes en la programación orientada a objetos, que proporcionan soluciones reutilizables a problemas de diseño de software.
  • Lenguaje de programación Java

    Lenguaje de programación Java
    Se introduce el lenguaje de programación Java por Sun Microsystems. Java es un lenguaje de programación orientado a objetos, portable y robusto, que se ha convertido en uno de los lenguajes de programación más populares del mundo.
  • Agile Alliance

    Agile Alliance
    Se funda la Agile Alliance, una organización que promueve el uso de metodologías ágiles para el desarrollo de software. Las metodologías ágiles se basan en la colaboración, la comunicación y la entrega incremental de software funcional.
  • .NET

    .NET
    Se introduce la plataforma de desarrollo .NET por Microsoft. .NET es una plataforma de software que proporciona un entorno de desarrollo y ejecución para aplicaciones web y de escritorio.
  • sitio web GitHub

    sitio web GitHub
    Se funda el sitio web GitHub por Tom Preston-Werner y Chris Wanstrath. GitHub es una plataforma para compartir código fuente, que ha revolucionado la forma en que los desarrolladores de software trabajan juntos.
    2009: Se introduce el lenguaje de programación Go por Google. Go es un lenguaje de programación de código abierto
  • iPhone de Apple

    iPhone de Apple
    Se lanza el iPhone de Apple. Este evento marca el inicio de la era de los teléfonos inteligentes y cambia la forma en que interactuamos con la tecnología.
  • App Store de Apple

    App Store de Apple
    Se lanza la App Store de Apple. La App Store crea un nuevo ecosistema para el desarrollo y distribución de aplicaciones móviles, lo que impulsa la innovación y el crecimiento de la industria del software.
  • Raspberry Pi

    Raspberry Pi
    Se lanza el Raspberry Pi. El Raspberry Pi es un microordenador de bajo costo que se utiliza para una amplia variedad de proyectos, como la educación, la robótica y el desarrollo de software.
  • adopción de tecnologías digitales

    adopción de tecnologías digitales
    La pandemia de COVID-19 acelera la adopción de tecnologías digitales, como el trabajo remoto, la educación en línea y el comercio electrónico. La pandemia ha transformado la forma en que vivimos, trabajamos y aprendemos, lo que ha impulsado la demanda de nuevas soluciones de software.
  • lenguaje de programación Rust

    lenguaje de programación Rust
    Se lanza el lenguaje de programación Rust. Rust es un lenguaje de programación de código abierto que se caracteriza por su seguridad y rendimiento. Rust está siendo adoptado por empresas e instituciones que necesitan desarrollar software confiable y de alto rendimiento.
  • metaverso

    Se lanza el metaverso. El metaverso es un espacio virtual 3D en el que las personas pueden interactuar entre sí y con objetos digitales. El metaverso es una nueva frontera para la interacción social, el entretenimiento y el trabajo, y tiene el potencial de revolucionar la forma en que nos comunicamos y colaboramos.
  • Inteligencia artificial (IA) y aprendizaje automático (ML)

    La IA y el ML se están integrando cada vez más en el software, lo que permite a las aplicaciones realizar tareas más complejas e inteligentes. La IA y el ML tienen el potencial de transformar industrias como la salud, las finanzas y el transporte
  • DevOps

    DevOps es una práctica que une el desarrollo de software (Dev) y las operaciones de TI (Ops). DevOps tiene como objetivo mejorar la colaboración y la comunicación entre los equipos de desarrollo y operaciones, lo que permite una entrega de software más rápida y confiable.