Historia del software

Compartir Imprimir Citar
Macintosh 128K, lanzado por Apple Inc. en 1984
Macintosh 128K de 1984. Un hito en el desarrollo de computadoras comerciales con programas almacenados

La historia del software tiene su origen a mediados del siglo XIX (diecinueve) cuando se desarrolló por primera vez el concepto de "programa almacenado", independiente de las instrucciones de funcionamiento de la máquina. Este concepto fue ideado por Charles Babbage en la década de 1850, siendo el precursor teórico más directo de lo que hoy se conoce como "software". Sin embargo, solo se hizo realidad hasta 1940, cuando se introdujeron las primeras computadoras digitales modernas, capaces de almacenar eficientemente diferentes conjuntos de instrucciones. El desarrollo del software, permitió el uso comercial de las computadoras, siendo fundamental para el inicio de la Era Digital.

Los programas de Ada Lovelace para el motor analítico de Charles Babbage en el siglo XIX a menudo se consideran los fundadores de la disciplina, aunque los esfuerzos de Babbage siguieron siendo solo teóricos, ya que la tecnología de la época de Lovelace y Babbage resultó insuficiente para construir su computadora. A Alan Turing se le atribuye ser la primera persona en proponer una teoría del software en 1935, lo que condujo al desarrollo de la informática y la ingeniería de software como disciplinas académicas.

En la década de 1940, la primera generación de software, para las primeras computadoras digitales con capacidad de almacenar programas, tenía las instrucciones escritas directamente en código binario, generalmente para grandes unidades centrales. Más tarde, la creación de los lenguajes de programación modernos, junto al avance de las computadoras comerciales, generó un aumento rápido del desarrollo de software. Primero, con el lenguaje ensamblador, seguido de la programación funcional y los paradigmas de programación orientados a objetos.

La publicación más temprana conocida del término "software" en un contexto de ingeniería, fue realizada en agosto de 1953 por Richard R. Carhart, en un Memorando de Investigación para la Corporación Rand. Aunque para la década de 1950 era ya común referirse a los programas almacenados como "software", como puede verse en la reclamación de Paul Niquette (octubre de 1953) y en el ensayo de John Wilder Tukey, The Teaching of Concrete Mathematics, de 1958.

Hoy en día, el software es un concepto fundamental en programación y se ha vuelto omnipresente en los equipos digitales, desde electrodomésticos hasta aviones. Además, su significado se ha expandido gracias al rápido desarrollo de aplicaciones móviles, aplicaciones web, librerías, frameworks, pluguins y máquinas virtuales, para terminar cobijando casi cualquier tipo de ejecutable de código alojado y autocontenido.

HSD

Antes de las computadoras digitales de programa almacenado

Separación entre el software y el hardware

La informática como concepto se remonta a la antigüedad, con dispositivos como el ábaco, el mecanismo de Antikythera y el reloj del castillo programable de Al-Jazari. Sin embargo, estos dispositivos eran hardware puro y no tenían software: sus poderes informáticos estaban directamente relacionados con su forma e ingeniería específicas.

El software requiere el concepto de un procesador de propósito general, lo que ahora se describe como una máquina de Turing, así como la memoria de la computadora en la que se pueden almacenar, iniciar y detener individualmente conjuntos reutilizables de rutinas y funciones matemáticas que comprenden programas, y solo aparecen recientemente. en la historia humana.

El primer algoritmo informático conocido fue escrito por Ada Lovelace en el siglo XIX para el motor analítico, para traducir el trabajo de Luigi Menabrea sobre los números de Bernoulli para la instrucción de máquinas. Sin embargo, esto siguió siendo solo teórico: el menor estado de la ingeniería en la vida de estos dos matemáticos resultó insuficiente para construir el motor analítico.

La primera teoría moderna del software fue propuesta por Alan Turing en su ensayo de 1935 Números computables con una aplicación al Entscheidungsproblem (problema de decisión).

