Historia de la Informática
El dispositivo de cálculo más antiguo que se conoce es el ábaco. Su nombre viene del griego «abakos», que significa superficie plana. Se sabe que los griegos empleaban tablas para contar en el siglo V antes de Cristo o tal vez antes. El ábaco, tal como lo conocemos actualmente, está constituido por una serie de hilos con cuentas ensartadas en ellos. En nuestro país, este tipo de ábaco lo hemos visto todos en las salas de billar.
Esta versión de ábaco se ha utilizado en Oriente Medio y Asia hasta hace relativamente muy poco. A finales de 1946, tuvo lugar en Tokio una competición de cálculo entre un mecanógrafo del departamento financiero del ejército norteamericano y un oficial contable japonés. El primero empleaba una calculadora eléctrica de 700 dólares; el segundo, un ábaco de 25 centavos. La competición consistía en realizar operaciones matemáticas de suma, resta, multiplicación y división con números de entre 3 y 12 cifras. Salvo en la multiplicación, el ábaco triunfó en todas las pruebas, incluyendo una final de procesos compuestos.
Tras el ábaco de los griegos, pasamos al siglo XVI. John Napier (1550-1617) fue un matemático escocés famoso por su invención de los logaritmos, funciones matemáticas que permiten convertir las multiplicaciones en sumas y las divisiones en restas. Napier inventó un dispositivo consistente en unos palillos con números impresos que, merced a un ingenioso y complicado mecanismo, le permitía realizar operaciones de multiplicación y división.
El primer calculador mecánico apareció en 1642, tan sólo 25 años después de que Napier publicase una memoria describiendo su máquina. El artífice de esta máquina fue el filósofo francés Blaise Pascal (1623-1662), en cuyo honor se llama Pascal uno de los lenguajes de programación que más impacto ha causado en los últimos años.
A los 18 años, Pascal deseaba dar con la forma de reducir el trabajo de cálculo de su padre, que era un funcionario de impuestos. La calculadora que inventó Pascal tenía el tamaño de un cartón de tabaco y su principio de funcionamiento era el mismo que rige los cuentakilómetros de los coches actuales: una serie de ruedas tales que cada una de las cuales hacía avanzar un paso a la siguiente al completar una vuelta. Las ruedas estaban marcadas con números del 0 al 9, y había dos para los decimales y 6 para los enteros, con lo que podía manejar números entre 000.000,01 y 999.999,99.
Las ruedas giraban mediante una manivela, con lo que, para sumar o restar, lo que había que hacer era girar la manivela correspondiente en un sentido o en otro el número de pasos adecuado. Leibnitz (1646-1716) fue uno de los genios de su época; a los 26 años aprendió matemáticas de modo autodidacta y procedió a inventar el cálculo. Inventó una máquina de calcular por la simple razón de que nadie le enseñó las tablas de multiplicar.
La máquina de Leibnitz apareció en 1672; se diferenciaba de la de Pascal en varios aspectos fundamentales, el más importante de los cuales era que podía multiplicar, dividir y obtener raíces cuadradas.
Leibnitz propuso la idea de una máquina de cálculo en sistema binario, base de numeración empleada por los modernos ordenadores actuales. Tanto la máquina de Pascal como la de Leibnitz se encontraron con un grave freno para su difusión: la revolución industrial aún no había tenido lugar y sus máquinas eran demasiado complejas para ser realizadas a mano. La civilización que habría podido producir las en serie estaba todavía a más de 200 años de distancia.
Entre 1673 y 1801 se realizaron algunos avances significativos, el más importante de los cuales probablemente fue el de Joseph Jacquard (1752-1834), quien utilizó un mecanismo de tarjetas perforadas para controlar el dibujo formado por los hilos de las telas confeccionadas por una máquina de tejer.
Hacia 1725, los artesanos textiles franceses utilizaban un mecanismo de tiras de papel perforado para seleccionar unas fichas perforadas, las que a su vez controlaban la máquina de tejer.
Jacquard fue el primero en emplear tarjetas perforadas para almacenar la información sobre el dibujo del tejido y además controlar la máquina.
La máquina de tejer de Jacquard, presentada en 1801, supuso gran éxito comercial y un gran avance en la industria textil.
La antesala de la informática
Aunque hubo muchos precursores de los actuales sistemas informáticos, para muchos especialistas la historia empieza con Charles Babbage, matemático e inventor inglés que, al principio del siglo XIX, predijo muchas de las teorías en que se basan los actuales ordenadores. Desgraciadamente, al igual que sus predecesores, vivió en una época en que ni la tecnología ni las necesidades estaban al nivel de permitir la materialización de sus ideas.
En 1822, diseñó su máquina diferencial para el cálculo de polinomios. Esta máquina se utilizó con éxito para el cálculo de tablas de navegación y artillería, lo que permitió a Babbage conseguir una subvención del gobierno para el desarrollo de una segunda y mejor versión de la máquina.
Durante 10 años, Babbage trabajó infructuosamente en una segunda máquina sin llegar a conseguir completarla, y en 1833 tuvo una idea mejor.
Mientras que la máquina diferencial era un aparato de proceso único, Babbage decidió construir una máquina de propósito general que pudiese resolver casi cualquier problema matemático. Todas estas máquinas eran, por supuesto, mecánicas, movidas por vapor. De todas formas, la velocidad de cálculo de las máquinas no era tal como para cambiar la naturaleza del cálculo. Además, la ingeniería entonces no estaba lo suficientemente desarrollada como para permitir la fabricación de los delicados y complejos mecanismos requeridos por el ingenio de Babbage. La sofisticada organización de esta segunda máquina, la máquina analítica, es lo que hace que muchos consideren a Babbage padre de la informática actual.
Como los modernos computadores, la máquina de Babbage tenía un mecanismo de entrada y salida por tarjetas perforadas, una memoria, una unidad de control y una unidad aritmético-lógica. Preveía tarjetas separadas para programa y datos. Una de sus características más importantes era que la máquina podía alterar su secuencia de operaciones en base al resultado de cálculos anteriores, algo fundamental en los ordenadores modernos. La máquina, sin embargo, nunca llegó a construirse. Babbage no pudo conseguir un contrato de investigación y pasó el resto de su vida inventando piezas y diseñando esquemas para conseguir los fondos para construir la máquina. Murió sin conseguirlo.
Aunque otros pocos hombres trataron de construir autómatas o calculadoras siguiendo los esquemas de Babbage, su trabajo quedó olvidado hasta que inventores modernos que desarrollaban sus propios proyectos de computadores se encontraron de pronto con tan extraordinario precedente.
Otro inventor digno de mención es Herman Hollerith. A los 19 años, en 1879, fue contratado como asistente en las oficinas del censo norteamericano que, por aquel entonces, se disponía a realizar el recuento de la población para el censo de 1880. Este tardó 7 años y medio en completarse manualmente. Hollerith fue animado por sus superiores a desarrollar un sistema de cómputo automático para futuras tareas.
El sistema inventado por Hollerith utilizaba tarjetas perforadas en las que, mediante agujeros, se representaba el sexo, la edad, raza, etc. En la máquina, las tarjetas pasaban por un juego de contactos que cerraban un circuito eléctrico, activándose un contador y un mecanismo de selección de tarjetas. Estas se leían a ritmo de 50 a 80 por minuto.
Desde 1880 a 1890, la población subió de 50 a 63 millones de habitantes. Aun así, el censo de 1890 se realizó en dos años y medio gracias a la máquina de Hollerith.
Ante las posibilidades comerciales de su máquina, Hollerith dejó las oficinas del censo en 1896 para fundar su propia compañía, la Tabulating Machine Company. En 1900, había desarrollado una máquina que podía clasificar 300 tarjetas por minuto, una perforadora de tarjetas y una máquina de cómputo semiautomática.
En 1924, Hollerith fusionó su compañía con otras dos para formar la International Business Machines, hoy mundialmente conocida como IBM.
El nacimiento del ordenador actual
Ante la necesidad de agilizar el proceso de datos de las oficinas del censo, se contrató a James Powers, un estadístico de Nueva Jersey, para desarrollar nuevas máquinas para el censo de 1910. Powers diseñó nuevas máquinas y, de modo similar a Hollerith, decidió formar su propia compañía en 1911, la Powers Accounting Machine Company, que fue posteriormente adquirida por Remington Rand, la cual a su vez se fusionó con la Sperry Corporation, formando la Sperry Rand Corporation.
John Vincent Atanasoff nació en 1903. Su padre era un ingeniero eléctrico emigrado de Bulgaria, y su madre, una maestra de escuela con un gran interés por las matemáticas que transmitió a su hijo.
Atanasoff se doctoró en física teórica y comenzó a dar clases en Iowa al comienzo de los años 30. Se encontró con lo que por entonces eran dificultades habituales para muchos físicos y técnicos: los problemas que tenían que resolver requerían una excesiva cantidad de cálculo para los medios de que disponían. Aficionado a la electrónica y conocedor de la máquina de Pascal y las teorías de Babbage, Atanasoff empezó a considerar la posibilidad de construir un calculador digital. Decidió que la máquina habría de operar en sistema binario, hacer los cálculos de modo totalmente distinto a como los realizaban las calculadoras mecánicas, e incluso concibió un dispositivo de memoria mediante almacenamiento de carga eléctrica. Durante un año maduró el proyecto y, finalmente, solicitó una ayuda económica al Consejo de Investigación del Estado de Iowa. Con unos primeros 650 dólares, contrató la cooperación de Clifford Berry, estudiante de ingeniería, y los materiales para un modelo experimental. Posteriormente, recibieron otras dos donaciones que sumaron 1460 dólares y otros 5000 dólares de una fundación privada. Este primer aparato fue conocido como ABC (Atanasoff-Berry-Computer).
En diciembre de 1940, Atanasoff se encontró con John Mauchly en la American Association for the Advancement of Science (Asociación Americana para el Avance de la Ciencia), abreviadamente AAAS. Mauchly, que dirigía el departamento de física del Ursine College, cerca de Filadelfia, se había encontrado con los mismos problemas en cuanto a velocidad de cálculo que Atanasoff, y estaba convencido de que habría una forma de acelerar el cálculo por medios electrónicos. Al carecer de medios económicos, construyó un pequeño calculador digital y se presentó al congreso de la AAAS para presentar un informe sobre el mismo. A raíz de aquello, Atanasoff y Mauchly tuvieron un intercambio de ideas que, muchos años después, ha desembocado en una disputa entre ambos sobre la paternidad del computador digital.
En 1941, Mauchly se matriculó en unos cursos sobre ingeniería eléctrica en la escuela Moore de Ingeniería, donde conoció a un instructor de laboratorio llamado J. Presper Eckert. Entre ambos surgió una compenetración que les llevaría a cooperar en un interés común: el desarrollo de un calculador electrónico. El entusiasmo que surgió entre ambos llevó a Mauchly a escribir a Atanasoff, solicitándole su cooperación para construir un computador como el ABC en la escuela Moore.
Atanasoff prefirió guardar la máquina en un cierto secreto hasta poder patentarla; sin embargo, nunca llegó a conseguirlo. Mauchly fue más afortunado. La escuela Moore trabajaba entonces en un proyecto conjunto con el ejército para realizar unas tablas de tiro para armas balísticas.
La cantidad de cálculos necesarios era inmensa, tardándose treinta días en completar una tabla mediante el empleo de una máquina de cálculo analógica. Aun así, esto era unas 50 veces más rápido de lo que tardaba un hombre con una sumadora de sobremesa.
En el laboratorio, Mauchly trabajó sobre sus ideas y las de Atanasoff, publicando una memoria que despertó el interés del Lieutenant Herman Goldstine, joven matemático que hacía de intermediario entre la universidad y el ejército, y que consiguió interesar al Departamento de Ordenación en la financiación de un computador electrónico digital.
El 9 de abril de 1943, se autorizó a los dos hombres a iniciar el desarrollo del proyecto. Se le llamó ENIAC (Electronic Numerical Integrator and Computer). El presupuesto inicial era de 150.000 dólares; cuando la máquina estuvo terminada, el costo total había sido de 486.804,22 dólares.
El ENIAC tenía unos condensadores, 70.000 resistencias, 7.500 interruptores y 17.000 tubos de vacío de 16 tipos distintos, funcionando todo a una frecuencia de reloj de 100.000 Hz. Pesaba unas 30 toneladas y ocupaba unos 1.600 metros cuadrados. Su consumo medio era de unos 100.000 vatios (lo que un bloque de 50 viviendas) y necesitaba un equipo de aire acondicionado a fin de disipar el gran calor que producía. Tenía 20 acumuladores de 10 dígitos; era capaz de sumar, restar, multiplicar y dividir; además, tenía tres tablas de funciones. La entrada y la salida de datos se realizaban mediante tarjetas perforadas.
En un test de prueba en febrero de 1946, el ENIAC resolvió en 2 horas un problema de física nuclear que previamente habría requerido 100 años de trabajo de un hombre. Lo que caracterizaba al ENIAC como a los ordenadores modernos no era simplemente su velocidad de cálculo, sino el hecho de que, combinando operaciones, permitía realizar tareas que antes eran imposibles.
Entre 1939 y 1944, Howard Aiken, de la universidad de Harvard, en colaboración con IBM, desarrolló el Mark I, también conocido como Calculador Automático de Secuencia Controlada. Este fue un computador electromecánico de 16 metros de largo y más de dos de alto. Tenía 700.000 elementos móviles y varios centenares de kilómetros de cables. Podía realizar las cuatro operaciones básicas y trabajar con información almacenada en forma de tablas.
Operaba con números de hasta 23 dígitos y podía multiplicar tres números de 8 dígitos en 1 segundo. El Mark I y las versiones que posteriormente se realizaron del mismo tenían el mérito de asemejarse considerablemente al tipo de máquina ideado por Babbage, aunque trabajaban en código decimal y no binario. El avance que estas máquinas electromecánicas supuso fue rápidamente ensombrecido por el ENIAC con sus circuitos electrónicos.
En 1946, el matemático húngaro John Von Neumann propuso una versión modificada del ENIAC, el EDVAC (Electronic Discrete Variable Automatic Computer), que se construyó en 1952. Esta máquina presentaba dos importantes diferencias respecto al ENIAC: en primer lugar, empleaba aritmética binaria, lo que simplificaba enormemente los circuitos electrónicos de cálculo.
En segundo lugar, permitía trabajar con un programa almacenado. El ENIAC se programaba enchufando centenares de clavijas y activando un pequeño número de interruptores. Cuando había que resolver un problema distinto, era necesario cambiar todas las conexiones, proceso que llevaba muchas horas.
Von Neumann propuso cablear una serie de instrucciones y hacer que éstas se ejecutasen bajo un control central. Además, propuso que los códigos de operación que habían de controlar las operaciones se almacenasen de modo similar a los datos, en forma binaria.
De este modo, el EDVAC no necesitaba una modificación del cableado para cada nuevo programa, pudiendo procesar instrucciones tan deprisa como los datos. Además, el programa podía modificarse a sí mismo, ya que las instrucciones almacenadas como datos podían ser manipuladas aritméticamente.
Eckert y Mauchly, tras abandonar la universidad, fundaron su propia compañía, la cual, tras diversos problemas, fue absorbida por Remington Rand. El 14 de junio de 1951, entregaron su primer ordenador a la Oficina del Censo, el UNIVAC-I.
Posteriormente aparecería el UNIVAC-II, con memoria de núcleos magnéticos, lo que le haría claramente superior a su antecesor, pero, por diversos problemas, esta máquina no vio la luz hasta 1957, fecha en la que había perdido su liderazgo en el mercado frente al 705 de IBM. En 1953, IBM fabricó su primer computador para aplicaciones científicas, el 701. Anteriormente, había anunciado una máquina para aplicaciones comerciales, el 702, pero esta máquina fue rápidamente considerada inferior al UNIVAC-I. Para compensar esto, IBM lanzó al mercado una máquina que resultó arrolladora, el 705, primer ordenador que empleaba memorias de núcleos de ferrita. IBM superó rápidamente a Sperry en volumen de ventas, gracias a una eficaz política comercial que actualmente la sigue manteniendo a la cabeza de todas las compañías de informática del mundo en cuanto a ventas.
A partir de entonces, fueron apareciendo progresivamente más y más maquinas. Veamos las etapas que diferencian unas máquinas de otras según sus características. Cada etapa se conoce con el nombre de generación.
Lenguaje de programación
Con la aparición de las computadoras, desaparecen las secuencias de posiciones de llaves mecánicas que debían desconectarse para obtener una acción determinada. Una clave conectada era un 1 y una llave desconectada era un 0. Una sucesión de llaves en cualquiera de sus dos posiciones definía una secuencia de ceros y unos (por ejemplo: 0100011010011101…) que venía a representar una instrucción o un conjunto de instrucciones (programa) para el ordenador (o computador) en el que se estaba trabajando. A esta primera forma de especificar programas para una computadora se la denomina lenguaje máquina o código máquina.
La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar: ADD (sumar), SUB (restar), MUL (multiplicar), CALL (ejecutar subrutina), etc. A esta secuencia de posiciones se le denominó «instrucciones», y a este conjunto de instrucciones se le llamó lenguaje ensamblador.
Posteriormente, aparecieron diferentes lenguajes de programación, los cuales reciben su denominación porque tienen una estructura sintáctica similar a los lenguajes escritos por los humanos.
Concepto
Un lenguaje de programación es un lenguaje que puede ser utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.
Aunque muchas veces se usa lenguaje de programación y lenguaje informático como si fuesen sinónimos, no tiene por qué ser así, ya que los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML (lenguaje para el marcado de páginas web).
Un lenguaje de programación permite a uno o más programadores especificar de manera precisa: sobre qué datos una computadora debe operar, cómo deben ser estos almacenados, transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Léxico. Una característica relevante de los lenguajes de programación es precisamente que más de un programador puedan tener un conjunto común de instrucciones que puedan ser comprendidas entre ellos para realizar la construcción del programa de forma colaborativa.
Los procesadores usados en las computadoras son capaces de entender y actuar según lo indican programas escritos en un lenguaje fijo llamado lenguaje de máquina. Todo programa escrito en otro lenguaje puede ser ejecutado de dos maneras:
- Mediante un programa que va adaptando las instrucciones conforme son encontradas. A este proceso se lo llama interpretar, y a los programas que lo hacen se los conoce como intérpretes.
- Traduciendo este programa al programa equivalente escrito en lenguaje de máquina. A ese proceso se lo llama compilar, y al traductor se lo conoce como un compilador.
Clasificación de los lenguajes de programación
Los lenguajes de programación se determinan según el nivel de abstracción, según la forma de ejecución y según el paradigma de programación que poseen cada uno de ellos. Pueden ser:
Según su nivel de abstracción
Lenguajes de bajo nivel
Los lenguajes de bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel es, por excelencia, el código máquina. A éste le sigue el lenguaje ensamblador, ya que al programar en ensamblador se trabajan con los registros de memoria de la computadora de forma directa.
Lenguajes de medio nivel
Hay lenguajes de programación que son considerados por algunos expertos como lenguajes de medio nivel (como es el caso del lenguaje C) al tener ciertas características que los acercan a los lenguajes de bajo nivel, pero teniendo, al mismo tiempo, ciertas cualidades que lo hacen un lenguaje más cercano al humano y, por tanto, de alto nivel.
Lenguajes de alto nivel
Los lenguajes de alto nivel son normalmente fáciles de aprender porque están formados por elementos de lenguajes naturales, como el inglés. En BASIC, el lenguaje de alto nivel más conocido, los comandos como «IF CONTADOR = 10 THEN STOP» pueden utilizarse para pedir a la computadora que pare si CONTADOR es igual a 10. Por desgracia, para muchas personas esta forma de trabajar es un poco frustrante, dado que, a pesar de que las computadoras parecen comprender un lenguaje natural, lo hacen en realidad de una forma rígida y sistemática.
Según la forma de ejecución
Lenguajes compilados
Naturalmente, un programa que se escribe en un lenguaje de alto nivel también tiene que traducirse a un código que pueda utilizar la máquina. Los programas traductores que pueden realizar esta operación se llaman compiladores. Éstos, como los programas ensambladores avanzados, pueden generar muchas líneas de código de máquina por cada proposición del programa fuente. Se requiere una corrida de compilación antes de procesar los datos de un problema.
Los compiladores son aquellos cuya función es traducir un programa escrito en un determinado lenguaje a un idioma que la computadora entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta mientras haya errores, sino hasta que, luego de haber compilado el programa, ya no aparecen errores en el código.
Lenguajes interpretados
Se puede también utilizar una alternativa diferente de los compiladores para traducir lenguajes de alto nivel. En vez de traducir el programa fuente y grabar en forma permanente el código objeto que se produce durante la corrida de compilación para utilizarlo en una corrida de producción futura, el programador sólo carga el programa fuente en la computadora junto con los datos que se van a procesar. A continuación, un programa intérprete, almacenado en el sistema operativo del disco, o incluido de manera permanente dentro de la máquina, convierte cada proposición del programa fuente en lenguaje de máquina conforme vaya siendo necesario durante el proceso de los datos. No se graba el código objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se le debe interpretar otra vez y traducir a lenguaje máquina. Por ejemplo, durante el procesamiento repetitivo de los pasos de un ciclo, cada instrucción del ciclo tendrá que volver a ser interpretado cada vez que se ejecute el ciclo, lo cual hace que el programa sea más lento en tiempo de ejecución (porque se va revisando el código en tiempo de ejecución) pero más rápido en tiempo de diseño (porque no se tiene que estar compilando a cada momento el código completo). El intérprete elimina la necesidad de realizar una corrida de compilación después de cada modificación del programa cuando se quiere agregar funciones o corregir errores; pero es obvio que un programa objeto compilado con antelación deberá ejecutarse con mucha mayor rapidez que uno que se debe interpretar a cada paso durante una corrida de producción.
Según el paradigma de programación
Un paradigma de programación representa un enfoque particular o filosofía para la construcción del software. No es mejor uno que otro, sino que cada uno tiene ventajas y desventajas. Dependiendo de la situación, un paradigma resulta más apropiado que otro.
Atendiendo al paradigma de programación, se pueden clasificar los lenguajes en:
- El paradigma imperativo o por procedimientos es considerado el más común y está representado, por ejemplo, por el o por BASIC.
- El paradigma funcional está representado por la familia de lenguajes LISP (en particular Scheme), ML o Haskell.
- El paradigma lógico, un ejemplo es PROLOG.
- El paradigma orientado a objetos. Un lenguaje completamente orientado a objetos es Smalltalk.
Nota: La representación orientada a objetos mejora la estructura de los datos y, por lo tanto, se ha aplicado a diferentes paradigmas como Redes de Petri, Imperativo Secuencial, Lógica de Predicados, Funcional, etc. No obstante, la manipulación no queda fundamentalmente afectada y, por lo tanto, el paradigma inicial tampoco, a pesar de ser re-orientado a objetos.
Si bien puede seleccionarse la forma pura de estos paradigmas al momento de programar, en la práctica es habitual que se mezclen, dando lugar a la programación multiparadigma.
Actualmente el paradigma de programación más usado, debido a múltiples ventajas respecto a sus anteriores, es la programación orientada a objetos.
Lenguajes imperativos
- BASIC
- C++
- Java
- C#
- Perl
- unerg
Lenguajes Funcionales
Puros:
- Haskell
- Miranda
Híbridos:
- Lisp
- Scheme
- Ocaml
- Standard ML
- ML
- Scala
Lenguajes Lógicos
- Prolog
Lenguajes orientados a objetos
- ActionScript
- Ada
- C++
- C#
- VB.NET
- Visual FoxPro
- Clarion
- Delphi
- Harbour
- Eiffel
- Java
- JavaScript
- Lexico (en castellano)
- Objective-C
- Ocaml
- Oz
- Perl (soporta herencia múltiple)
- PHP (en su versión 5)
- Python
- Ruby
- Smalltalk
- Magik (SmallWorld)
Generaciones de computadoras
La primera generación
El Univac I viene a marcar el comienzo de lo que se llama la primera generación. Los ordenadores de esta primera etapa se caracterizan por emplear el tubo de vacío como elemento fundamental de circuito. Son máquinas grandes, pesadas y con unas posibilidades muy limitadas. El tubo de vacío es un elemento que tiene un elevado consumo de corriente, genera bastante calor y tiene una vida media breve. Hay que indicar que, a pesar de esto, no todos los ordenadores de la primera generación fueron como el ENIAC. Las nuevas técnicas de fabricación y el empleo del sistema binario llevaron a máquinas con unos pocos miles de tubos de vacío.
La segunda generación
En 1958, comienza la segunda generación, cuyas máquinas empleaban circuitos transistorizados. El transistor es un elemento electrónico que permite reemplazar al tubo con las siguientes ventajas: su consumo de corriente es mucho menor, con lo que también es menor su producción de calor. Su tamaño es también mucho menor. Un transistor puede tener el tamaño de una lenteja, mientras que un tubo de vacío tiene un tamaño mayor que el de un cartucho de escopeta de caza. Esto permite una drástica reducción de tamaño. Mientras que las tensiones de alimentación de los tubos estaban alrededor de los 300 voltios, las de los transistores vienen a ser de 10 voltios, con lo que los demás elementos de circuito también pueden ser de menor tamaño al tener que disipar y soportar tensiones mucho menores. El transistor es un elemento constituido fundamentalmente por silicio o germanio. Su vida media es prácticamente ilimitada y, en cualquier caso, muy superior a la del tubo de vacío. Como podemos ver, el simple hecho de pasar del tubo de vacío al transistor supone un gran paso en cuanto a reducción de tamaño y consumo, y aumento de fiabilidad. Las máquinas de la segunda generación emplean, además, algunas técnicas avanzadas no sólo en cuanto a electrónica, sino en cuanto a informática y proceso de datos, como por ejemplo los lenguajes de alto nivel.
La tercera generación
En 1964, la aparición del IBM 360 marca el comienzo de la tercera generación. Las placas de circuito impreso con múltiples componentes pasan a ser reemplazadas por los circuitos integrados. Estos elementos son unas plaquitas de silicio, llamadas chips, sobre cuya superficie se depositan por medios especiales unas impurezas que hacen las funciones de diversos componentes electrónicos. Así pues, un puñado de transistores y otros componentes se integran ahora en una plaquita de silicio. Aparentemente, esto no tiene nada de especial, salvo por un detalle: un circuito integrado con varios centenares de componentes integrados tiene el tamaño de una moneda.
Así pues, hemos dado otro salto importante en cuanto a la reducción de tamaño. El consumo de un circuito integrado es también menor que el de su equivalente en transistores, resistencias y demás componentes. Además, su fiabilidad es también mayor.
En la tercera generación, aparece la multiprogramación, el teleproceso, se empieza a generalizar el uso de minicomputadores en los negocios y se usan cada vez más los lenguajes de alto nivel, como Cobol y Fortran.
La cuarta generación
La aparición de una cuarta generación de ordenadores hacia el comienzo de los años setenta no es reconocida como tal por muchos profesionales del medio, para quienes ésta es sólo una variación de la tercera. Máquinas representativas de esta generación son el IBM 370 y el Burroughs. Las máquinas de esta cuarta generación se caracterizan por la utilización de memorias electrónicas en lugar de las de núcleos de ferrita.
Estas representan un gran avance en cuanto a velocidad y, en especial, en cuanto a reducción de tamaño. En un chip de silicio no mayor que un centímetro cuadrado caben 64.000 bits de información. En núcleos de ferrita, esa capacidad de memoria puede requerir cerca de un litro en volumen.
Se empieza a desechar el procesamiento batch o por lotes en favor del tiempo real y el proceso interactivo. Aparecen innumerables lenguajes de programación. Las capacidades de memoria empiezan a ser enormemente grandes. En esta etapa cobran gran auge los minicomputadores. Estos son maquinas con un procesador de 16 bits, una memoria de entre 16 y 32 KB y un precio de unos pocos millones.
La quinta generación: los microprocesadores
Posteriormente, hacia finales de los setenta, aparece la que podría ser la quinta generación de ordenadores. Se caracteriza por la aparición de los microcomputadores y los ordenadores de uso personal. Estas máquinas se caracterizan por llevar en su interior un microprocesador, circuito integrado que reúne en un sólo chip de silicio las principales funciones de un ordenador.
Los ordenadores personales son equipos a menudo muy pequeños, no permiten multiproceso y suelen estar pensados para uso doméstico o particular. Los microcomputadores, si bien empezaron tímidamente como ordenadores muy pequeñitos, rápidamente han escalado el camino, superando a lo que hace 10 años era un minicomputador. Un microcomputador actual puede tener entre 4Mb y 32Mb de memoria, discos con capacidades del orden del Gigabyte y pueden permitir la utilización simultánea del equipo por varios usuarios.
Tipos de computadores
· Computador analógico
· Supercomputadora
· Computadora central
· Minicomputadora
· Microcomputadora
· Computadora de escritorio
· Computador personal
· Computadora doméstica
· Multiseat
· Computadora portátil de escritorio
· Computadora portátil
· Tablet PC
· Subportátil
· PC Ultra Móvil
· PDA
· Smartphone
· Cliente ligero
· Sistema empotrado