El origen de las computadoras y su evolución
Todas las historias publicadas sobre el nacimiento de las computadoras' comienzan remontándose a la antigüedad con la creación del ábaco como primera máquina de cálculo. Este instrumento, inventado en Asia, se utilizó en la antigua Babilonia, en China y, por supuesto, en Europa. Actualmente se utiliza con fines educativos y de ocio.
En 1642, el filósofo y matemático francés Blas Pascal inventó la primera calculadora mecánica, conocida como pascalina. La calculadora tenía una serie de engranajes (ruedas dentadas) que permitían realizar sumas y restas, con un método entonces ingenioso y revolucionario: cuando se giraban los dientes de la primera rueda, avanzaba un diente de la segunda rueda, al girar los dientes de la segunda rueda, avanzaba un diente de la tercera, y así su- cesivamente. Tanto el ábaco como la pascalina sólo podían realizar sumas y restas. Asimismo, a finales del siglo XVII, en 1694, el científico alemán Gottfried Leibniz inventó una máquina que podía sumar, restar, multiplicar y dividir. En 1819, el francés Joseph Jacquard creó las bases de las tarjetas perforadas como soporte de información.
Generaciones de computadoras
Sin embargo, casi todos los historiadores coinciden en que la era de partida de la computación moderna fue a prin- cipios del siglo XIX. El físico y matemático inglés Charles Babbage construyó dos máquinas calculadoras: la máquina de diferencias y la máquina analítica. La primera podía realizar automáticamente operaciones complejas como elevar números al cuadrado. Babbage construyó un prototipo de la máquina diferencial, aunque nunca fue fabricado para producción. Entre 1833 y 1835 diseñó la máquina analítica, una calculadora que incluía un dispositivo de entrada, dispositivo de almacenamiento de memoria, una unidad de control que permitía instrucciones de proceso en secuencias y dispositivos de salida. Esta máquina sentó las bases de la computación moderna, aunque los trabajos de Babbage fueron publicados por su colega Ada Augusta, condesa de Lovelace, considerada como la primera programadora de computadoras del mundo. A finales del siglo XIX se utilizaron por primera vez con éxito las tarjetas perforadas que ayudaron a realizar el censo de Estados Unidos de América en 1890. Herman Hollerith inventó una máquina calculadora que funcionaba con electricidad y utilizaba tarjetas perforadas para almacenar datos. La má- quina de Hollerith tuvo un gran éxito y apoyándose en ella creó la empresa Tabulating Machine Company, que más tarde se convirtió en la reconocida IBM.
Se considera que Mark I fue la primera computadora digital de la historia que aprovechó el éxito de la máquina de tarjetas perforadas de Hollerith. IBM construyó Mark I en 1944 junto con la Universidad de Harvard y con la dirección de Howard Aiken. Las entradas y salidas de datos se realizaban mediante tarjetas y cintas perforadas. En 1939, John V. Atanasoff, profesor de la Universidad de lowa y el estudiante de doctorado Clifford E. Berty, construyeron un prototipo de la ABC, una computadora digital que utilizaba tubos de vacío (válvulas) y el sistema de numeración digital de base 2, además de que disponía de unidad de memoria. La computadora no se comercializó y el proyecto fue abandonado, pero en 1973, un tribunal federal de Estados Unidos de América reconoció de modo oficial a Atanasoff los derechos sobre la invención de la computadora digital electrónica automática. Entre 1942 y 1946, John P. Eckert, John W. Marchly y su equipo de la Universidad de Pensilvania, construyeron la ENIAC, considerada la primera computadora digital de la historia y que fue utilizada desde 1946 hasta 1955 (contenía 18 000 tubos de vacío y pesaba 30 toneladas).
Las computadoras como se les conoce hoy día siguen el modelo von Newmann. El matemático John von New- mann realizó un estudio teórico a finales de la década de 1940, en los que sentó las bases de la organización y reglas de funcionamiento de la computadora moderna. Su diseño incluía componentes como unidad lógica y aritmética, unidad de control, unidad de memoria y dispositivos de entrada/salida. Estos componentes se describen en el apar- tado siguiente. Desde el punto de vista comercial, las computadoras más conocidas y que aparecieron en las décadas de 1950 y 1960 son: Univac I, IBM 650, Honeywell 400 y las populares IBM 360.
El transistor fue inventado en 1948 como sustituto de la válvula o tubo de vacío, y los transistores comenzaron a aparecer en las computadoras ocho años más tarde. Las computadoras que utilizaban transistores fueron radical- mente más pequeñas, más fiables y más económicas que las válvulas de vacío para almacenar y manipular datos. A finales de la década de 1950, los investigadores desarrollaron el circuito integrado, un pequeño chip de silicio que contenía centenares y millares de transistores y otros dispositivos electrónicos. A mediados de la década de 1960, las computadoras basadas en transistores fueron reemplazadas por otras más pequeñas, pero más potentes, construidas alrededor de estos nuevos circuitos integrados. Los circuitos integrados reemplazaron a los transistores por las mismas razones que éstos reemplazaron a las válvulas de vacío: fiabilidad, tamaño, velocidad, eficiencia y costo. Las invenciones anteriores produjeron un gran impacto en la sociedad, pero fue el invento desarrollado por Intel, en 1971, el primer microprocesador, un único chip de silicio, que contenía todos los componentes de una computadora. Esta era se destacó también por la aparición de la industria de desarrollo de software con la introducción de los dos lenguajes de programación de alto nivel: Fortran (1954, aplicaciones científicas) y Cobol (1959, aplicaciones de negocios). Estos dos lenguajes de programación de alto nivel fueron reemplazando en el desarrollo al lenguaje ensamblador que a su vez sustituyó al lenguaje máquina (basado en ceros y unos), que es el lenguaje con el que funcionan las computadoras.
La revolución de las computadoras personales comenzó a finales de la década de 1970 cuando Apple, Commo- dore y Tandy, y otras compañías, introdujeron computadoras de bajo costo, basadas en microprocesadores que ocupaban muy poco espacio físico. En 1981, IBM presentó su computadora personal (PC, Personal Computer) y junto con Microsoft, creador del sistema operativo MS-DOS que sustentaba a esta computadora, fueron las compa- ñías que iniciaron la nueva era de la computación que todavía hoy vivimos y disfrutamos.
Las computadoras de hoy día son muy potentes, fiables y fáciles de utilizar. Se han convertido en herramientas indispensables en la vida diaria, lo mismo para los niños en las escuelas que para los profesiories en las empresas. Ellas pueden aceptar instrucciones orales (de voz) e imitar el razonamiento humano mediante técnicas de inteligencia artificial. En la actualidad, las computadoras se utilizan para ayudar a los médicos en el diagnóstico de enfermedades, a los empresarios en la toma de decisiones y a los militares a posicionarse geográficamente en el terreno mediante satélites y sistemas GPS. Las computadoras portátiles crecen en números exponenciales y las netbooks y tabletas (computadoras de 7 a 11 pulgadas de tamaño de pantalla) y los teléfonos inteligentes (smartphones) se están convirtiendo en el elemento de cálculo y de acceso a Internet por antonomasia.
Los teléfonos celulares (móviles) y las redes de comunicaciones móviles y fijas, redes inalámbricas, sin cables, están configurando un nuevo modelo de computación, computación móvil o computación celular, que está trayendo infinidad de aplicaciones de computación móvil. Los dispositivos portátiles (handheld) permiten conexiones a Internet, envío de correos electrónicos (e-mail), conexión a redes sociales, navegar con sistemas GPS de posiciona- miento global, visualizar mapas de ciudades, de carreteras, etcétera.
En lo relativo a los lenguajes de programación utilizados por las computadoras hay que destacar que cada computadora procesa instrucciones en un lenguaje nativo denominado lenguaje máquina. El lenguaje máquina utiliza códigos numéricos para representar las operaciones básicas de la computadora: sumas, restas, productos, etc. Este lenguaje, aunque era tedioso, resultaba imprescindible para el funcionamiento de la máquina; sin embargo, poco a poco fueron apareciendo otros lenguajes, primero el ensamblador, que ya utilizaba palabras cortas para identificar a las instrucciones y por último los lenguajes de alto nivel, ya más similares a los humanos. Los lenguajes de programación de alto nivel generalistas (C, C++, Java, Python, C#, R, Scala, Swift, Ruby) o especializados en el desarrollo de la Web como HTML, XML, JavaScript.