Esto finalmente condujo a la creación de los campos académicos gemelos de informática e ingeniería de software, que estudian el software y su creación. La informática es más teórica (el ensayo de Turing es un ejemplo de informática), mientras que la ingeniería de software se centra en preocupaciones más prácticas.

Sin embargo, antes de 1946, el software tal como lo entendemos ahora (programas almacenados en la memoria de las computadoras digitales con programas almacenados) aún no existía. En cambio, los primeros dispositivos informáticos electrónicos fueron recableados para "reprogramarlos". La ENIAC, una de las primeras computadoras electrónicas, fue programada en gran parte por mujeres que anteriormente habían trabajado como computadoras humanas. Los ingenieros les daban a los programadores planos del cableado de ENIAC y esperaban que descubrieran cómo programar la máquina. Las mujeres que trabajaron como programadoras prepararon el ENIAC para su primera presentación pública, conectando los paneles de conexiones para las demostraciones. Kathleen Booth desarrolló el lenguaje ensamblador en 1950 para facilitar la programación de las computadoras en las que trabajaba en Birkbeck College.

Grace Hopper trabajó como una de las primeras programadoras de Harvard Mark I. Más tarde creó un manual de 500 páginas para la computadora. A menudo se le atribuye falsamente a Hopper la acuñación de los términos "error" y "depuración", cuando encontró una polilla en el Mark II, lo que provocó un mal funcionamiento; sin embargo, el término ya estaba en uso cuando encontró la polilla. Hopper desarrolló el primer compilador y llevó su idea de trabajar en las computadoras Mark a trabajar en UNIVAC en la década de 1950. Hopper también desarrolló el lenguaje de programación FLOW-MATIC para programar el UNIVAC. Frances E. Holberton, que también trabajaba en UNIVAC, desarrolló un código, C-10, que permitía a los programadores utilizar entradas de teclado y creó el Generador de clasificación y combinación en 1951.Adele Mildred Koss y Hopper también crearon el precursor de un generador de informes.

Primer periodo del software: estándares (1948-1979)

En su manuscrito "Una teoría matemática de la comunicación", Claude Shannon (1916-2001) proporcionó un esquema de cómo se podría implementar la lógica binaria para programar una computadora. Posteriormente, los primeros programadores de computadoras usaron código binario para instruir a las computadoras para que realizaran diversas tareas. Sin embargo, el proceso fue muy arduo. Los programadores de computadoras tenían que proporcionar largas cadenas de código binario para decirle a la computadora qué datos almacenar. El código y los datos tenían que cargarse en las computadoras utilizando varios mecanismos tediosos, que incluyen encender interruptores o perforar agujeros en posiciones predefinidas en las tarjetas y cargar estas tarjetas perforadas en una computadora. Con tales métodos, si se cometió un error, es posible que se deba cargar todo el programa nuevamente desde el principio.

La primera vez que una computadora con un programa almacenado mantuvo una pieza de software en la memoria electrónica y la ejecutó con éxito fue a las 11 am del 21 de junio de 1948, en la Universidad de Manchester, en la computadora Manchester Baby. Fue escrito por Tom Kilburn y calculó el factor más alto del número entero 2^18 = 262,144. Comenzando con un gran divisor de prueba, realizó la división de 262,144 mediante restas repetidas y luego verificó si el resto era cero. Si no, decrementaba el divisor de prueba en uno y repetía el proceso. Google lanzó un tributo a Manchester Baby, celebrándolo como el "nacimiento del software".

FORTRAN fue desarrollado por un equipo dirigido por John Backus en IBM en la década de 1950. El primer compilador se lanzó en 1957. El lenguaje demostró ser tan popular para la informática científica y técnica que en 1963 todos los principales fabricantes habían implementado o anunciado FORTRAN para sus computadoras.

