-
Creación de la ENIAC
Tipo: Tecnológico
Conexión: Desarrollo del A-0 Compiler (1952)
Completada en 1945, se convirtió en la primera computadora electrónica para uso general. Utilizó tubos de vacío y pudo realizar miles de operaciones cada segundo y comenzó la computadora. Su programación se realizó utilizando interruptores y cables que limitaron su versatilidad, pero la capacidad de calcular el desarrollo básico del software.
Referencia: Ceruzzi, P. E. (2003). A History of Modern Computing. -
Primer compilador (A-0 System)
Tipo: Tecnológico
Conexión: Desarrollo de COBOL (1959)
Grace Hopper creó el primer sistema operativo compilador A-0 para convertir las instrucciones simbólicas en el código de la máquina. Esta actualización redujo la necesidad de código binario y permitió un progreso significativo en la eficiencia del desarrollo de software. La base básica para los lenguajes de programación progresivos creados.
Referencia:Beyer, K. (2009). Grace Hopper and the invention of the information age. MIT Press. -
Creación de FORTRAN
Tipo: Tecnológico
Conexión: Crisis del Software (1968), COBOL
Fortran (fórmula de traducción) desarrollada por IBM se convirtió en el primer lenguaje de programación de alto nivel con un alto nivel, centrándose en los cálculos científicos. Promoción de programación utilizando estructuras fáciles de entender y sentar las bases para futuros idiomas. Su triunfo demostró que podía abstraer sin poner en peligro su actuación.
Referencia: Backus, J. (1978). History of FORTRAN I, II, and III. -
COBOL y el lenguaje empresarial
Tipo: Tecnológico
Conexión: A-0 Compiler, FORTRAN
COBOL (un lenguaje normal orientado al negocio) se desarrolló con el objetivo de facilitar la automatización del negocio administrativo de negocios. Utilizando la estructura del idioma inglés, fue facilitado por el acceso al desarrollo que no sea usuarios expertos. Su influencia fue duradera con los sistemas financieros que todavía usa hoy.
Referencia: Sammet, J. E. (1969). Programming languages: History and fundamentals. Prentice-Hall. -
Crisis del Software
Tipo: Conceptual
Conexión: Programación estructurada (1969), Modelo en cascada
En la Conferencia de la OTAN de 1968, la industria del software identificó una creciente crisis: errores permanentes, gastos excesivos, entrega incorrecta y mantenimiento complejo. Esto motivó el estudio formal del desarrollo de software y el nacimiento de las metodologías.
Referencia: Naur, P., Randell, B. (1969). Software engineering report. https://archive.org/details/softwareengineer0000unse/page/3/mode/1up -
Programación estructurada
Tipo: Metodológico
Conexión: Crisis del software, Modelo en cascada
Edger Dijstra recomendó un programa organizado en respuesta a las discapacidades del desarrollo. Él nos permite usar "GOTO" en lugar de estructuras, como si, pero para optimizar el código para leer y preservar el código.
Referencia: Dijkstra, E. W. (1968). Go To Statement Considered Harmful.https://www.dcs.gla.ac.uk/~pat/cpM/choco4/nqueens/Goto-Harmful-Dijkstra.pdf -
Modelo en cascada
Tipo: Metodológico
Conexión: Programación estructurada, RUP
El modelo Cascada, recomendado por Winston Royce, desarrollo de software organizado en etapas secuenciales: análisis, diseño, implementación, inspección, mantenimiento. A pesar de ser firme, fue ampliamente reconocido en la industria.
Referencia: Royce, W. (1970). Managing the Development of Large Software Systems. https://www.praxisframework.org/files/royce1970.pdf -
Lenguaje C
Tipo: Tecnológico
Conexión: UNIX, C++, Java
Dennis Ritchi fue el creador del sistema Unix. Su poder, adaptabilidad y proximidad al hardware lo convirtieron en uno de los idiomas más impactantes de la historia. Todavía se usa ampliamente y consiste en la Fundación C, Java y otros.
Referencia: Ritchie, D. M. (1993). The Development of the C Language. https://www.nokia.com/bell-labs/about/dennis-m-ritchie/chist.pdf -
C++ y la POO
Tipo: Tecnológico
Conexión: Smalltalk, Java
Bjarne Stourup amplió el lenguaje C, incluida la programación orientada a objetos (POO), por lo tanto. Esto permitió una mayor modularidad y procesamiento de códigos, lo cual es importante para grandes proyectos de complejidad.
Referencia: Stroustrup, B. (1994). The Design and Evolution of C++. -
Metodología RUP
Tipo: Metodológico
Conexión: Metodología RUP
Un solo proceso de evaluación (RUP) componentes iterativos combinados con documentación organizada. Popular en grandes proyectos, facilitó la adaptación de la capacidad de cambiar las etapas claramente definidas.
Referencia: Kruchten, P. (1999). The Rational Unified Process: An Introduction. https://www.academia.edu/60725855/The_Rational_Unified_Process_an_introduction -
Lanzamiento de Python
Tipo: Tecnológico
Conexión: IA, GitHub Copilot
Guido Van Rossum desarrolló Python y enfatizó la lectura fácil y la simplicidad. Su adaptabilidad lo convirtió en una gran oportunidad para guiones, ciencia de datos, web y más. Es uno de los idiomas más comunes en la actualidad.
Referencia: Python Tutorial by Guido Van Russem : Free Download, Borrow, and Streaming : Internet Archive. (2024, 29 junio). Internet Archive. https://archive.org/details/python-tutorial_202406/page/89/mode/1up -
Java y la portabilidad
Tipo: Tecnológico
Conexión: C++, Android
Gracias a JVM, Java presentó el término "escritura una vez, ejecución en todas partes". Su enfoque en los objetos y la estabilidad se determina como un estándar para las aplicaciones comerciales y móviles.
Referencia: The Java language specification. (s.f.). Google Books. https://books.google.com.ec/books?id=Ww1B9O_yVGsC&printsec=frontcover&hl=es&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false -
Manifiesto Ágil
Tipo: Metodológico
Conexión: Scrum, XP, DevOps
Los especialistas establecen los valores y conceptos básicos del desarrollo de destreza en respuesta a las limitaciones del modelo en cascada. Cooperación extranjera, software operativo y adaptabilidad continua.
Referencia: Beck, K. et al. (2001). Manifesto for Agile Software Development. -
Surgimiento de Scrum
Tipo: Metodológico
Conexión: Manifiesto Ágil, XP
Conocido por sus creadores Ken Schwaber y Jeff Sutherland, Scrum proporcionó una estructura práctica de destreza: sprint, roles y suministros avanzados. Esta es la técnica inteligente más utilizada hoy en día.
Referencia: -
Docker y la contenedorización
Tipo: Tecnológico
Conexión: DevOps, CI/CD
Docker transformó el uso de software con contenedores de tamaño reducido, promoviendo ambientes reproducibles y escalables. Al colaborar con DevOps, promovió prácticas contemporáneas de automatización.
Referencia: Merkel, D. (2014). Docker: Lightweight Linux Containers. -
Kotlin y la evolución de Android
Tipo: Tecnológico
Conexión: Android, Java
JetBrains desarrolló Kotlin como una opción contemporánea frente a Java. Su sintaxis breve, cero tolerancia a errores y compatibilidad con Java lo han hecho un favorito en el ámbito del desarrollo móvil.
Referencia: JetBrains Documentation. -
Programación asistida por IA
Tipo: Tecnológico
Conexión: Python, IA ética
Con instrumentos como GPT-3, Codex y Copilot, los programadores empezaron a disponer de asistentes de Inteligencia Artificial que proponen código, reestructuran y registran automáticamente. Esto transforma la función del programador en el diseño lógico y la validación.
Referencia: Chen, M. et al. (2021). Evaluating Large Language Models Trained on Code. -
GitHub Copilot
Tipo: Tecnológico
Conexión: GPT-3, Tendencias futuras
Copilot de GitHub, creado por OpenAI y GitHub, facilita la escritura de código asistido por inteligencia artificial directamente en editores como VS Code. Transforma el método laboral convencional y provoca discusiones sobre ética, derechos de autor y capacitación profesional.
Referencia: GitHub Docs, OpenAI Codex. -
Expansión del desarrollo no-code/low-code
Tipo: Tecnológico
Conexión: DevOps, Agilidad
Instrumentos como Bubble, OutSystems o PowerApps facilitan la creación de software sin necesidad de conocimientos de programación, lo cual promueve la democratización del desarrollo y agiliza los procesos de entrega, aunque con algunas restricciones en la personalización.
Referencia: Gartner Research (2023). -
IA generativa en desarrollo
Tipo: Tecnológico
Conexión: Copilot, Automatización
Con el progreso en modelos como GPT-4 y Gemini, la inteligencia artificial generativa participa activamente en aspectos como el diseño, la documentación, las pruebas e incluso el desarrollo de la interfaz. Interpreta las opciones necesarias y acelera el ciclo de vida del software drástico.
Referencia: OpenAI Reports, Google Developers.