COBOL se concibió por primera vez cuando Mary K. Hawes convocó una reunión (que incluía a Grace Hopper) en 1959 para discutir cómo crear un lenguaje informático para compartir entre empresas. La innovación de Hopper con COBOL fue desarrollar una nueva forma simbólica de escribir programación. Su programación era autodocumentada. Betty Holberton ayudó a editar el lenguaje que se envió a la Imprenta del Gobierno en 1960. FORMAC fue desarrollado por Jean E. Sammet en la década de 1960. Su libro, Lenguajes de programación: historia y fundamentos (1969), se convirtió en un texto influyente.

Software de la Misión Apolo

La Misión Apolo a la luna dependía del software para programar las computadoras en los módulos de aterrizaje. Las computadoras estaban programadas con un lenguaje llamado "Básico" (sin relación con el lenguaje de programación BASIC desarrollado en Dartmouth aproximadamente al mismo tiempo). El software también tenía un intérprete que estaba compuesto por una serie de rutinas y un ejecutivo (como un sistema operativo moderno), que especificaba qué programas ejecutar y cuándo. Ambos fueron diseñados por Hal Laning. Margaret Hamilton, que anteriormente había estado involucrada en problemas de confiabilidad del software cuando trabajaba en el sistema de defensa aérea SAGE de EE. UU., también formó parte del equipo de software de Apollo. Hamilton estaba a cargo del software de vuelo a bordo para las computadoras Apollo.Hamilton sintió que las operaciones de software no eran solo parte de la máquina, sino que también estaban íntimamente involucradas con las personas que operaban el software. Hamilton también acuñó el término "ingeniería de software" mientras trabajaba en la NASA.

El "software" real para las computadoras en las misiones Apolo se componía de cables que se enhebraban a través de núcleos magnéticos. Donde el alambre atravesaba un núcleo magnético, eso representaba un "1" y donde el alambre pasaba alrededor del núcleo, eso representaba un "0". Cada núcleo almacenó 64 bits de información. Hamilton y otros crearían el software perforando tarjetas perforadas, que luego se procesarían en un mainframe de Honeywell donde se podría simular el software. Cuando el código era "sólido", se enviaba para tejerlo en los núcleos magnéticos de Raytheon, donde mujeres conocidas como "pequeñas ancianas" trabajaban en los cables. El programa en sí era "indestructible" e incluso podía soportar rayos,El cableado de las computadoras tomó varias semanas, congelando el desarrollo de software durante ese tiempo.

Mientras usaba los simuladores para probar la programación, Hamilton descubrió formas en que el código podía producir errores peligrosos cuando se cometían errores humanos al usarlo. La NASA creía que los astronautas no cometerían errores debido a su entrenamiento. A Hamilton no se le permitió programar código para evitar errores que provocarían un bloqueo del sistema, por lo que anotó el código en la documentación del programa. Sus ideas de agregar un código de verificación de errores fueron rechazadas como "excesivas". Sin embargo, exactamente lo que Hamilton predijo que sucedería en el vuelo del Apolo 8, cuando un error humano hizo que la computadora borrara todos los datos de navegación.

Sistemas operativos preinstalados y el caso Digidyne vs Data General

Más tarde, el software se vendió a múltiples clientes al ser incluido con el hardware por fabricantes de equipos originales (OEM) como Data General, Digital Equipment e IBM. Cuando un cliente compró una minicomputadora, en ese momento la computadora más pequeña del mercado, la computadora no venía con el software preinstalado, pero los ingenieros empleados por el OEM debían instalarla.

Este paquete atrajo la atención de los reguladores antimonopolio de EE. UU., quienes demandaron a IBM por "vinculación" inapropiada en 1969, alegando que era una violación antimonopolio que los clientes que querían obtener su software también tenían que comprar o arrendar su hardware para hacerlo. Sin embargo, el caso fue abandonado por el Departamento de Justicia de EE. UU., después de muchos años de desgaste, ya que concluyó que "no tenía mérito".

Data General también encontró problemas legales relacionados con la agrupación, aunque en este caso se debió a una demanda civil de un posible competidor. Cuando Data General presentó Data General Nova, una empresa llamada Digidyne quería usar su sistema operativo RDOS en su propio clon de hardware. Data General se negó a otorgar la licencia de su software y reclamó sus "derechos de agrupación". La Corte Suprema de EE. UU. sentó un precedente llamado Digidyne v. Data General en 1985 al permitir que se mantuviera una decisión de la corte de apelaciones del noveno circuito sobre el caso, y Data General finalmente se vio obligado a otorgar la licencia del sistema operativo porque se dictaminó que restringir la licencia solo a DG El hardware era un acuerdo de vinculación ilegal.Aunque el Tribunal de Distrito señaló que "ningún jurado razonable pudo encontrar que dentro de este mercado grande y dinámico con competidores mucho más grandes", Data General "tenía el poder de mercado para restringir el comercio a través de un acuerdo de vinculación ilegal", la vinculación de la operación sistema al hardware fue declarado ilegal per se en apelación.

En 2008, Apple Inc. demandó a Psystar Corporation por distribuir clones de Macintosh no autorizados con OS X preinstalado y contrademandó. Uno de los argumentos en la contrademanda, citando el caso de Data General, fue que Apple domina el mercado de computadoras compatibles con OS X al vincular ilegalmente el sistema operativo a las computadoras Apple. El juez del Tribunal de Distrito William Alsup rechazó este argumento y dijo que, como el Tribunal de Distrito había dictaminado en el caso Data General más de 20 años antes, que el mercado relevante no era simplemente un sistema operativo (Mac OS) sino todos los sistemas operativos de PC, incluidoMac OS, y observando que Mac OS no disfrutaba de una posición dominante en ese mercado más amplio. La sentencia de Alsup también señaló que el sorprendente precedente de Data General de que la vinculación de productos con derechos de autor siempre fue ilegal había sido "implícitamente anulado" por el veredicto en el caso de Illinois Tool Works Inc. contra Independent Ink, Inc.

Nacimiento de la industria de creación de Software (1960)

A fines de la década de 1960, comenzó a desarrollarse una industria que producía software empaquetado de forma independiente (software que no se producía como "único" para un cliente individual ni "combinado" con el hardware de la computadora).

Unix (1970)

Unix fue uno de los primeros sistemas operativos que se hizo popular y muy influyente, y aún existe en la actualidad. La variante más popular de Unix hoy en día es macOS (anteriormente llamado OS X y Mac OS X), mientras que Linux está estrechamente relacionado con Unix.

Auge de las computadoras personales

En enero de 1975, Micro Instrumentation and Telemetry Systems comenzó a vender su kit de microcomputadora Altair 8800 por correo. Microsoft lanzó su primer producto Altair BASIC más tarde ese año y los aficionados comenzaron a desarrollar programas para ejecutar en estos kits. Tiny BASIC se publicó como un programa de escritura en Dr. Dobb's Journal y se desarrolló en colaboración.

En 1976, Peter R. Jennings, por ejemplo, creó su programa Microchess para el kit KIM-1 de MOS Technology, pero como no venía con una unidad de cinta, enviaba el código fuente en un pequeño folleto a sus clientes de pedidos por correo, y tendrían que escribir todo el programa a mano. En 1978, Kathe y Dan Spracklen publicaron el código fuente de su programa Sargon (ajedrez) en una revista de informática. Más tarde, Jennings pasó a vender cintas de papel y, finalmente, casetes compactos con el programa.

Era un proceso incómodo y lento para escribir el código fuente de una revista de informática, y un solo carácter mal escrito, o peor aún, mal impreso, podía hacer que el programa no funcionara, pero la gente todavía lo hacía. (La tecnología de reconocimiento óptico de caracteres, que en teoría podría haberse utilizado para escanear los listados en lugar de transcribirlos a mano, aún no se usaba mucho).

Incluso con la difusión de cartuchos y cintas de cassette en la década de 1980 para la distribución de software comercial, los programas gratuitos (como los programas educativos simples con el fin de enseñar técnicas de programación) todavía se imprimían a menudo, porque era más barato que hacer y adjuntar cintas de cassette a revistas

Sin embargo, finalmente una combinación de cuatro factores puso fin a esta práctica de imprimir listas completas de códigos fuente de programas completos en revistas de informática:

Muy rápidamente, el software comercial comenzó a ser pirateado y los productores de software comercial estaban muy descontentos con esto. Bill Gates, cofundador de Microsoft, fue uno de los primeros moralizadores contra la piratería de software con su famosa Carta abierta a los aficionados en 1976.

Segundo periodo del software: masificación (1980)

Antes de la microcomputadora, un programa de software exitoso generalmente vendía hasta 1,000 unidades a $50,000–60,000 cada una. A mediados de la década de 1980, el software de computadora personal vendió miles de copias por $ 50 a $ 700 cada una. Empresas como Microsoft, MicroPro y Lotus Development tenían decenas de millones de dólares en ventas anuales. De manera similar, dominaron el mercado europeo con versiones localizadas de productos que ya tenían éxito.

Un momento crucial en la historia de la computación fue la publicación en la década de 1980 de las especificaciones para la computadora personal de IBM publicadas por el empleado de IBM Philip Don Estridge, lo que rápidamente condujo al dominio de la PC en los mercados mundiales de computadoras de escritorio y más tarde de las computadoras portátiles, un dominio que continúa. para este día. Microsoft, al negociar con éxito con IBM para desarrollar el primer sistema operativo para PC (MS-DOS), se benefició enormemente del éxito de la PC durante las siguientes décadas, a través del éxito de MS-DOS y su complemento y sucesor, Microsoft Windows. Ganar la negociación fue un momento crucial en la historia de Microsoft.

Software gratuito y software open source

En las décadas de 1950 y 1960, el software de sistemas operativos y los compiladores se entregaban como parte de la compra de hardware sin costos adicionales. En aquel entonces, el código fuente, la forma del software legible por humanos, solía distribuirse junto con el software, ofreciendo la posibilidad de corregir errores o añadir nuevas funciones. Las universidades fueron de las primeras en adoptar la tecnología informática. Muchas de las modificaciones desarrolladas por las universidades se compartían abiertamente, en consonancia con los principios académicos de compartir el conocimiento, y surgieron organizaciones para facilitar esta compartición. Conforme los sistemas operativos a gran escala se fueron perfeccionando, menos organizaciones permitían modificaciones en el software de operación, y eventualmente, tales sistemas operativos se cerraron a la modificación. Sin embargo, las utilidades y otras aplicaciones de funciones añadidas todavía se comparten y se han formado nuevas organizaciones para promover la compartición de software.

Tiendas de aplicaciones móviles

Las aplicaciones para dispositivos móviles (celulares y tabletas) han sido denominadas “apps” en los últimos años. Apple eligió canalizar las ventas de aplicaciones para iPhone y iPad a través de su App Store y, por lo tanto, ambas aplicaciones examinaron y obtuvieron una parte de cada aplicación paga vendida. Apple no permite aplicaciones que podrían usarse para eludir su tienda de aplicaciones (por ejemplo, máquinas virtuales como Java o Flash).

La plataforma Android, por el contrario, tiene varias tiendas de aplicaciones disponibles y los usuarios generalmente pueden seleccionar cuál usar (aunque Google Play requiere un dispositivo compatible o rooteado).

Este movimiento se replicó para los sistemas operativos de escritorio con el software GNOME (para Linux), Mac App Store (para macOS) y Windows Store (para Windows). Todas estas plataformas siguen siendo, como siempre lo han sido, no exclusivas: permiten instalar aplicaciones desde fuera de la tienda de aplicaciones y, de hecho, desde otras tiendas de aplicaciones.

El aumento explosivo en la popularidad de las aplicaciones, para el iPhone en particular pero también para Android, condujo a una especie de "fiebre del oro", con algunos programadores esperanzados dedicando una cantidad significativa de tiempo a crear aplicaciones con la esperanza de hacerse ricos. Como en las verdaderas fiebres del oro, no todos estos emprendedores esperanzados tuvieron éxito.

Formalización del desarrollo de software

El desarrollo de planes de estudios en ciencias de la computación ha resultado en mejoras en el desarrollo de software. Los componentes de estos planes de estudio incluyen:

  1. Programación estructurada y orientada a objetos
  2. Estructuras de datos
  3. Análisis de Algoritmos
  4. Lenguajes formales y construcción de compiladores
  5. Algoritmos de gráficos por computadora
  6. Ordenar y buscar
  7. Métodos Numéricos, Optimización y Estadística
  8. Inteligencia artificial y aprendizaje automático

Cómo el software ha afectado al hardware

A medida que más y más programas entran en el ámbito del firmware, y el propio hardware se vuelve más pequeño, más barato y más rápido como lo predice la ley de Moore, un número cada vez mayor de tipos de funcionalidades informáticas realizadas primero por software, se han sumado a las filas del hardware, como por ejemplo, con unidades de procesamiento de gráficos. (Sin embargo, el cambio a veces ha ido en sentido contrario por el costo u otras razones, como por ejemplo con softmodems y microcódigo).

La mayoría de las empresas de hardware de hoy en día tienen más programadores de software en nómina que diseñadores de hardware, ya que las herramientas de software han automatizado muchas tareas de los ingenieros de placas de circuito impreso (PCB).

Línea de tiempo del software y lenguajes de programación

Las siguientes tablas incluyen el desarrollo año por año de muchos aspectos diferentes del software de computadora, que incluyen:

  1. Idiomas de alto nivel
  2. Sistemas operativos
  3. Software y aplicaciones de red
  4. Hardware de gráficos por computadora, algoritmos y aplicaciones.
  5. hojas de calculo
  6. Procesamiento de textos
  7. Diseño asistido por ordenador

1971-1974

1971197219731974
Lenguajes de programaciónCDLKRLDEMANDACINTERCALPL/MPrólogoSmalltalkSQLCOMALLISMLSpeakeasy-3PROSA BÁSICA CUATROCLUGRASS
Sistemas operativosDIC RSTS-11Datos generalesRDOSALGOL 68 soviéticoDIC DOS-11
Redes informáticasCaja azul de WozniakBob Metcalfe desarrollaEthernet
Gráficos por computadoraAlgoritmo de superficie visible de Newell & SanchaCatmull & Straberdesarrollan z-buffer
CAO/CAMMCS fundadaADÁNBorrador automáticoTektronix 4014

1975-1978

1975197619771978
Lenguajes de programaciónEsquema de módulo ABCAltair BASICCS-4MesaPlusRatforSSAM76SASSmalltalk-76BlueBourne ShellCommodore BASICFPIconIDLRedStandard MUMPSYellowIDLC shellHAL/SMATLABRPG IIIPEQUEÑOVisiCalcSQL
Sistemas operativosPC/EE. UU.Gorra Cambridge1BSDDOS de Apple 2BSD
Redes informáticasConmutación de paquetes Telenet
Gráficos por computadoraEDS fundadasuavizado
procesadoresde textoLápiz eléctricoEscritor de Apple
CAO/CAMModelado sólidoMcDonnell Douglascompra UnigraphicsPrecursor de CATIAVisualización de gráficos de trama

1979-1982

197919801981mil novecientos ochenta y dos
Lenguajes de programaciónAWKIconModula-2REXXVulcano dBase-IIAda 80C con clasesCBASICBBC BÁSICAIBM BÁSICADracoPostScriptSpeakeasy-IV
Sistemas operativosAtari DOS86-DOSMS-DOS 1Bellota MOSComodoro DOS
Redes informáticasUsenetTCP/IP
Gráficos por computadoraSe funda Silicon Graphics
procesadoresde textopalabraestrellaWordPerfectpara DG MiniBank StreetApple Writer IIWordStar 3.0WordPerfect para DOS
Hoja de cálculoVisiCalcLoto 1-2-3
CAO/CAMIGESVersaCADSistemas Dassaultfundación de autodesk

1983-1986

1983198419851986
Lenguajes de programaciónABAPAda 83C++GW-BASICKorn ShellObjective-CoccamTrue BASICTurbo PascalCLIPPERCommon LispGood Old MAD (GOM)OPLRedcodeRPLStandard MLMatlabParadojaQuickBASICCorVisionEiffelGFA BASICInformix-4GLLabVIEWMirandaObjeto PascalPROMAL
Sistemas operativosMS-DOS 2Oficina LisaSunOS 1Software del sistema MS-DOS 3Windows 1.0Atari TOSAmigaOSAIX 1
Redes informáticasARPANET se separade MILNETFundación de Novell NetWareResearch In MotionNSFNET conecta5 Supercomputadoras
Gráficos por computadoraATI fundadaCoprocesador Intel 82786
procesadoresde textoPalabra 1 para DOSPalabra 1 para MacWordPerfect 4.2para DOS
Hoja de cálculoExcel para Mac
CAO/CAMAutodesk lanzaAutoCAD 1.2, 1.3, 1.4autocad 2Tecnología paramétrica de Bentley SystemsAutoLISP

1987-1990

1987198819891990
Lenguajes de programaciónAda ISO 8652CleanErlangHyperTalkMathematicaOberonoccam 2PerlSelfTurbo BasicA+Hamilton C shellObjeto REXXOctaveRPG/400SPARKSTOS BASICTclMathematicaBashLPCModula-3PowerBASICTurbo Pascal OOPVisSimFLAMOS BASICAMPLEuLispHaskellJObject OberonZ Shell
Sistemas operativosWindows 2.0MS-DOS 4Windows 2.1xOS/2A/UXEPCOWindows 3.0
Redes informáticasgusano morrisComienza la World Wide WebHTML
Gráficos por computadoraJPEG y GIFTin Toy de Pixargana el OscarEstudio 3D de AutoDesk
procesadoresde textoMicrosoft funciona para DOSPC Magazine Reseñas55 PaquetesWordPerfect 5.1Palabra para WindowsMicrosoft Office para Windows
Hoja de cálculoexcel para windowsQuatro Pro
CAO/CAMDeneba lanzaCanvas XAutoCAD 9CATIA 3AutoCAD 10T-Flex paramétricoVisionary Design Systems fundóAutoCAD 11ACIS 1

1991-1994

1991199219931994
Lenguajes de programaciónGNU EOberon-2OzQVisual BasicPythonTurbo PascalDylanRubyAppleScriptBrainfuckKLuaNewtonScriptRTranscripciónSelfZPLCLOSANS ForthANSI Common LispClairePikeRAPID
Sistemas operativosMS-DOS 5LinuxWindows 3.1x386BSDSistema operativo MS-DOS 6NewtonSolarisAIX 4.0, 4.1
Redes informáticasNavegador web mosaicoNetware 4Netscape Navigator
Gráficos por computadoraOpenGLnvidia fundada
procesadoresde textoMicrosoft funcionaNovell compra WordPerfect
CAO/CAMEDS compraUnigraphicsCADAM & CATIAinician unificaciónautocad 12Formato vectorial simple

1995-1998

1995199619971998
Lenguajes de programaciónAda 95ColdFusionDelphiJavaJavaScriptLiveScriptPHPRubíCurlLassoNetRexxOCamlPerl Lenguaje de datosWebDNAComponente PascalEECMAScriptF-ScriptISLISPPicoREBOLSqueak SmalltalkTeaRebolM2001Código abierto ErlangPiktPureBasicREALbasicEstándar C++UnrealScript
Sistemas operativosUNIX digital de Windows 95Windows NT 4.0Palm OSInfiernoMac OS 7.6Mac OS 8Windows 98Solaris 7 de 64 bits
Redes informáticasla propuesta de investigacionpara Google se formó.Navegador web mosaicoInter@ctive PagerNetware 4Netscape Navigator
Gráficos por computadoraPixar se hace públicadespués de Toy StoryVudú 3DfxRabia Pro de ATIBanshee vudú
procesadoresde textoPalabra 95 para WindowsCorel compra WordPerfecta Novell
CAO/CAMModelado de sólidos avanzado de MicroStationLienzo 5ISO 13567AutoCAD 14Dassault Systems compralos productos de Matra Datavision

1999–2002

1999200020012002
Lenguajes de programaciónDGameMaker LanguageHarbourXSLTActionScriptC#FeriteÚnete a JavaJoyXLVisual Basic.NETAspectJGDScriptProcesamientoRPG IVgosuio
Sistemas operativosMac OS X Servidor 1.0Mac OS 9Windows 2000Windows MEMac OS X Beta públicav10.0 Guepardov10.1 PumaWindows XPWindows XP Edición de 64 bits10.2 Jaguar
Redes informáticasBlackberry 850Netware 4Netscape Navigator
Gráficos por computadoraS3 salvaje 4GeForce 256Radeon DDR (R100)Nvidia Kyro IIGeForce 3
procesadoresde textoSun compra Star Division
CAO/CAMProfesional/Ingeniero 2000autocad 2000EDS compra SDRCUnigraphics NXAutodesk compra Revit

2003-2006

2003200420052006
Lenguajes de programaciónFactorNemerleScalaArdillaAlma-0BooFreeBASICGroovyLittle bSubtextoAda 2005F #Semilla 7Enlaces CobraOptimJWindows PowerShell
Sistemas operativosv10.3 PanteraRed HatEnterprise LinuxWindows Server 2003v10.4 TigreUbuntu 5Windows XP Professional x64 Edición
Redes informáticasSafari de Apple 802.11gGmailFacebook fundóMozilla FirefoxBlackBerry Perla 8100

2007-2010

2007200820092010
Lenguajes de programaciónClojureFantomFortalezaLOLCODEOberon-07ValageniopuroCoffeeScriptGoIdrisParavelismoCapillaRPG Acceso abiertoRust
Sistemas operativosWindows Vistav10.5 leopardoAndroideWindows 7v10.6 Snow LeopardAndroid 1.5 "Cupcake"Android 1.6 "Donut"Android 2.0–2.1 "Eclair"Android 2.2 "Froyo"Android 2.3 "Pan de jengibre"
Redes informáticasGoogle ChromecromoWiFi 802.11n
Gráficos por computadoracredo del asesinoSimulaciónde telaAvatar gana"Mejor Película"
procesadoresde textoOracle compraOpenOffice a SunOracle lanza OpenOfficea Apache Software Foundation
CAO/CAMSiemens compra UGS

2011-2014

2011201220132014
Lenguajes de programaciónDardoAda 2012ElixirJuliaMecanografiadoCryEngine#CryEngine 3 (unidad BeamNG)XojoHackrápido
Sistemas operativosv10.7 LionAndroid 3.x "Honeycomb"Android 4.0 "Ice Cream Sandwich"Windows 8v10.8 Mountain LionAndroid 4.1.x–4.2.x "Jelly Bean"v10.9 MavericksWindows 8.1Android 4.3 "Jelly Bean"Android 4.4 "KitKat"v10.10 YosemiteAndroid 5.0 "Piruleta"
Redes informáticas802.11ac
Gráficos por computadoraHugo gana el OscarEfectos VisualesCryEngine3 y su física de cuerpo blando 3D