Historia de los Computadores - Distributed Systems Architecture

Transcripción

Historia de los Computadores - Distributed Systems Architecture
HISTORIA
DE LOS
COMPUTADORES
Héctor A. Sanjuán Redondo
Proyecto de Investigación Becas de Aprovechamiento Académico Excelente
2005/2006. Comunidad de Madrid.
En colaboración con la profesora:
María Teresa Higuera Toledano
FACULTAD DE INFORMÁTICA. UNIVERSIDAD COMPLUTENSE DE MADRID.
1
ÍNDICE
1. ANTECEDENTES DE LOS COMPUTADORES
•
1.1. El Desarrollo del Cálculo en la Historia.......................................................................
•
1.1.1. El ábaco: la primera herramienta de cálculo.....................................................
•
1.1.2. La Era Mecánica...............................................................................................
•
1.1.3. Charles Babbage y Ada Lovelace.....................................................................
•
1.2. El Desarrollo de los Automatismos en la Historia.......................................................
•
1.2.1. Los autómatas de Herón de Alejandría.............................................................
•
1.2.2. El Telar de Jacquard.........................................................................................
2. EL DESARROLLO DE LOS COMPUTADORES
•
2.1. Primera Generación de Computadores........................................................................
•
2.1.1. John Von Neumann: el padre de las computadoras..........................................
•
2.1.2. Konrad Zuse y la primera computadora binaria...............................................
•
2.1.3. John V. Atanasoff y Clifford Berry: el ABC....................................................
•
2.1.4. Alan Turing: el proyecto Colossus...................................................................
•
2.1.5. Howard Aiken, Grace Hopper: las series de Harvard Mark.............................
•
2.1.6. John Mauchly y J. Presper Eckert: ENIAC, EDVAC, BINAC y UNIVAC.....
•
2.2. Segunda Generación de Computadores........................................................................
•
2.2.1. Avances técnicos de la generación...................................................................
•
2.2.2. Los primeros lenguajes de alto nivel................................................................
•
2.2.2.1. FORTRAN
•
2.2.2.2. COBOL
•
2.2.2.3. ALGOL
•
2.2.3 Los computadores más representativos de la Segunda Generación..................
•
2.2.3.1 TRADIC y TX-0
•
2.2.3.2 IBM 7090
•
2.2.3.3 LARC
•
2.2.3.4 BM 7030
•
2.3. Tercera Generación de Computadores.........................................................................
•
2.3.1. Los circuitos integrados....................................................................................
•
2.3.2. Nuevos lenguajes de programación..................................................................
•
2.3.2.1. BASIC
•
2.3.2.2. PASCAL
•
2.3.3. Los computadores más representativos de la Tercera Generación...................
•
2.3.3.1. Las Series IBM System/360
•
2.3.3.2. General Data NOVA
•
2.3.3.3. CDC 6000 Series
•
2.4. Cuarta Generación de Computadores..........................................................................
•
2.4.1. Los microprocesadores.....................................................................................
•
2.4.2. Los lengajes de programación de la Cuarta Generación..................................
•
2.4.2.1. C
•
2.4.2.2. Java
•
2.4.3. Los computadores personales...........................................................................
•
2.4.3.1. Años 70
•
2.4.3.1.1. MITS Altair 8800
•
2.4.3.1.2. Apple II
•
2.4.3.2. Años 80
•
2.4.3.2.1. IBM PC
•
2.4.3.2.2. Apple Macintosh
•
2.4.3.3. La evolución hasta nuestros días
3. ASPECTOS POLÉMICOS E INFLUENCIA SOCIAL DE LOS COMPUTADORES..........
•
3.1. La Primera Generación, la guerra y la responsabilidad social de ayer y hoy
•
3.2. El mercado de los computadores
➢Pág.3
➢3
➢4
➢6
➢9
➢9
➢12
➢16
➢16
➢19
➢22
➢25
➢28
➢30
➢34
➢36
➢37
➢41
➢47
➢47
➢49
➢52
➢57
➢57
➢59
➢64
➢75
2
1. ANTECEDENTES DE LOS COMPUTADORES
1.1.EL DESARROLLO DEL CÁLCULO EN LA HISTORIA

1.1.1. El ábaco: la primera herramienta de cálculo
El ábaco se considera la primera máquina para realizar cálculos numéricos. Consiste en una
tabla con varios hilos por los que se pueden trasladar cuentas de manera que simplifican las
operaciones de suma, resta, multiplicación y división. Sus orígenes son inciertos: algunos autores
sitúan los primeros ábacos en oriente próximo desde donde se
extenderían hasta China y otros países del lejano oriente; otros,
sin embargo, emplazan su nacimiento en los últimos ya que
hay indicios de que los ábacos existían en China hace más
3.000 años aunque las primeras referencias claras son del siglo
II a.C.
Debido a la facilidad que otorgaba a la hora de realizar
cálculos su uso se extendió y generalizó en toda a Asia y
Europa, cobrando especial importancia hacia los siglos XI y
XII. A partir del siglo XV la utilización del ábaco en Europa se
Dibujo mostrando la enseñanza
tradicional y el ábaco chinos
fue perdiendo al ritmo que el uso de los números indo-arábigos
aumentaba y aparecían nuevos métodos de cálculo1.
En la actualidad el ábaco se utiliza para la enseñanza y
sigue utilizándose en multitud de comercios de China así como
en las Chinatowns particulares de diferentes partes del mundo,
lo que demuestra su gran eficiencia. Como curiosidad conviene
comentar que en 1946, a poco más de un año del final de la
guerra, se realizó una competición patrocinada por el periódico
estadounidense de la marina Stars And Stripes entre una
calculadora electromecánica operada por un experto militar
americano y un ábaco manejado por un funcionario japonés,
resultando ganador este último en cuatro de las cinco pruebas
Asiático haciendo uso del ábaco
realizadas (perdió en la de multiplicaciones). Los periódicos nipones se leyeron cosas como: “La
civilización, a las puertas de la era nuclear, sufrió un revés la tarde del lunes cuando el ábaco, de
1http://es.wikipedia.org/wiki/%C3%81bbaco
http://www-etsi2.ugr.es/alumnos/mlii/abaco.htm
http://www.chinavista.com/experience/abacus/abacus.html
3
2000 años de antigüedad, superó a la calculadora eléctrica en la realización de sumas, restas,
divisiones y en un problema de las tres, además de la multiplicación”2.
Aunque el cálculo y las matemáticas en general fueron
avanzando en mayor o menor grado a lo largo de los siglos,
habrá que esperar hasta comienzos del siglo XVII para ver
aparecer nuevas herramientas que pudieran sustituir de alguna
manera al algo tan sencillo como el ábaco. Antes cabe destacar
el Mecanismo de Antikythera, construido alrededor del año 80
a.C.y recuperado en 1900 en la isla griega de Rodas. Era un
artefacto de cálculo astronómico con mecanismos de precisión
que simulaba el movimiento del sol, la luna y varios planetas,
teniendo a la vista la fecha en que se había dado, o se daría, tal
El mecanismo de Antikythera

combinación. Es tanta su sofisticación que se le ha descrito
como “la primera computadora de Occidente”3.
1.1.2. La Era Mecánica
Durante el siglo XVII aparecieron nuevos artilugios para
realizar cálculos. Basados en múltiples y complicados mecanismos,
permitían realizar diversas operaciones de forma más o menos
automática.
Uno de los primeros ejemplos, “la regla de cálculo”, data de
1610. Su inventor, John Napier, padre los logaritmos, ingenió una
simple tabla con un sistema de varillas mediante el cual se podían
simplificar las operaciones de multiplicación y división, especialmente
cuando se trataba de números muy
John Napier
elevados.
En 1641, el matemático y filósofo francés Blaise Pascal
construyó, con 19 años, una máquina mecánica que permitía
sumar. La máquina consistía en una serie de ruedas dentadas
conectadas de manera que se podían realizar adiciones. Este
invento fue recogido años más tarde por Leibniz, que propuso
Blaise Pascal
utilizar el sistema binario para realizar los cálculos, y que diseñó
2 http://www.ee.ryerson.ca:8080/~elf/abacus/abacus-contest.html
3 http://www-etsi2.ugr.es/alumnos/mlii/Antikythera.htm
4
en 1670 una máquina capaz de realizar sumas, restas, multiplicaciones y divisiones. Sin embargo, la
tecnología disponible le imposibilitó la realización de las operaciones con exactitud.
Cabe decir que, por lo visto, ni Pascal ni Leibniz fueron los primeros en realizar inventos de
tales características. Fue un estudiante alemán de la
Universidad de Tubingen, Wilhelm Schickard, el que
supuestamente había construido ya una máquina entre 1623 y
1624, de la que hace unas breves descripciones en dos cartas
dirigidas a Johannes Kepler. Por desgracia, la máquina quedó
destruida en un incendio, y el propio Schickard murió poco
después, víctima de la peste bubónica.
La máquina de Leibnitz fue mejorada en 1727 por
Jacob Leupold y, en 1777, Charles Mahon diseña una máquina
aritmética y otra lógica, el Demostrador de Stanhope. En 1825,
el francés Charles Xavier Thomas de Colmar diseñó una
máquina
calculadora
que
posteriormente
conseguiría
Gottfried Wilhelm Leibnitz (1646 - 1716)
comercializar con éxito4.
La Pascalina
4 http://www.monografias.com/trabajos12/hiscompu/hiscompu.shtml,
http://www.angelfire.com/de/jbotero/co/cohistoria.html,
http://www-etsi2.ugr.es/alumnos/mlii/#prehistoria
5

1.1.3. Charles Babbage y Ada Lovelace:
La Máquina Diferencial y la Máquina Analítica
Charles Babbage es considerado por muchos como el padre de los computadores modernos.
Nacido en 1792, hijo de un adinerado banquero inglés, le apasionaban las matemáticas. En 1811
ingresa en el Trinity College de Cambridge y pronto alcanza un nivel superior al de sus propios
tutores. Fue uno de los fundadores de la Sociedad Analítica
para la promoción de las matemáticas y elegido miembro de la
Royal Society en 1816.
A partir de 1820 comenzó a interesarse enormemente
por las máquinas de calcular. De ésta pasión surgió un primer
proyecto: la Máquina Diferencial. Pretendía
dispositivo
de
seis
dígitos
para
resolver
construir un
ecuaciones
polinómicas. Sin embargo, conforme el modelo inicial
progresaba, aparecían constantemente nuevas necesidades y
partes que añadir a la máquina. Al final Babbage acabó
Charles Babbage
invirtiendo 50 veces el presupuesto inicial, sin conseguir
resultados. Tan mal resultó su apuesta, que el primer ministró inglés, Benja Disraeli, escribiría que
“para lo único que podía servir aquel aparato era para calcular las enormes sumas de dinero
público que se habían derrochado ya con él”5.
Babbage no se resignó y decidió dar un paso más
con el diseño de la Máquina Analítica. Con ella, pretendía
realizar un dispositivo de cálculo general, y en él puso
todos sus esfuerzos y recursos económicos. Para llevar a
cabo su invención, compró una casa que transformó en
taller y fundición para las piezas. Contrató proyectistas,
dibujantes,
técnicos
y
trabajó
sin
cesar
en
el
perfeccionamiento del diseño, aunque ni siquiera sabía si
era realizable (“no estando probada su imposibilidad,
debía seguir un ligero resplandor de luz que creía
percibir”).
La Máquina Analítica de Babbage tal y como
Máquina Diferencial. Science Museum,
Kensington, Londres.
estaba proyectada debía tener un funcionamiento paralelo al telar de Jacquard que analizaremos más
5 http://www-etsi2.ugr.es/alumnos/mlii/Maquina%20DDiferencial.htm
6
adelante como mecanismo cumbre de los automatismos. Dicho telar era capaz de tejer cualquier
dibujo si se le daban las instrucciones apropiadas por medio de tarjetas perforadas, y hacerlo con los
diferentes colores que se proporcionaran. De esta manera, la Máquina Analítica debía ser capaz de
realizar cualquier operación que se le indicase, con los números que se le proporcionasen.
La entrada de datos se haría a través de dos juegos de tarjetas perforadas: uno con las
operaciones a realizar y otro con el valor de las variables. Babbage había previsto además la
posibilidad de realizar operaciones logarítmicas y trigonométricas a través de más juegos de tarjetas
y tablas de equivalencia que serían solicitadas por la máquina en el momento de su utilización.
Internamente, la Máquina constaba de dos partes:
•
Una memoria en la que se almacenarían todas las variables con las que se va a
operar, así como los resultados de ese tipo de operaciones.
•
Una unidad operativa, encargada de realizar las operaciones.
Babbage estimaba que su Máquina sería capaz de realizar en 1 segundo 60 sumas o restas, 1
multiplicación de dos números de 50 cifras o una división de un numero de 100 cifras por uno de
50. Estas operaciones, y cada uno de sus pasos podrían ser imprimidos sobre papel.
La Máquina Analítica como tal era
ilimitada,
tanto
en
el
número
de
operaciones a realizar como en el número
de variables utilizadas. Babbage restaba
importancia a este hecho argumentando
que, en vez disponer de un espacio infinito
para tal artilugio, contaba con un tiempo
infinito para la realización de un número
ilimitado de funciones a través un
mecanismo de dimensiones limitadas6.
La Máquina estaba controlada por
una secuencia de instrucciones y poseía
La Máquina Analítica. Science Museum, Kensington, Londres.
una unidad de proceso, una memoria central, facilidades de entrada y salida de datos, y
posibilidades de control paso a paso. Todo ello son las características propias de lo que hoy
conocemos como programa, y es aquí donde radica la verdadera importancia del trabajo de
Babbage.
6 Ch. Babbage - La máquina analítica. Perspectivas de la Revolución de Computadores. Selección y comentarios de
Zenon W. Pylyshyn. Alianza Editorial. 1975.
7
Augusta Ada, Condesa de Lovelace, sería reconocida como la
primera programadora de la historia por los aportes realizados en
colaboración con Babbage a la Máquina Analítica. Hija del poeta
romántico Lord Byron, Ada entró en relación con Babbage desde
muy joven, cuando visitaba su taller. Babbage quedó asombrado
de la capacidad de la joven para entender sus diseños y se
convertiría en su tutor. Una de sus principales aportaciones fue la
traducción de una memoria de Menabrea7 sobre la Máquina
Analítica añadiendo sus propios comentarios e ideas, que acabó
duplicando la longitud del original. Además describió procesos
como los “bucles” y “subrutinas” que podían resultar muy útiles
Augusta Ada Byron King, condesa de
Lovelace
a la hora de realizar cálculos y que serían ampliamente
extendidos un siglo más tarde por personajes como Alan. M.
Turing o John Von Neumann.
En uno de tales comentarios se leía respecto a la Máquina Analítica:
“[La Máquina Analítica] podría actuar sobre otras cosas más allá de los números, como objetos
cuyas relaciones mutuas fundamentales pudieran ser expresadas por aquellas de la ciencia abstracta de las
operaciones, y que deberían ser también susceptibles a una adaptación a la acción de la notación operativa
y del mecanismo de la máquina... Suponiendo, por ejemplo, que las relaciones fundamentales de los sonidos
graduados en la ciencia de la armonía y de la composición musical fuesen susceptibles de tal expresión y
adaptación, la Máquina podría componer elaboradas y científicas piezas de música de cualquier grado de
complejidad y extensión” 8.
Ada murió de cáncer con tan sólo 36 años, dejando a Babbage sólo con sus proyectos.
Desafortunadamente, la Máquina Analítica nunca pudo ser finalizada completamente debido a que
la construcción de las piezas requería demasiada precisión que la que la tecnología de la época
podía proporcionar. A pesar de los grandes avances aportados a la ciencia, la frustración generada
por esta limitación unida a la falta de apoyo desde el gobierno británico harían de Babbage un
hombre resentido y amargado hasta el día de su muerte9.
7 Luigi Menabrea (1809-1896) estudió ingeniería y matemáticas en la Universidad de Turin, dónde se convertió en
profesor de mecánica. No sólo destacó por su publicación sobre la Máquina Analítica de Babbage, sino también por
convertirse en el Primer Ministro y Ministro de Asuntos Exteriores italiano en 1867. Durante su periodo político
realizó un excelente trabajo científico dando la primera formulación precisa de los métodos de análisis estructural y
el principio de trabajo virtual. Además estudió la elasticidad y el principio de mínimo trabajo.
http://www-history.mcs.st-andrews.ac.uk/~history/Biographies/Menabrea.html
8 http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Lovelace.html
9 http://www.perantivirus.com/historia/s14al19.htm
8
1.2. EL DESARROLLO DE LOS AUTOMATISMOS EN LA HISTORIA
Los automatismos también juegan un papel de peso en el desarrollo de la informática.
Cuanto más automatizado esté cierto proceso, más se simplifica su ejecución, lo que es realmente
importante a la hora de realizar tareas complejas. Ya en la antigüedad se crearon todo tipo de
artilugios, con más o menos utilidad, que fueron creciendo en complejidad y funciones con los años.
Sin embargo, esta evolución fue muy lenta, ya que dependía directamente del desarrollo de otras
ciencias: la mecánica, la física... el desarrollo de la filosofía (y la mentalidad social) también
influyó: al principio muchos eran considerados objetos sacrílegos a los que solo unos pocos podían
acceder. Aún así, los más famosos autómatas que encontramos a lo largo de la historia han pasado a
la posteridad gracias a las grandes dotes de ingenio y creatividad que se depositaron en ellos.
Uno de los primeros ejemplos que tenemos data del 1500 a. C., cuando se inventó en Etiopía
una estatua que emitía sonidos cuando el sol la iluminaba al amanecer. King-su Tse, en China, en el
500 a. C., ingenió una urraca voladora de madera y bambú, y un caballo de madera que saltaba.
Poco después, en el 400 a.C., Archytar de Tarento, inventor del tornillo y de la polea, construyó una
paloma de madera suspendido de un pivote, el cual rotaba con un surtidor de agua o vapor,
simulando el vuelo.

1.2.1. Los autómatas de Herón de Alejandría
Uno de los inventores más prolíficos fue Herón de Alejandría
(nacido en Ascra) que vivió en el siglo I a.C. Entre sus inventos con mayor
importancia están la dioptra, utilizado parar observaciones astronómicas, el
odómetro (un sistema de engranajes combinados para contar las vueltas de
una rueda) o la eolipila (un precursor de la turbina de vapor), aunque no
fueron ni mucho menos los únicos10.
En su libro Autómatas describe un gran número de artilugios.
Algunos fueron realizados como simples juguetes, sin embargo, a otros se
les acompañaba de instrumentos de carácter mágico que tan sólo podían ser
La eolipila de Herón
usados por los sacerdotes. La unión de mecánica y superstición se describe así en el libro Los
ángeles de metal, de Kiaulehn :
“Con sus autómatas movidos por vapor, Herón había convertido los templos en lugares de misterio.
10 http://www.arrakis.es/~mcj/heron.htm
9
Cuando los fuegos sagrados habían sido encendidos sobre el altar, una trompeta de piedra daba una señal y
los fieles acudían.
Entonces, cuando se habían congregado ante el templo, podían ver cómo las grandes puertas se
abrían por si solas. Y cuando penetraban en el santuario, tras hacer girar las ruedas de bronce que se
encontraban a la entrada -pues los antiguos creían que tocar el bronce purificaba al hombre- caía una fina
lluvia de agua perfumada mientras unos pájaros de bronce abrían los picos y dejaban oír un canto
sobrenatural.
Los sótanos del templo estaban ocupados por equipos de poleas, saltos de agua, ruedas dentadas y
conductos de vapor que servían para crear estos milagros.
En el fondo del templo ardía la llama de los
sacrificios, sostenida por las manos de los sacerdotes
inmóviles. Los sacerdotes eran de bronce, y sus manos de
metal podían introducirse en la llama sin que sintiesen nada.
Al final del servicio religioso una fina lluvia les caía de los
dedos y apagaba la llama.”
Herón no fue el único en interesarse por estos
artilugios. La clase alta romana, por ejemplo, tenía por
costumbre utilizar diversos juguetes automáticos para
El Gallo de Estrasburgo
entretener a los invitados que recibían en sus casas. Los árabes heredaron y difundieron la herencia
griega, introduciendo muchos de los artilugios en la vida cotidiana, este es el caso de los
dispensadores automáticos de agua para beber o lavarse.
También nos han llegado referencias aunque no suficientemente documentadas de otros
inventos curiosos como el hombre de hierro de Alberto
Magno o la cabeza parlante de Roger Bacon, ambos
del siglo XIII. En el año 1235, Villard d’Honnecourt
escribió un libro con bocetos que incluían secciones de
dispositivos mecánicos, como un ángel autómata, e
indicaciones para la construcción de figuras humanas y
animales.
Otro ejemplo relevante de la época fue el Gallo
de Estrasburgo (Reino Unido) que funcionó desde
1352 hasta 1789. Es el autómata más antiguo que se
El Pato Mecánico de Vaucanson
conserva en la actualidad, formaba parte del reloj de la
catedral de la ciudad y al dar las horas movía el pico y las alas.
10
A partir del siglo XV se empezaron a desarrollar múltiples autómatas: el León Mecánico
construido por Leonardo Da Vinci (1452-1519) para el rey Luis XII de
Francia, abría el pecho con su garra y mostraba el escudo de armas del
rey; el hombre de palo, con forma de monje, construido por Juanelo
Turriano el siglo XVI para el emperador Carlos V, andaba y movía la
cabeza, ojos, boca y brazos. Durante los siglos XVII y XVIII nacieron
muchas más creaciones de las manos de expertos relojeros como
entretenimiento para las gentes. Cabe destacar dos inventos de Jacques
de Vaucanson, el pato mecánico y el flautista. El primero fue descrito
como “la pieza mecánica más maravillosa que se haya hecho”. El pato
alargaba su cuello para tomar el grano de la mano y luego lo tragaba y
lo digería. Podía beber, chapotear y graznar, y también imitaba los
gestos que hace un pato cuando traga con precipitación. Los alimentos
los digería por disolución y se conducía por unos tubos hacia el ano,
El Flautista de Vaucanson
donde había un esfínter que permitía evacuarlos. En cuanto al flautista, consistía en un complejo
mecanismo de aire que causaba el movimiento de dedos y labios, como el funcionamiento normal
de una flauta11.
Siguieron apareciendo ingenios como humanoides cuyos inventores aseguraban que eran
capaces de escribir en varios idiomas y pintar, siempre centrados en producir asombro más que en
una utilidad práctica. No será hasta finales del siglo XVIII y principios del XIX, coincidiendo con la
Revolución Industrial y gracias al perfeccionamiento de la máquina de vapor (Newcomen, Watt, s.
XVIII), los avances en la metalurgia y otras áreas, cuando se desarrollen mecanismos que se
pudieran aplicar de manera eficaz a la
incipiente industria de la época. Es el caso
de
Edmund
Cartwright,
que
inventó
numerosas máquinas relacionadas con la
industria textil: un telar movido a vapor, una
máquina de cardar lana, otra para trenzar
cuerdas,
una
máquina
de
vapor
de
alcohol12...
Sala de telares a vapor
Será Joseph Marie Jacquard, en 1808, el
primero en perfeccionar y confeccionar definitivamente lo que puede ser considerado como la
primera máquina programable y funcional de la historia y a la que dedicamos un capítulo especial.
11 http://automata.cps.unizar.es/Historia/Webs/automatas_en_la_historia.htm
http://www.teatrodeautomatas.com/htmls/historia.html
12 http://automata.cps.unizar.es/Biografias/Cartwrigth.htm
11

1.2.2. El telar de Jacquard
Joseph Marie Jacquard nació en Lyon en 1752. Como su padre, se convirtió en tejedor de
seda y heredó el negocio. Tuvo siempre un gran interés por mejorar los procesos textiles sobre los
que trabajaba, observando que los dibujos que se realizaban eran fruto de procesos repetitivos y
bastante similares. Sin embargo, con 40 años de edad
solamente ya había conseguido fracasar en varios y
costosos proyectos que le llevaron a la bancarrota.
Durante un tiempo se dedicó a otros asuntos y, con la
revolución francesa desarrollándose, apoyó al Antiguo
Régimen y luchó contra los revolucionarios. Una vez
finalizada, volvería a Lyon y retomaría su pasión por
mejorar el trabajo de la seda.
Sin embargo, no fue ni mucho menos el primero
que se dedicó a estos fines. Desde 1941, Francia buscaba
la forma de hacer frente a la fuerte competencia del
sector textil Inglés, a través de una mejora de los medios
de producción y Jacques de Vaucanson, que hemos
citado antes por dos de sus famosas creaciones (el
Joseph Marie Jacquard
flautista y el pato), fue elegido para dirigir este proceso. Vaucanson diseñó en 1745 el primer telar
completamente automatizado de la historia. Su prototipo funcionaba con movimientos repetitivos
guiados con tarjetas perforadas. Inexplicablemente, no fue tomado en consideración y quedó
postrado como pieza de museo tras su muerte, hasta que Jacquard lo descubrió, restauró y
perfeccionó en gran medida.
El método de las tarjetas perforadas permitía que sólo las agujas deseadas y con cierto hilo
fueran tejiendo el diseño que se pretendía crear, mientras que el resto quedaran a la espera de su
turno. Jacquard fue, poco a poco, mejorando el funcionamiento de su invención, aumentando su
eficiencia y la facilidad para aplicar su método a telares ya existentes. En 1812, 11,000 de sus
telares se encontraban en funcionamiento en Francia, y pronto se extenderían por todo el mundo.
Jacquard, además de ser premiado, había vendido los derechos del telar al gobierno y cobraba por
cada telar utilizado13.
Las consecuencias de algo tan simple como un agujero abierto o cerrado continúan en el día
de hoy. Las tarjetas perforadas serían utilizadas más tarde para las primeras calculadoras y se
13 “AND SEW ON...” Keith Ferrell. US Airways Attaché. Marzo 2005.
12
convertirían en precursoras del sistema binario sobre el cuál se basaron todos los avances realizados
en el mundo de los computadores y que describiremos más adelante.
La aplicación de esta clase de inventos a la industria no fue bien recibida. En una época en la
que la producción era lo que
importaba, la clase obrera o
proletariado se agolpaba en
suburbios
superpoblados,
sucios y conflictivos de las
grandes ciudades europeas
donde las epidemias de tifus
o cólera se convertían en
algo habitual. Trabajaban
jornadas de 12 a 14 horas en
condiciones
deplorables,
laborales
dentro
de
fábricas sucias, húmedas,
oscuras, poco ventiladas y
ruidosas. La implantación de
grandes
máquinas
para
realizar el trabajo hizo que
la
fuerza
no
fuera
característica imprescindible
Visita del Duque de Aumale a uno de los telares de Jacquard
para
los
trabajadores,
favoreciendo la explotación de mujeres y niños de corta edad con un salario mucho menor al de los
hombres. Será entonces, a partir de la concentración de obreros en las fábricas
cuando el
proletariado tome conciencia de su situación y vea que mediante acciones colectivas podrían tratar
de mejorar sus condiciones de vida.
Ni Cartwright ni Jacquard se librarían de revueltas obreras. Cuatrocientos telares del primero
fueron destruidos en una de ellas, y el primer telar automático diseñado por el segundo también
perecería en un asalto a su fábrica. Jacquard escribió entonces: “El hierro fue vendido por hierro
viejo, la madera por astillas, mientras en mí provocaban la mayor de las vergüenzas.”
13
Las nuevas posibilidades nacidas de la entrada en la industria de los automatismos fueron
también un factor clave en la consolidación definitiva del sistema económico que impera
actualmente y sobre el que funcionan todos los grandes desarrolladores de elementos relacionados
con los computadores: el capitalismo. Si bien ya venían existiendo actividades propiamente
capitalistas como la banca y bolsa, así como pequeños inversores privados, los costes que suponía la
modernización eran muy altos, obligando la formación de diversos tipos de sociedades. Sus
miembros aportaban el capital necesario y se repartían los beneficios obtenidos de las inversiones.
Beneficios, por otra parte, aumentados por la mayor eficiencia y productividad de las máquinas.
Ejemplos de estas sociedades son las “Partnership” y las “Sociedades Anónimas” que se
generalizarían a mediados del siglo XIX14.
A partir de este momento, la producción y desarrollo de automatismos aplicados a las
diversas industrias se acelera. Los nuevos inventos incorporaban el concepto de realimentación y
pronto se convertirían en una de las bases del desarrollo claves para la segunda revolución industrial
y el crecimiento económico con la reducción de los gastos y el aumento de la productividad que
suponían. Todos estos avances, combinados con los realizados en el ámbito del cálculo por Babbage
ge y otros, serán clave para la aparición de los primeros computadores electromecánicos durante la
primera mitad del siglo XX.
Vista sobre la zona industrial de una ciudad alemana. Siglo XVIII
14 http://www.monografias.com/trabajos12/revin/revin2.shtml
14
2. EL DESARROLLO DE LOS COMPUTADORES
Herman Hollerith será uno de los primeros en sacar partido tanto de el sistema de tarjetas
perforadas, como del álgebra de Boole y de los sistemas eléctricos. Sobre estos tres elementos
desarrolló una máquina tabuladora para realizar el censo de
1890 en los Estados Unidos, consiguiendo reducir un tiempo
estimado de diez años a dos años y medio.
Se trataba de una prensa manual que detectaba los
orificios en las tarjetas perforadas. Tenía un alambre que
pasaba a través de los huecos hasta una copa de mercurio
debajo de la tarjeta, cerrando de este modo el circuito
eléctrico. Este proceso disparaba unos contadores mecánicos
y ordenaba los recipientes de las tarjetas, tabulando así en
Herman Hollerith
forma apropiada la información.
Tan útil y novedoso resultó ser su sistema que en 1896
fundaba la Tabulating Machine Company para comercializar
su creación. El mercado que abría esta clase de invenciones
hizo que no tardaran en aparecer competidores a Hollerith.
Uno de ellos, James Powers desarrolló el sistema encargado
del censo de 1910 y creó Power's Tabulating Machine
Company, que se convertía así en la competencia de la
empresa de Hollerith. Ésta última, se fusionó con otras dos en
1924 dando lugar a la International Business Machine
Corporation (IBM), aunque Hollerith ya se había retirado tres
años antes15.
Durante
Máquina tabuladora de Hollerith
los
años
posteriores
no
aparecieron
dispositivos dignos de mención, aunque muchos científicos ya
trabajaban en los que se convertirían en los protagonistas de la Primera Generación de
Computadores.
15 http://www-etsi2.ugr.es/alumnos/mlii/#primera
15
2.1. LA PRIMERA GENERACIÓN DE COMPUTADORES (1939- 1958)
Los avances que conforman lo que más tarde será conocido como Primera Generación de
computadores serán llevados a cabo por diferentes personajes simultánea e interrelacionada, de
manera que resulta imposible estudiar sus trabajos sin relacionarlos al mismo tiempo con su
aplicación a las ya míticas computadoras que crearon o en cuyo desarrollo participaron más
activamente. Así, Konrad Zuse va inexorablemente ligado a sus Z1, Z2..., John V. Atanasoff y
Clifford Berry al ABC, Alan Touring al Colossus, Howard Aiken y Grace Hopper a las Harvard
Mark y John Mauchly y J. Prespert Eckert a sus ENIAC, EDVAC, BINAC y UNIVAC, que
conformarán el final de la generación. Sin embargo, una figura destaca sobre todas ellas: John Louis
Von Neumann, considerado el padre de las computadoras modernas por sus grandes aportaciones
que comenzamos a detallar en primer lugar.

2.1.1. John Von Neumann: el padre de las computadoras modernas
John Von Neumann es considerado hoy como el
padre de las computadoras modernas. Nacido en
Budapest en 1903 y destacó muy pronto por su gran
memoria. Considerado desde pequeño como un genio
sus aptitudes para las matemáticas estaban muy claras
aunque su padre le influenció para estudiar física. No
se separó sin embargo de las matemáticas y consiguió
su doctorado por la universidad de Budapest con una
tesis sobre la axiomatización de la teoría de conjuntos
que fue publicada cuando Neumann tenía tan sólo 20
años. En 1930, Von Neumann contaba ya con un gran
prestigio por sus trabajos en el ámbito de la física
cuántica y matemáticas16.
John Von Neumann
Ese mismo año, fue invitado a conocer la Universidad de Princeton. Las capacidades de
investigación que los Estados Unidos ofrecían le impulsaron a nacionalizarse americano. De 1936 a
1938 supervisó una disertación doctoral de Alan Turing, del que hablaremos más adelante, en el
Instituto de Estudios Avanzados (IAS), dónde había entrado como profesor en 1933.
De las 150 publicaciones de Von Neumann, 20 son sobre física. El resto se reparten entre
16 http://www.astrocosmo.cl/biografi/b-j-v_neumann.htm
16
matemática pura ( teoría de conjuntos, lógica, grupo topológico, teoría de medidas, teoría de
operadores, geometría continua... ) y matemática aplicada (estadística, análisis numérico, ondas de
choque, problemas de fluidos, hidrodinámicas, aerodinámicas, balística, problemas de detonación,
meteorología... ).
El primer contacto de Neumann con los computadores vino de la mano de Howard Aiken y
su trabajo con el Harvard Mark I en 1944. Los esfuerzos de cálculo que sus trabajos requerían
hicieron que pensara en el uso de dispositivos mecánicos para su cómputo. En la primavera de 1955
escribiría las bases de todo su trabajo en el “First Draft of a Report on the EDVAC” (Primer boceto
de un informe sobre el EDVAC), un escrito dirigido a John Mauchly y J. Presper Eckert,
diseñadores del computador electrónico EDVAC en la Universidad de Pennsylvania.
El informe organizaba un sistema computador en cuatro partes principales: la Unidad
Central Aritmética (UA), la Unidad de Control (UC), la Memoria (M) y los dispositivos de
Entrada/Salida (E/S). La UA debía ser capaz de realizar las cuatro operaciones aritméticas
elementales y quizás otras como raíces, logaritmos o funciones trigonométricas y sus inversas. La
UC debería controlar la correcta ejecución secuencial de las operaciones y hacer que las unidades
individuales trabajen juntas para llevar a cabo la tarea específica programada en el sistema. La
memoria debería almacenar los datos numéricos (valores de inicialización, constantes, tablas de
funciones prefijadas) e instrucciones codificadas numéricamente. Los dispositivos E/S deberían
comunicar al usuario con el interfaz del computador.
Von Neumann se preocupó más
de presentar una descripción lógica del
programa almacenado que de un
diseño
real
de
las
computador.
Le
piezas
del
preocupaba
la
estructura general del computador, las
partes abstractas que lo componen, sus
funciones y como interactúan para
procesar
Diagrama de la arquitectura de Von Neumann
la
información.
Los
materiales específicos o el diseño de la
implementación de las partes no fueron objeto de su análisis. Cualquier tecnología que se adecuara
a las especificaciones funcionales podría ser usada sin problemas en sus resultados17.
Las contribuciones de Von Neumann se expandieron tanto no sólo por su brillantez, sino
también por su actitud. Von Neumann no se preocupó por patentes y habló abiertamente de sus
ideas a todo aquel que las quisiera escuchar. Tras participar en el desarrollo de EDVAC, Von
17 http://w3.salemstate.edu/~tevans/VonNeuma.htm
17
Neumann trabajaría en su propio computador, el IAS18 computer, finalizado en 1952. EL IASC fue
el primero en mezclar programas y datos en una misma memoria, compuesta de tubos de vacío. Así,
Von Neumann mostró como la combinación de instrucciones y datos podría ser usada para
implementar bucles, modificando instrucciones base cuando una iteración era completada. Era un
computador asincrónico que realizaba una operación tras acabar la anterior. EL IASC sería el
modelo a copiar por muchos modelos desarrollados en los años posteriores en diferentes países y
universidades conocidos como Máquinas IAS19.
Von Neumann posando delante del IAS Computer
Neumann murió de cáncer de próstata a los 53 años. Se cree que su enfermedad fue
provocada por la exposición a la radiactividad cuando participaba en el proyecto Manhattan para la
construcción de la bomba atómica en el laboratorio de los Álamos. Von Neumann, que había sido
una persona de gran éxito en su vida, no supo afrontar la enfermedad y la muerte: dicen que el dolor
y el pánico le hicieron pasar las noches dando gritos de dolor y terror.
18 IAS viene de Institute for Advanced Study. Se trata de una institución privada de Princeton, Nueva Jersey fundada
en 1930 y que, además de ser el hogar académico de Von Neumann, también lo fue de Albert Einstein.
19 http://en.wikipedia.org/wiki/IAS_computer
18

2.1.2 Konrad Zuse y la primera computadora binaria
El ingeniero alemán Konrad Zuse (1910-1995) nació en Berlín y se graduó como ingeniero
civil por el Technische Hochschule Berlin-Charlottenburg (actualmente Universidad Tecnológica
de Berlín). Durante sus estudios de ingeniería, Zuse tenía que
realizar muchos cálculos rutinarios a mano, lo que encontró
extremadamente aburrido. Esta experiencia lo llevó a soñar con una
máquina que pudiera hacer cálculos20.
Como el mismo relataba en una de sus conferencias,21
comenzó sus trabajos en 1934 sin ni siquiera haber oído hablar de
Babagge. Las máquinas de la época eran principalmente
calculadoras electromecánicas basadas en el sistema decimal y
destinadas al uso comercial, por lo que se vio obligado como otros
muchos ingenieros y matemáticos de la época a desarrollar sus
Konrad Zuse
propios computadores.
Zuse lo hizo desde dos puntos de vista:
•
Lógico y matemático: programa de control, uso del sistema binario, aritmética de punto
flotante.
•
Diseño: Necesitaba un computador que permitiese cálculos matemáticos completamente
automáticos, una memoria de alta capacidad y módulos o relés que operaran bajo el
principio de “sí” o “no”.
Estos conceptos eran completamente novedosos en la época en los que Zuse los concibió.
Fue uno de los primeros en darse cuenta de la importancia de un simple bit, y de que cualquier pieza
de información podía ser representada con un número de ellos.
Esta relación entre la lógica matemática
y la tecnología no estaba del todo clara por
entonces. El puente de unión entre ambas
habría de ser un dispositivo que trabajase bajo
el principio de todo o nada, sobre el que se
pudiera aplicar lo que ahora se conoce como
álgebra de Boole. Los únicos elementos con
El Z1 en el apartamento de los padres de Zuse. 1936
estas
capacidades
eran
los
relés
20 http://es.wikipedia.org/wiki/Konrad_Zuse
21 "Computer Design - Past, Present, Future", Conferencia a cargo del Profesor Konrad Zuse, en Lund (Suecia), 2 de
Octubre de 1987. Transcripción en http://ei.cs.vt.edu/~history/Zuse.html
19
electromecánicos. Sin embargo Zuse se vio obligado a buscar dispositivos equivalentes de menor
tamaño y coste, como serían plaquitas de metal y pins, aunque la fiabilidad era claramente inferior.
Con este tipo de relés puramente mecánicos fue capaz de organizar una memoria binaria, con la
capacidad suficiente y un tamaño bastante reducido.
El prototipo diseñado finalmente fue la Z1 (1938), que puede considerarse como la primera
computadora binaria de la historia, aunque nunca llegó a funcionar correctamente. Parecía claro que
los relés electromecánicos eran la mejor opción para
mejorarla22, pero antes de incluirlos crearía el Z2
(1940), haciendo uso de la memoria del Z1 y un
lector de tarjetas perforadas. El Z2 contaba con 200
relés y capacidad de operar con 16 bits. El Z2 fue
más funcional, y además dotó a Zuse de la
experiencia necesaria para que un año más tarde
fabricara el Z3, definida por él mismo como “la
Reconstrucción del Z1 - Deutsche Technik Museum.
primera computadora completamente funcional del mundo”, esta vez sí, usando relés
electromecánicos.
Con una longitud de palabra de 22 bits (1 para el signo, 7 para la exponencial y 14 para la
mantisa), 2400 relés (1800 de ellos para la memoria) el Z3 era capaz de sumar, restar, multiplicar,
dividir y hallar la raíz cuadrada entre otras funciones.
No satisfecho con todo el trabajo realizado,
Zuse decidió mejorar ciertos aspectos del Z3 y
aumentar la capacidad de la memoria a 1,024
palabras, con varios lectores y perforadores de
tarjetas así como dispositivos que permitieran una
programación flexible (traducción de direcciones y
selección condicional). Tomaría el nombre de Z4. La
construcción y desarrollo del Z4 fue bastante épica:
sobrevivió
Reconstrucción del Z3. Deutsche Technik Museum,
Berlín
diversos
bombardeos
y
hubo
que
transportarlo constantemente. Todos sus predecesores
se perderían, aunque dada su importancia, el Z3 sería
22 La lentitud y falta de perfeccionamiento de los sistemas de relés hicieron que Zuse, junto con su colega Helmut
Schreyer (que trabajaba en el desarrollo de relés electrónicos), pensarán en el posible uso de tubos de vacío. Los tubos
eran más rápidos pero la transformación de un sistema de relés mecánicos a uno de tubos de vacío no era obvia.
Aunque se consiguieron realizar avances, el estallido de la Segunda Guerra Mundial hacía muy difícil la obtención de
materiales y recursos de manera que la simple iniciativa privada era insuficiente. Zuse y Schreyer propusieron la
realización de una computadora para usos militares pero el gobierno Nazi les negó su apoyo. Con la confusión creada
por la guerra y el desarrollo de computadores como ENIAC llevados a cabo por otros países e incorporando tubos de
vacío el proyecto quedó finalmente paralizado.
20
reconstruido 20 años más tarde para ocupar su lugar en un museo.
Los trabajos realizados por Zuse en el diseño de bombas autodirigidas durante la guerra le
llevaron a desarrollar sistemas de control que mejoraran su construcción. Ésto añadía un nuevo
aspecto a la computación, que ya no se basaría en el mero hecho de realizar cálculos, sino en la
forma de realizar ciertas funciones. Este hecho impulsó a Zuse a aprender a jugar al ajedrez. Con el
fin de trasladar sus reglas a un computador. Bajo estas ideas nacía Plankalkül en 1945, el primer
lenguaje de programación de la historia y sobre el que Zuse diseñó un
programa de ajedrez. El Plankalkül tan sólo fue, sin embargo, un
predecesor de los lenguajes desarrollados más tarde cómo ALGOL, y por
tanto bastante limitado. Zuse consiguió adaptarlo de forma estable para
funcionar con el Z4 pero los medios eran escasos, sobretodo teniendo en
cuenta que habían trasladado el prototipo a un pequeño pueblo de montaña,
lejos de los bombardeos de la guerra, donde estaban casi aislados.
Logotipo de Zuse KG
Aunque los trabajos de Zuse fueron pronto adelantados por los llevados a cabo en Estados
Unidos consiguió fundar ZUSE KG en 1949 y dominar el mercado centroeuropeo por algún tiempo
con sus computadoras de relés electromecánicos. Más tarde se realizaron avances añadiendo tubos
de vacío a los nuevos modelos y otras funcionalidades, pero la compañía no resistiría el crecimiento
de la competitividad en el sector, así como el aumento de los costes del hardware y sería finalmente
absorbida por Siemens en 1956.
Z3. Vista frontal de la reconstrucción.
21

2.1.3. John V. Atanasoff y Clifford Berry: el ABC23
El Computador Atanasoff-Berry o ABC empezó a ser
concebido por el profesor de física John Vincent Atanasoff
(1903-1995) en 1933, formulando la idea de usar el sistema de
números binarios para su funcionamiento. Al buscar un
ayudante para cumplir con su innovativo propósito, un colega
le recomendó a un joven brillante, recién graduado en
ingeniería mecánica de nombre Clifford Berry.
Fue la primera computadora completamente electrónica
de la historia y su construcción se llevó a cabo en la
universidad de Iowa durante dos años, siendo finalizada en
1939. La máquina pesaba más de 320 kg. Contenía
aproximadamente 1.6 km de cable, 280 tubos de vacío y
John Vincent Atanasoff
ocupaba como una mesa de despacho.
Estaba diseñada para solucionar sistemas de ecuaciones
lineales con 29 incógnitas. Este tipo de problema era muy
típico en la física e ingeniería de aquella época. El sistema
era alimentado con dos ecuaciones lineales con 29
incógnitas y una constante, y eliminaba una de las variables.
El proceso se repetía de nuevo para eliminar otra variable
hasta llegar a una solución. El sistema tenía un error cada
100.000 cálculos, lo que en la práctica impedía asegurar que
los resultados fuesen correctos. Añadir un bit de paridad a
cada número podría haber solucionado estos problemas
fácilmente, pero el desarrollo del ABC quedó interrumpido
cuando Atanasoff abandonó la universidad para colaborar
con el ejército durante la Segunda Guerra Mundial.
Clifford Berry
Desde el punto de vista arquitectónico, el ABC contaba
con múltiples entradas de control constituidas por una mezcla de transmisores electromecánicos y
tubos de vacío electrónicos. Para la representación numérica hacía uso de un bit de signo y
cincuenta de mantisa, lo que lo dotaba de una precisión extraordinaria de quince decimales.
Los elementos que constituían la memoria principal eran condensadores y fueron elegidos
23 http://es.wikipedia.org/wiki/Atanasoff_Berry_Computer
22
por que ofrecían mejor relación de coste por bit. Se trataba de una memoria regenerativa, que
necesitaba de un tiempo de refresco para recordar su estado, similar a las memorias RAM actuales.
En total había capacidad para 3264 bits organizados en dos bancos de 32 palabras.
Por otra parte, el ABC hacía uso de
aritmética paralela, pudiéndose considerar
como el primer computador vectorial
conocido. Cada elemento era una palabra
de cincuenta bits que se procesaba
secuencialmente. La operación básica del
ABC era entonces una multiplicación
paralela. En cada ciclo de reloj de un
segundo la computadora podía realizar
treinta sumas o restas simultáneas. Éstas se
Atanasoff-Berry Computer
llevaban a cabo a través de sumadores y restadores electrónicos simples (ASMs-Add-Subtract
Mechanisms). La multiplicación se basaba en un algoritmo de suma por desplazamiento que
avanzaba por las filas de la matriz del sistema de ecuaciones sumando cada fila a la siguiente. Para
completar una operación se requerían dieciséis ciclos de un segundo cada uno. Teniendo en cuenta
que los vectores o matrices de entrada estaban compuestos por treinta palabras, la velocidad de
cómputo del ABC era de sesenta operaciones, treinta operaciones de suma mas otras treinta de
desplazamiento.
Al ABC se le añadieron conversores de decimal a binario y viceversa para facilitar la
comunicación hombre-máquina. Además, contaba con una memoria secundaria formada por un
grabador y un lector de tarjetas binarias electrónico muy avanzado que, gracias al diseño en
paralelo, era capaz de leer y escribir simultáneamente a una velocidad de transferencia de mil
ochocientos bits por segundo, lo que le hacía muy superior a los lectores mecánicos de la época.
Tras terminar la Segunda Guerra Mundial, Atanasoff continuó trabajando para el gobierno y
desarrolló sismógrafos y microbarómetros especializados en la detección de explosiones a larga
distancia. En 1952 fundó y dirigió la Ordenance Engineering Corporation. En 1956 vendería su
compañía a la Aerojet General Corporation y se convertiría en el presidente de su división atlántica.
El ABC se convirtió en un simple recuerdo y no sería hasta 1954 cuando se escucharon rumores de
que algunas de sus ideas habían sido “tomadas prestadas”.
Resulta que John Mauchly, padre del computador ENIAC (1946) junto con J. Prespert
Eckert y que revisaremos más adelante, tuvo la oportunidad de conocer y revisar la tecnología
utilizada por Atanasoff en el ABC. En varias ocasiones discutieron sus aspectos sin que Mauchly
23
mencionara su proyecto. Cuando en 1942 Atanasoff abandonaba la universidad de Iowa para
colaborar con la marina estadounidense, dejó encargada la realización de la solicitud de patente,
pero el documento nunca fue rellenado. Tal olvido generó una dura batalla legal de seis años
finalmente resuelta en 1973 y que otorgaba la patente de la ENIAC a Atanasoff considerando que
"Eckert y Mauchly no inventaron ellos solos el primer computador electrónico y digital
automático, si no que partieron desde uno del Dr. John Vincent Atanasoff"24.
Ampliaremos la información sobre ENIAC más adelante, cuando hablemos de los trabajos de
Mauchly y Eckert.
El ABC se desmontó y se perdió en los sótanos de la universidad de Iowa. En 1997 se
construyó una réplica con un coste de 350.000 dólares que corroboró el buen funcionamiento del
modelo original y que actualmente se expone en la universidad que le vio nacer.
Réplica del ABC
24 “Atanasoff, Forgotten Father of the Computer”, by Clark R. Mollenhoff.
24

2.1.4. Alan Turing: el proyecto Colossus
El matemático, lógico y criptógrafo Alan Mathison Turing es considerado como uno de los
padres de la computación moderna. En 1936, contestó al entscheidungsproblem, la cuestión
planteada por el matemático David Hilbert sobre si las
matemáticas son decidibles, es decir, si hay un método
definido que pueda aplicarse a cualquier sentencia matemática
y que nos diga si esa sentencia es cierta o no. En el artículo On
Computable Numbers, Turing construyó un modelo formal de
computador, la Máquina de Turing, y demostró que había
problemas tales que una máquina no podía resolver. La
máquina de Turing fue el primer modelo teórico de lo que
luego sería un computador programable. Con el tiempo a este
tipo de máquina se la conoció como máquina de estado finito,
debido a que en cada etapa de un cálculo, la siguiente acción
de la máquina se contrastaba con una lista finita de
instrucciones de estado posibles25.
Alan Mathison Turing
Touring fue uno de los principales impulsores del
proyecto Colossus, un computador creado para descifrar los
mensajes encriptados por la máquina alemana Enigma26
durante la Segunda Guerra Mundial. Ya desde 1932,
criptógrafos polacos venían descifrando las comunicaciones
militares alemanas creadas por el Enigma de manera regular.
A partir de 1938 utilizaron dispositivos electromecánicos
para esta tarea: los llamados bomba, predecesores de los
bombe ingleses creados poco después. Sin embargo, en 1939
Bombe. Dispositivo electromecánico para
descifrar los mensajes alemanes.
el nivel de cifrado alemán fue incrementado haciendo que los
bomba perdieran toda su efectividad. Fue entonces cuando la
inteligencia polaca cedió todos sus avances al gobierno británico, que empezaría a trabajar de
inmediato en medios de decodificación más avanzados27.
El Colossus fue diseñado por Thomas H. Flowers, S.W. Broadbent y W. Chandler en el más
completo secreto y se pondría en funcionamiento a finales de 1943. Estaba basado en las ideas de la
25 http://www-etsi2.ugr.es/alumnos/mlii/Maquina%20de%20Turing.htm
26 Sobre el funcionamiento de Enigma: http://www.el-mundo.es/noticias/2000/graficos/abril/semana1/encripta.html
27 http://www.alanturing.net/turing_archive/pages/Reference%20Articles/codebreaker.html
25
máquina de Touring. Su emplazamiento fue Bletchley Park, la central de criptoanálisis de la
inteligencia británica. Entre las características de esta máquina destacan28:
•
Sus 2400 tubos de vacío.
•
Leía los datos de entrada de una cinta de papel perforada usando un lector fotoeléctrico.
•
Usaba circuitos de dos estados y sus operaciones eran controladas mediante los pulsos de
su reloj interno, lo que permitía operar a diferentes velocidades, útil para realizar
diferentes pruebas. Su velocidad normal de operación era de 5000 Hercios.
•
Sus circuitos permitían efectuar conteos, aplicar operaciones Booleanas y efectuar
operaciones aritméticas en binario.
•
Sus
funciones
manejarse
lógicas
de
podían
manera
preestablecida usando un tablero de
interruptores,
o
podían
seleccionarse
de
manera
condicional usando relés, mediante
un menú con las configuraciones
posibles.
El Colossus en Bletchley Park
•
Era totalmente automática.
•
Tenía una memoria de cinco caracteres de cinco bits cada uno, los cuales se
almacenaban en un registro especial.
•
Medía 2.25 metros de alto, 3 metros de largo y 1.20 metros de ancho.
•
Sus resultados se almacenaban temporalmente en relés para luego darles salida a través
de una máquina de escribir eléctrica que funcionaba a una velocidad de 15 caracteres por
segundo.
•
No
contaba
con
programas
almacenados
internamente ya que, como hemos dicho, era una
máquina diseñada explícitamente para tareas
criptográficas.
Para el final de la Guerra se sabe que existían
diez Colossus diferentes en funcionamiento. Ocho de
ellas serían destruidas nada más terminar la
Bletchley Park
contienda por orden directa de Wiston Churchill en
“partes no mayores que una mano”. Las dos últimas
28 http://www-etsi2.ugr.es/alumnos/mlii/Colossus.htm
26
se perderían en la década de los 50 tras ser usadas como dispositivos de entrenamiento.
Actualmente una réplica del Colossus se expone en Bletchley Park. Por otra parte, toda la
información en papel sobre el proyecto fue clasificada y se obligó a aquellos que tenían
conocimientos sobre su funcionamiento a guardar silencio. En Julio de 2000 fueron desclasificados
parte de los documentos aunque aún se mantiene en secreto la información más comprometedora29.
En cuanto a Alan Touring, siguió colaborando con Bletchley Park hasta principios de los 50.
En 1952 fue acusado de prácticas homosexuales y se suicidó en 1954 aparentemente tomando una
manzana envenenada con cianuro, aunque también se ha barajado la opción de un posible asesinato.
Réplica del Colossus
29 http://es.wikipedia.org/wiki/Colossus
27

2.1.5. Howard Aiken, Grace Hopper: las series de Harvard Mark
Howard Aiken (1900-1973) obtuvo su doctorado en físicas por
la Universidad de Harvard en 1939. Durante sus años de estudios e
investigación se encontró con algunas ecuaciones diferenciales que
sólo podían ser resueltas numéricamente, de dónde se figuró lo útil
que resultaría tener una computadora que realizara este trabajo por
él. De esta necesidad de realizar grandes cálculos numéricos nacería
la Harvard Mark I, también conocida como la IBM ASCC
(Calculadora de Secuencia Automática Controlada, por sus siglas en
inglés), ya que fue financiada por IBM30; se terminó en 1944.
La principal ventaja de la Mark I era su alto grado de
Howard Aiken
automatización, ya que no requería intervención humana una vez
comenzaba a funcionar. Considerada la primera calculadora universal ha sido descrita como “el
verdadero amanecer de la era de los computadores”31.
Mark I medía 15'5 por 2'5 metros y pesaba más de cuatro toneladas. Estaba compuesta
principalmente por interruptores, relés electromecánicos, cigüeñales y embragues. Era capaz de
almacenar 32 números de 23 dígitos decimales y realizar con ellos operaciones como tres sumas o
restas por segundo, una multiplicación en 6 segundos, una división en 15 segundos o la aplicación
de funciones logarítmicas o trigonométricas en algo más de un minuto.
La computadora leía las instrucciones de
tarjetas perforadas de manera secuencial y tenía la
posibilidad de crear bucles, aunque carecía de
selección condicional, por lo que los programas
complejos debían ser bastante largos. Lo que
hacía más particular a esta computadora era la
separación física entre la información que se
almacenaba y las instrucciones a realizar, de
manera que las operaciones de lectura/escritura se
Harvard Mark I
30
Parece ser que en la presentación del Harvard Mark I Aiken olvidó comentar la implicación de IBM en todo el
proyecto, cosa que no sentó muy bien a la compañía. IBM bautizó al computador como ASCC y se lanzaría a la
construcción del SSEC sin contar con Aiken.
La SSEC (Calculadora Electrónica de Secuencia Selectiva) construida para IBM por Wallace J. Eckert en 1948
fue la última gran calculadora electromecánica. Con 13,500 tubos de vacío, y 21,400 relés electromecánicos era unas
100 veces más rápida que el Mark I y bastante precisa en sus cálculos. Fue utilizada por la Commission de la Energía
Atómica y para calcular las posiciones de planetas. Sería desmontada en 1952 cuando ya era obsoleta.
(http://en.wikipedia.org/wiki/SSEC)
31 http://en.wikipedia.org/wiki/Harvard_Mark_I
28
hacían por diferentes canales, lo que permitía simultaneidad de ambas, en contraposición con el
modelo de Von Neumann, en el que la información y las instrucciones dependen de un mismo
elemento, la CPU. Este tipo de arquitectura recibió el nombre de “Harvard Architecture” y su
principal aporte era un aumento significativo de la velocidad a costa de un mayor número de
dispositivos y cableado32.
La encargada de programar esta gigantesca calculadora fue
Grace Hopper (1906-1992), conocida como Amazing Grace, oficial
de la marina de los Estados Unidos y que se convirtió en la primera
y mayor impulsora de la programación en los computadores durante
los años 40. Hopper sería una de las primeras en creer que los
computadores podían ir mucho más allá del uso científico y militar
que se les daba. Inventó el lenguaje Flowmatic y produjo el primer
compilador (Math Matic). Más tarde en 1960 presentaría la primera
versión del lenguaje COBOL33.
Grace Hopper
Tras
la
Mark
I,
Howard Aiken, se encargaría también de la construcción
del Mark II (1947) financiada esta vez por la marina
estadounidense y cuya mayor diferencia sería un aumento
de la velocidad ya que se sustituyeron algunos dispositivos
mecánicos por electrónicos. Más tarde, y también para los
militares, Aiken construiría el Mark III en 1949 (5000 tubos
Harvard Mark II
de vacío, 1500 diodos de cristal y memoria magnética), un híbrido entre computadora
electromecánica y electrónica descrita por el
propio Aiken como la calculadora electrónica
más lenta de la historia, aunque ya era bastante
más veloz que sus predecesoras; y, por último,
finalizaría el Harvard Mark IV en 1952,
completamente electrónica. Todas las Harvard
Mark se basaron en la Arquitectura Harvard.
Harvard Mark III
32 http://en.wikipedia.org/wiki/Harvard_architecture
33 http://www.perantivirus.com/historia/primerag.htm
29

2.1.6. John Mauchly y J. Presper Eckert: ENIAC, EDVAC, BINAC y UNIVAC
John Mauchly (1907-1980) completó su doctorado en físicas en el Ursinus College
(Filadelfia) en 1932 y ejercería allí de profesor hasta 1941. Con la
llegada de la guerra realizó un curso de electrónica militar donde
conocería J. Presper Eckert (1919-1995), un ingeniero electrónico
recién graduado por el University Moore School de la Universidad de
Pennsylvania, donde Mauchly aceptaría un puesto de profesor34. Por
esos años, debido a la guerra que se fraguaba, se estaban llevando a
cabo numerosas pruebas balísticas de las nuevas armas diseñadas
para ser usadas en la contienda. No contentos con la lentitud con que
los cálculos de las tablas de tiro se realizaban, Mauchly y Eckert
propusieron la construcción de una calculadora electrónica de gran
John Mauchly
velocidad y la marina estadounidense no tardó en interesarse por el
proyecto. Mauchly se encargaría del diseño formal del aparato, mientras que Eckert llevaría todo lo
relacionado con el hardware35.
El resultado se presentó en 1946 y fue ENIAC (Computador e Integrador Numérico
Electrónico), una mole de 30x2.4x0.9 metros y 27 toneladas que
requería una potencia de 150 kwatios. Estaba compuesta por
17468 tubos de vacío, 7200 diodos de cristal, 1500 relés, 70000
resistencias, 10000 capacitores y 5 millones de soldaduras
manuales. Usaba como entrada y como salida tarjetas perforadas
y trabajaba en base 10, no porque no se conociese el sistema
binario, sino porque habría requerido un número aún mayor de
tubos. De hecho, el gran número usado provocó que algunos
electrónicos afirmaran que la máquina no sería viable al no poder
tener en funcionamiento un tiempo lo suficientemente largo antes
Presper Eckert
de que fallara algún tubo, y parece ser que así fue al principio. En 1948 se pudo disponer de tubos
de alta fidelidad que redujeron las constantes paradas y arranques de la computadora, momentos en
los que los tubos sufrían más debido a los calentamientos y enfriamientos. A partir de entonces, la
mejor solución fue mantener la ENIAC encendida constantemente, de manera que el tiempo medio
de fallo se redujo a casi dos días, un promedio muy aceptable para la época.
34 http://www.seas.upenn.edu/~museum/guys.html
35 http://ftp.arl.mil/~mike/comphist/91mmoore/
30
ENIAC tenía capacidad para 5000 sumas o restas o 40 divisiones o raíces cuadradas por
segundo. La entrada y salida se realizaba por medio de tarjetas perforadas. Además fue el primer
gran computador electrónico reprogramable para resolver
un gran rango de problemas. Reprogramar el ENIAC era
equivalente a intercambiar montones de cableado hasta
1948, cuando se implementó en él el concepto de guardar
el programa y la información en la misma memoria
además de otras modificaciones propuestas por John Von
Neumann. El ENIAC ha sido considerado como el
primer ordenador Turing completo (Turing-complete), es
decir, completamente programable, aunque el Z3 de Zuse
ENIAC
también puja por este puesto36.
Como curiosidad, en 2004 se presentó en la Universidad de Pennsylvania, como
conmemoración del 50 cumpleaños del ENIAC, el proyecto “ENIAC-en-un-chip”, en el que se
recreó la arquitectura y la capacidad del computador en un chip de 0.5 milímetros cuadrados (frente
a
los
167
metros
cuadrados
que
ocupaba )37.
Mauchly y Eckert no se dedicaron
únicamente al proyecto del ENIAC.
Conscientes de las limitaciones iniciales
que ofrecía su diseño (paralizado en
1943)
y
programación
desarrollaron
también para la marina y de manera casi
paralela
EDVAC
(computadora
electrónica
automática
de
variable
discreta), incorporando propuestas de
Von Neumann entre otros, con lo que su
arquitectura se convertiría en el estándar
EDVAC
de la desarrollada a partir de aquel momento. La computadora se daba por terminada oficialmente
en 1949 aunque ya era funcional antes incluso que el ENIAC. Problemas con la Universidad de
Pennsylvania por las patentes retrasaron su finalización. EDVAC funcionaba con el sistema binario
y poseía un lector-grabador de cintas magnéticas. Aunque poseía un número inferior de
componentes que el ENIAC (46 metros cuadrados que contenían casi 6000 tubos de vacío, 12000
36 http://en.wikipedia.org/wiki/ENIAC
37 http://www.ee.upenn.edu/%7Ejan/eniacproj.html
31
diodos y con un consumo de 54 kw) la plantilla necesaria para su funcionamiento era de 30
personas en turnos de 8 horas. EDVAC se mantendría en funcionamiento hasta 1961 tras recibir una
serie de mejoras durante los años 50 (lector de tarjetas, unidad aritmética en punto flotante,
memoria... )38.
Por la época en la que se finalizaba el EDVAC, sus padres fundaban la EckertMauchly Computer Corporation. Con la firma de su compañía, diseñaron BINAC en 1949, un
computador con dos CPU que comparaban todos los resultados obtenidos con el fin de detectar
posibles fallos del hardware. BINAC nunca funcionó del todo bien y la compañía se vino abajo para
ser adquirida en 1950 por Remington Rand,
un fabricante de computadores (y también de
armas durante la Guerra)39.
La última gran creación de Mauchly y
Eckert, y que se convertiría en el producto
más característico de Remington Rand, sería
UNIVAC
I
(Computador
Automático
UNIVersal) en 1951. El sistema ocupaba 35
metros cuadrados, pesaba 13 toneladas y
hacía uso de 5000 tubos de vacío y 125 kw.
BINAC
La memoria principal consistía en 1000
palabras de 12 caracteres cada una. Aunque la información era representada en binario, UNIVAC
era considerada por los programadores como una máquina decimal ya que utilizaba un set de
caracteres alfanuméricos para casi todas las operaciones, lo que causaba errores cuando ciertos
símbolos eran interpretados incorrectamente por la máquina.
UNIVAC fue la primera computadora americana diseñada para su uso comercial y
administrativo. Estaba concebida para la rápida realización de operaciones aritméticas relativamente
simples y la gestión de diversa información más que para los sofisticados cálculos que los
científicos podían requerir, y de ahí su importancia. Se adaptó su entrada/salida para aceptar tanto
tarjetas perforadas como cintas magnéticas y poder convertir soportes de un formato a otro40.
38 http://en.wikipedia.org/wiki/EDVAC
39
En 1949, pero un poco antes que EDVAC y BINAC, se había terminado también, esta vez en el Reino
Unido, EDSAC (Calculadora Electrónica con Almacenamiento de Retraso Electrónico, por sus siglas en inglés)
de la mano de un equipo liderado por Maurice Wilkes para la universidad de Cambridge. EDSAC se inspiraba en
los primeros informes de Von Neumann destinados al diseño de EDVAC y es considerada como la primera
computadora que implementaba el concepto de programa almacenado en memoria de manera práctica. Fuera de
esto, EDSAC no incorporaba ningún componente experimental o novedoso que requiera un estudio detallado de
su estructura o funciones, que eran de cálculo general. Más información en:
http://www.uap.edu.pe/Fac/02/trabajos/02206/inftec/ISI_33/Go1/principal.htm,
http://en.wikipedia.org/wiki/EDSAC
40 http://en.wikipedia.org/wiki/UNIVAC_I
32
No tardaron en aparecer clientes
para Remington Rand como la Oficina de
Censo americana, las Fuerzas Aéreas o la
Comisión de la Energía Atómica. Se
donaron
sistemas
UNIVAC
a
la
Universidad de Harvard, de Pennsylvania
y al Case Institute Of Technology de
Cleveland... en total se vendieron o
donaron 46 equipos. La fama del
UNIVAC provino principalmente porque
UNIVAC I
fue utilizado en las elecciones de 1952 en
Estados Unidos y fue capaz de predecir quién sería el ganador (Eissenhower) tan sólo 45 minutos
después del cierre de los colegios electorales. Esto además, supuso un golpe para IBM, que había
perdido la adjudicación de las tareas de cómputo de las elecciones por la superioridad del UNIVAC
sobre las máquinas de tarjetas perforadas de IBM41.
El último UNIVAC I permanecería en
funcionamiento hasta 1970, tras 13 años
de servicio, pero le seguirían una larga
serie de equipos de la mano de Remington
Rand. Fue decisivo el segundo modelo,
UNIVAC II de 1958, que incorporaba por
primera vez la capacidad de utilizar un
compilador que traducía los programas a
lenguaje máquina. El lenguaje traducido
Maqueta del equipo completo del UNIVAC I
era COBOL. UNIVAC II seguía estando
basada en tubos de vacío, aunque la memoria era magnética y algunos de sus circuitos estaban
transistorizados. El último modelo basado y compatible con el original sería el UNIVAC III, de
1962, que incorporaba avances propios de la nueva generación42.
41 http://www-etsi2.ugr.es/alumnos/mlii/univac.htm
42 http://en.wikipedia.org/wiki/Univac
33
2.2. LA SEGUNDA GENERACIÓN DE COMPUTADORES (1954-1962)
Durante la década de los 40, los dispositivos bi-estables más rápidos y fiables para la
construcción de los computadores más avanzados eran los tubos de vacío. Como se ha visto, su uso
fue aumentando llegando a extremos como los
17.500 tubos del ENIAC. Sin embargo, los
tubos de vacío dejaban mucho que desear:
operaban a altas temperaturas consumiendo
mucha
energía
(ENIAC
utilizaba
el
equivalente a diez casas) y de manera
demasiado lenta para lo que sería deseable.
Tubo de vacío marca Remington Rand
perteneciente al UNIVAC I
Además, su vida útil era relativamente corta
por lo que los aparatos que los utilizaban requerían un mantenimiento constante que no salía barato.
En 1947 entraría en juego la compañía estadounidense Bells Laboratories. Desde 1925,
investigadores de la compañía habían trabajado en diferentes campos desarrollando la amplificación
y transmisión de señales o la célula fotovoltaica43.
Sin embargo, el verdadero salto a la fama vendría en 1947 de la mano de tres de sus
investigadores, John Bardeen, William Bradford Shockley y
Walter Houser Brattain, fruto de una larga investigación
con los materiales semiconductores. Había nacido el
transistor.
El transistor tiene múltiples aplicaciones que se
resumen básicamente en dos funcionalidades: modulación,
que se utiliza para amplificar señales, y actuación como
interruptores.
Bardeen, Brattain y Shockley,
inventores del transistor.
Están
fabricados
de
materiales
semiconductores (los primeros de germanio) cuya principal
característica es la capacidad de controlar la magnitud de
resistencia que tales materiales ofrecen al paso de corriente eléctrica según lo que se necesite44.
43 Bells Labs también jugaba su papel en el desarrollo de computadores con seis modelos diseñados durante los 40:
Modelo I (1940) – “Calculadora de números complejos”.
Modelo II (1943) – “Interpolador de relés”, destinado a baterías antiaéreas.
Modelo III y IV(1944 y 1945) - “Computador balístico” y “Calculador de relés”, ambos usados para
cálculos de trayectorias balísticas.
•
Modelo V y VI (1946 y 1947) - “Calculador de relés de propósito general”, dos modelos programables
para diversos usos.
http://en.wikipedia.org/wiki/Bell_Labs
44 http://www.lucent.com/minds/transistor/
•
•
•
34
Bajo estos principios, los transistores podían realizar perfectamente el mismo trabajo que
habían venido realizando los tubos de vacíos, pero con múltiples ventajas45:
•
•
•
•
•
•
•
Menor tamaño
Fabricación altamente automatizada
Coste inferior en grandes cantidades
Posibilidad de trabajo con voltajes pequeños sin necesidad de
“precalentamiento” (los tubos de vacío necesitaban de 10 a 60
segundos).
Menor disipación de calor.
Mayor rendimiento y duración
Posibilidad de controlar grandes voltajes.
Gracias a la fiabilidad, rapidez y ahorro aportados por el transistor
la venta de computadores se convirtió en un verdadero negocio cuyo
mercado no tardarían en copar 8 grandes compañías, con IBM a la cabeza.
La gran ventaja que llevaba sobre todas las demás hizo que en el mundo
Transistor
empresarial fueran conocidas como “IBM y los Siete Enanitos” que no eran sino Remington-Rand y
su división UNIVAC, Borroughs, Scientific Data Systems, Control Data Corporation, General
Electric, RCA y Honeywell46.
El primer transistor de la historia. Bells Labs.
45 http://en.wikipedia.org/wiki/Transistor
46 http://en.wikipedia.org/wiki/History_of_computing_hardware#1950s_and_early_1960s:_second_generation
35

2.2.1. Avances técnicos de la generación
Los núcleos de ferrita y tambores magnéticos reemplazaron a los tubos de rayos catódicos y
sistemas de línea de retardo de mercurio que componían la memorial principal. La mayor ventaja
era que la información podía ser leída de forma inmediata, mientras que en las memorias de línea de
retardo, la información se almacenaba como una onda acústica que pasaba secuencialmente por un
medio y sólo se podía acceder a ella en
ciertos momentos. La aritmética de punto
flotante y los índices de registro que, entre
otras cosas, servían para controlar bucles, se
volvieron muy comunes. Anteriormente a
estas innovaciones el acceso a los diferentes
elementos de un array implicaba muchas
veces escribir código auto-modificable. Este
tipo de código que se cambiaba a sí mismo
conforme se ejecutaba era concebido como
Memoria magnética del PDP-1
una potente aplicación bajo el principio de que los programas y la información eran básicamente lo
mismo. Además eran una forma de aprovechar al máximo las capacidades de memoria.
Actualmente está práctica está completamente abandonada dada su gran dificultad de trazado para
encontrar fallos y la falta de soporte en la mayoría de los lenguajes de alto nivel47.
Por otro lado, se introdujeron procesadores de Entrada/Salida independientes al procesador
central (CPU) liberándolo de este tipo de tareas. La CPU se encargaría de enviar a los procesadores
de E/S la tarea a realizar, que sería llevada a cabo de forma independiente. Una vez finalizada o, en
caso de error, se informaba a la CPU.
El procesamiento por lotes se volvió un método viable con las mejoras en la E/S y la
memoria. Los lotes podían ser preparados por adelantado, almacenados en una cinta magnética y
procesados en el ordenador de manera continua guardando los resultados en otra cinta48.
47 http://www.ipp.mpg.de/de/for/bereiche/stellarator/Comp_sci/CompScience/csep/csep1.phy.ornl.gov/ov/node11.html
48 http://burks.bton.ac.uk/burks/foldoc/86/103.htm
36

2.2.2 Los primeros lenguajes de alto nivel
El concepto de programa almacenado significaba que las instrucciones que el computador
debía realizar se encontraban almacenadas en la memoria y podían ser reemplazadas por otras
instrucciones. La necesidad de simplificar al máximo la tarea de reprogramar una computadora fue
el origen de los lenguajes de alto nivel sofisticados que comenzaron a aparecer en esta época. Estos
lenguajes reemplazaban el código máquina binario por otro compuesto por palabras, frases,
ecuaciones matemáticas y lógicas que hacían mucho más fácil el trabajo del programador49.
➢
2.2.2.1. FORTRAN
FORmula TRANslation fue desarrollado por programadores de IBM y publicado por
primera vez en 1957. Fue especialmente diseñado para permitir un traslado fácil de fórmulas
matemáticas a código.
FORTRAN fue el primer lenguaje de alto nivel y usaba el primer compilador de la historia.
Anteriormente los programadores debían trabajar en código ensamblador o directamente en código
máquina lo cuál era extremadamente costoso. Como FORTRAN era mucho más fácil de usar, los
programadores eran capaces de escribir programas a una velocidad cinco veces superior cuando la
eficiencia de la ejecución se reducía tan sólo un 20%, lo que permitía una mayor concentración en
el modo de resolver problemas que en el de codificarlos.
FORTRAN no era innovativo tan sólo como lenguaje, sino también por su compilador, que
aportó mucha luz a la ahora conocida como Teoría de Compilación. Poco después de su
presentación habían aparecido ya múltiples dialectos que lo adaptaban a las necesidades de cada
programador, aunque reducían la portabilidad. En 1966 la Asociación Nacional Americana de
Estándares publicaría FORTRAN '66 o IV, la primera versión estandarizada. En 1977 era de nuevo
revisado para dar lugar a FORTRAN '77. Por último, la última versión aparecida data de 1990
(FORTRAN '90) dónde se añadió soporte al lenguaje para recursión, punteros y datos definidos por
el usuario.
El objetivo al diseñar FORTRAN era crear un lenguaje de programación que fuera fácil de
aprender, destinado a toda una serie de aplicaciones, independiente de la máquina y que permitiera
expresiones matemáticas. FORTRAN proporcionaba además facilidades para controlar el lugar de
almacenamiento de la información (práctica importante hace tiempo por los pequeños tamaños de
49 http://cs.mipt.ru/docs/comp/eng/hardware/common/history/
37
memoria)50.
La primera versión de FORTRAN fue diseñada teniendo en cuenta que los programas serían
escritos en tarjetas perforadas de 80 columnas. Así por ejemplo, las líneas debían ser numeradas y la
única alteración posible en el orden de ejecución era producida con la instrucción GOTO. Estas
características han evolucionado de versión en versión51.
FORTRAN 90' cuenta con tipos definidos por el usuario, estructuras de control extendidas,
entrada salida mejorada, tipos derivados, funciones intrínsecas, estructuras if-then-else, bucles,
punteros, arrays (con operaciones que permiten su manejo como única unidad) y posibilidades de
programación estructurada a través de subprogramas como funciones y subrutinas52.
50 http://www.engin.umd.umich.edu/CIS/course.des/cis4400/fortran/fortran.html
51 http://es.wikipedia.org/wiki/Fortran
52 http://www.aspire.cs.uah.edu/textbook/introcomp66002.html
38
➢
2.2.2.2. COBOL
Common Business Oriented Language (COBOL) fue desarrollado en 1959 por un grupo de
profesionales en el ámbito de las computadoras agrupados en torno a la Conferencia de Lenguajes
de Sistemas de Datos (CODASYL). Desde 1959 ha sido modificado y mejorado. En un intento de
abordar el problema de incompatibilidad entre diferentes versiones de COBOL, el Instituto
Nacional Americano de Estándares (ANSI) desarrolló una forma estándar del lenguaje en 1968.
COBOL estándar sería mejorado de nuevo en 1974 y 1985. También existen versiones de COBOL
orientadas a objetos53.
COBOL permitió la automatización de los negocios. Los nombres declarados pueden tener
hasta treinta caraceteres lo que los hace perfectamente connotativos. Cada variable se define en
detalle así como los archivos registro, que incluyen información muy útil, como son las líneas que
deben imprimirse, ideal para informes de contabilidad por ejemplo. Además, en sus versiones
modernas ofrece entornos de programación de objetos y programación visual, librerías de clases,
capacidades de aplicación rápidas e integración con el World Wide Web.
En contraste con otros lenguajes de programación, COBOL no se concibió para cálculos
complejos matemáticos o científicos, de hecho solo dispone de comandos para realizar los cálculos
mas elementales, suma, resta, multiplicación y división, sino que su empleo es apropiado para el
proceso de datos en aplicaciones comerciales, utilización de grandes cantidades de datos y
obtención de resultados ya sea por pantalla o impresos. Aunque es ya un lenguaje antiguo, aún son
muchas las empresas que siguen dependiendo del Cobol-85 tradicional para sus proyectos, debido
principalmente a la estructura de su sistema informático54.
53 http://www.engin.umd.umich.edu/CIS/course.des/cis400/cobol/cobol.html
54 http://www.escobol.com/
39
➢
2.2.2.3. ALGOL
ALGOrithmic Language fue uno de los lenguajes de alto nivel específicamente diseñados
para realizar cálculos científicos. Se publicó en 1959, diseñado por un comité internacional para ser
un lenguaje universal. Su primera reunión en Zurich fue uno de los primeros intentos formales de
ocuparse de la portabilidad del software. La no dependencia a una máquina, permitía que los
programadores de ALGOL fuesen más creativos, pero aumentaba la dificultad de las
implementaciones.
ALGOL nunca alcanzó la popularidad comercial de FORTRAN o COBOL, pero es
considerado como el lenguaje más importante de la segunda generación por su influencia en el
desarrollo de lenguajes posteriores. La estructura léxica y sintáctica de ALGOL se hizo tan popular
que casi todos los lenguajes diseñados desde entonces han sido referidos como “ALGOL – like”, es
decir, que su estructura ha sido jerarquizada a partir del modelo y estructuras de control con las que
ALGOL contaba.
En cuanto estructuras de control de datos, en ALGOL 60 se introduce la estructura de
bloques: posibilidad de crear bloques de declaraciones para las variables y el alcance de la
influencia de las declaraciones de control. Conjuntamente, dos formas diferentes de pasarle los
parámetros a los subprogramas: por valor y por referencia; Poseía declaraciones de control
estructuradas como If-then-else y el uso de una condición general para el control de iteraciones eran
otras características, así como el concepto de recursión: la habilidad de un procedimiento de
llamarse a sí mismo.
Uno de los mayores impactos de ALGOL 60 fue la introducción de la notación BNF para
definir la sintaxis del lenguaje. ALGOL está considerado como uno de los lenguajes de
programación más ortogonales dado el número relativamente pequeño de construcciones básicas
que posee y el conjunto de reglas para combinarlas. Cada construcción tiene un tipo asociado y no
hay restricciones en esos tipos. Además, la mayoría de las construcciones producen valores.
Algunas otras características de ALGOL eran los arrays dinámicos (cuyo tamaño se especifica
mediante variables de manera que queda fijado cuando se guarda la información), las palabras
reservadas (símbolos que no pueden ser usados como identificadores) y tipos definidos por el
usuario, que permiten diseñar abstracciones de datos adaptadas a cada problema55.
55 http://www.engin.umd.umich.edu/CIS/course.des/cis400/algol/algol.html
40

2.2.3. Los computadores más representativos de la Segunda Generación
➢
2.2.3.1. TRADIC56 (1954) Y TX-057 (1956):
Los primeros computadores transistorizados
TRADIC (Computador Digital Transistorizado) fue el primer
computador compuesto en su totalidad por estos dispositivos. Se
construyó para las Fuerzas Aéreas de los Estados Unidos por J.H.
Felker, en Bell Labs, empresa creadora del transistor, y comenzó a
funcionar en 1954. TRADIC tenía 800 transistores y 10,000 diodos.
Era tan relativamente pequeño y ligero que pudo ser instalado en el
interior de un bombardero B-52 Stratofortress. Como tal, se trataba
de un ordenador de propósito especial, pero que daba un gran paso
respecto de sus predecesores.
TRADIC
Por su parte el TX-0 (Computador Experimental Transistorizado), apodado “Tixo”, fue otro
de los primeros ejemplos que podemos encontrar en la segunda generación. Fue diseñado en el MIT
Lincoln Laboratory (Massachusetts) con el objetivo de experimentar con el diseño de transistores y
sistemas con memorias muy grandes. Es así que poseía una memoria de núcleo de ferrita de 64K
palabras de 18 bits, lo que en aquel entonces era una cantidad muy grande.
Tal cantidad de memoria hacía que se necesitaran 16 bits para direccionarla, de manera que
sólo quedaban 2 bits en cada dirección para el campo de las instrucciones, por lo que sólo tenía 4
instrucciones principales: guardar, suma, salto y operación. Sin embargo, esta última permitía el
acceso a una serie de micro-instrucciones que podían ser usadas para desarrollar muchas funciones
útiles. El TX-0 era capaz de realizar 100.000 sumas por segundo.
Una vez completado el TX-0 se siguió trabajando en un
modelo mucho más complejo, el TX-1, y este último acabaría
siendo rediseñado como TX-2. El TX-2 aprovechó varias partes
de la memoria del TX-0 reduciéndola de 64k a 4k. El uso de dos
bits menos para el direccionamiento permitió aumentar el número
de instrucciones a 16 lo que mejoró increíblemente la
TX-0
programabilidad de la máquina. El TX-0 se usó para muchos
fines, incluidos el reconocimiento de voz y escritura, así como el desarrollo de herramientas como
editores de texto y depuradores.
56 http://en.wikipedia.org/wiki/TRADIC
57 http://en.wikipedia.org/wiki/TX-0
41
➢
2.2.3.2 IBM 709058:
Representante característico de su generación
El IBM 7090 fue presentado en 1958 como el sistema de procesamiento más potente creado
por la compañía hasta el momento. Contaba con 50,000 transistores y memoria de núcleo magnético
por lo que era capaz de computar hasta 7 veces más rápido que los predecesores de su línea como el
IBM 709 y 704 basados en los tubos de vacío. A través de sus ocho canales de datos el IBM 7090
podía leer y escribir simultáneamente 3 millones de bits y realizar 229.000 sumas o restas, 39.500
multiplicaciones o 32.700 divisiones por segundo.
IBM 7090. Unidades de Entrada/Salida
La memoria tenía una capacidad de casi 33.000 palabras de 36 bits y podía ser leída y escrita
en 2,4 milisegundos. La unidad central de proceso, por su parte, operaba en binario y contaba con
más de 200 operaciones diferentes: operaciones aritméticas de punto fijo y flotante, operaciones
lógicas sobre la información de los registros y la memoria, operaciones de control y test,
entrada/salida, indexado... También incorporaba instrucciones para el cambio de base, búsqueda de
tablas, compilación e interpretación, direccionado indirecto para facilitar la programación de
subrutinas y control automático de overflow y underflow.
Los adelantos tecnológicos permitieron que, aunque aún era un equipo que ocupaba una
habitación entera, se tratase de un habitáculo mucho más reducido que en diseños anteriores. En
58 http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7090.html
42
comparación con el IBM 709 ocupaba la mitad y consumía un 70% menos. El nuevo modelo
ofrecía además compatibilidad con los anteriores de su gama permitiendo la importación de
programas de otros sistemas, así como con el resto de productos de IBM: cintas magnéticas, tarjetas
perforadas...
Quizás uno de los adelantos más
novedosos fuera la incorporación del sistema
operativo
magnéticas,
IBSYS.
IBSYS
Basado
en
cintas
proporcionaba
una
consola con un repertorio muy limitado de
comandos como leer instrucciones de tarjetas
perforadas de control o cintas magnéticas59.
El IBM 7090 ofrecía a su vez soporte para
FORTRAN II incluyendo el compilador y el
ensamblador. La consola de FORTRAN
IBM 7090. Consola.
podía funcionar de manera independiente o a
través de IBSYS. Aunque FORTRAN era el más famoso, otros lenguajes también podían ser
soportados por el sistema, como es el caso de COBOL60.
El IBM 7090 estaba diseñado con fines
de uso general, pero también se dedicó
especial atención a las necesidades
propias
de
las
ingenierías
y
la
investigación científica/militar. Además,
se puso gran atención sus aplicaciones al
mundo de los negocios y ámbitos más
concretos como el tele-procesamiento
que se encontraba en gran auge en esos
momentos. El coste de un equipo era de
IBM 7090 en un centro de análisis y computación
casi 3 millones de dólares, y el alquiler de
más de sesenta mil al mes61.
59 http://en.wikipedia.org/wiki/IBSYS
60 http://www.frobenius.com/ibsys.htm
61 Se puede obtener información extensa y detallada del 7090, además de un video en el que aparece en
funcionamiento en http://www.frobenius.com/7090.htm
43
➢
2.2.3.3. LARC62 (1960):
El primer supercomputador de la generación
El Computador de
Investigaciones Atómicas
de Livermore (Livermore
Atomic
Research
Computer ) o LARC fue
el primer de los dos
computadores a los que se
Dibujo de una habitación equipada con el LARC
podría otorgar el título de “supercomputador” de la Segunda Generación. Se construyeron dos
unidades de la mano de la división UNIVAC de Sperry Rand Corp. (antigua Remington Rand) que
fueron entregadas en 1960 al Lawrence Radiation Labs en Livermore, California, y al Centro de
Investigación y Desarrollo de Navíos en Washington.
LARC era un computador completamente transistorizado con algunas particularidades. El
tipo de transistor utilizado estaba ya obsoleto cuando se presentó. Aún así fue el más rápido
(250000 adiciones por segundo, 125000 multiplicaciones y unas 50000 divisiones) y se cree que el
LARC. Consola.
62 http://www.bookrags.com/sciences/computerscience/larc-livermore-atomic-research-comp-wcs.html
44
último de los computadores con una arquitectura decimal, es decir, trabajaba en base 10 cuando la
inmensa mayoría de los computadores lo hacían directamente en 2, en realidad la información
almacenada no dejaba de ser binaria por las características de la memoria, pero la codificación de
los dígitos estaba lejos de la base 2 y eran siempre interpretados como decimales (decimal
codificado bi-quinario63). Poseía dos unidades de procesamiento completamente independientes,
uno controlando la entrada/salida y otro encargado de realizar las operaciones aritméticas: se trataba
de un computador paralelo en el que las dos unidades podían trabajar simultáneamente, e incluso
una tercera en el caso de necesitarse más potencia de computación. Este sistema hizo que se
convirtiera en el computador más potente del mundo cuando fue presentado. Otra innovación fue la
incorporación de un dispositivo para grabar la salida de datos, como texto o gráficos, en una
película de 35 milímetros. El Electronic Page Recorder, sin embargo, no se consiguió automatizar
completamente por lo que no alcanzó demasiado éxito.
La memoria principal se componía de entre 8 y 39 unidades de núcleo magnético operando
en paralelo y conectadas a los procesadores. Cada una almacenaba hasta 2500 palabras de 11 dígitos
(decimales) y alcanzaba una velocidad de intercambio de dos millones de palabras por segundo.
Además, contaba con una memoria secundaria de 24 tambores con capacidad para 250000 palabras
de 11 dígitos cada uno y con una velocidad de transferencia de 30 millones de palabras por
segundo.
El alto coste de fabricación de los LARC impidió su comercialización. Los dos modelos
funcionaron hasta finales de los 60.
63 Se puede ampliar la información en: http://en.wikipedia.org/wiki/Bi-quinary_coded_decimal
45
➢
2.2.3.4. IBM 703064:
Un paso más en la supercomputación
El liderazgo mundial del LARC de Sperry-Rand Co. no duró demasiado65. Un año más
tarde, (en 1961) IBM entregaba su primer intento de construir un supercomputador: el modelo 7030,
apodado Stretch. Comenzó con un precio de $13.5 millones, aunque se redujo a $7.78 millones y
sería retirado del mercado en poco tiempo al no alcanzar las expectativas.
El proyecto de construcción del IBM 7030 comenzaba en 1956. IBM había prometido un
super computador capaz de alcanzar velocidades 100 veces mayores a las del IBM 70466 pero el
factor se redujo en las pruebas definitivas a 30 veces
más rápido lo que obligó a reducir su precio y retirarlo.
La velocidad del 7030 era de 670.000 adiciones,
370.000 multiplicaciones y 100.000 divisiones por
segundo. Su arquitectura trabajaba con números de
coma fija de longitud variable y de coma flotante de 64
bits y caracteres alfanuméricos codificados con 8 bits
al menos. La longitud de Byte como tal era variable, de
IBM 7030. Panel.
1 a 8 bits y las instrucciones podían ser de 32 o 64 bits. Poseía 32 registros y una memoria de entre
16.384 y 262.144 palabras binarias de 64 bits, calentada y enfriada por inmersión en aceite.
Aunque fuera un computador de relativo poco éxito (acabaron vendiéndose 9 unidades)
muchas de las tecnologías que incorporaba serían clave más tarde. Se usó la lógica de transistores
SMS (Sistema Modular Estándar) que sería empleada por
muchos futuros diseños de IBM como el 7090. El 7030
contaba además con capacidades de multiprogramación
(multitarea),
protección
de
memoria
e
interrupciones
generalizadas. Nuevas técnicas utilizadas por el 7030 como el
almacenamiento de la información que el procesador iba a
utilizar en los registros de rápido acceso para optimizar
IMB 7030, alias Stretch
recursos son hoy usadas en los nuevos procesadores.
64 http://en.wikipedia.org/wiki/IBM_7030
65
Su relación con el LARC llega más allá que la simple competencia tecnológica. Tanto IBM como Sperry Rand
presentaron proyectos para el Lawrence Radiation Center de Livermore. Cuando los ingenieros de IBM (John Griffith y
Gene Amdahl) acabaron el proyecto decidieron rediseñarlo completamente con un tipo de transistor recientemente
inventado. LARC se llevó el contrato (funcionando con transistores obsoletos como ya apuntamos). IBM no se resignó
y entregó proyecto actualizado a un potencial cliente del LARC: el laboratorio de los Álamos.
66 El IBM 704 fue el primer ordenador producido en masa, padre del 7090, capaz de ejecutar hasta 40,000
instrucciones por segundo. Más información en: http://en.wikipedia.org/wiki/IBM_704
46
2.3. LA TERCERA GENERACIÓN DE COMPUTADORES (1960-1975)
La tecnología avanzaba. Durante los años pasados, las computadoras habían conseguido
grandes mejoras. Ahora eran más rápidas, más fiables, consumían, ocupaban y se calentaban
menos... la empresa que necesitase un computador podía elegir entre varios modelos disponibles en
el mercado y colocarlo en una de sus instancias, donde los programadores trabajarían a grandes
velocidades gracias a los lenguajes de alto nivel y a los compiladores proporcionados.
Esta era la perspectiva que se tenía a principios de los 60. Desde un punto de vista más
actual, los computadores de la Segunda Generación no eran más que trastos lentos, sólo accesibles a
grandes empresas y que ocupaban media habitación entera (si tomamos como habitación entera el
espacio ocupado por los predecesores de la primera generación). Su uso estaba reservado a
expertos, los sistemas operativos (o intentos de ellos) no eran más que una ventana de comandos
muy limitada y las memorias seguían siendo pequeñas.
Así como la Segunda Generación se debe a un gran avance tecnológico de múltiples
aplicaciones como fue el transistor, la Tercera Generación no será menos y llegará de la mano de
una nueva creación de la ciencia: el circuito integrado.

2.3.1. Los circuitos integrados
El creciente número de transistores, capacitores, diodos... que se venían necesitando
conforme las capacidades de computación iban creciendo a finales de los 50 empezaba a crear
grandes problemas a la hora de interconectar todos los elementos. El soldado se hacía de forma
manual y era una fuente constante de problemas. Como respuesta a la situación, nació en Estados
Unidos el programa Micro-Module, financiado por el Cuerpo de Señales del Ejercito que tenía
como objetivo uniformizar tamaño y forma de componentes en cuyo interior ya estuvieran echas
todas las conexiones entre transistores y demás elementos. Así, estos módulos podrían utilizarse
para construir los circuitos que se necesitasen simplificando mucho la tarea67.
Jack Kilby sería uno de los primeros que pensaran en cómo conseguirlo y no tardó en
hacerlo. En 1958, cuando trabajaba para Texas Instruments consiguió implementar con éxito un
circuito integrado por primera vez68. En su busca por un dispositivo que solucionase todos estos
problemas de diseño llegó “a la conclusión de que todo lo que necesitaba eran semiconductores –
67 http://www.ti.com/corp/docs/kilbyctr/jackbuilt.shtml
68
El circuito integrado fue concebido por primera vez en 1952 por experto en radares, Geoffrey W.A. Dummer
que trabajaba para la sección de radares del Ministerio de Defensa británico. Sin embargo, Dummer falló en su intento
de construirlo llevado a cabo en 1956.
47
las resistencias y capacitores [dispositivos pasivos], en particular, podían ser hechas del mismo
material que los dispositivos activos [transistores]. También me dí cuenta de que, como todos los
componentes podían fabricarse de un mismo y único material, también podrían ser hechos e
interconectados in situ para formar un circuito completo”69. Al mismo tiempo que Kilby, Robert
Noyce realizaría el mismo descubrimiento para Farchild Semiconductor, aunque su patente llegó
seis meses más tarde.
Los circuitos integrados (CI) comenzaron a manufacturarse en 1959. Los primeros modelos
venían empaquetados en cerámica y contaban con tan sólo decenas de transistores (SSI Integración de pequeña escala). A mediados de los
60 el número de elementos que contenían eran
cientos (MSI – Integración de escala media) y
alcanzarían los millares a mediados de los 70 (LSI –
Integración a gran escala).
En el desarrollo inicial de los circuitos
integrados tuvieron gran importancia los proyectos
aeroespaciales como el programa Apolo70 (cuyo
Jack Kilby y el primer circuito integrado
objetivo era llevar al hombre a la luna, y traerlo de vuelta) y el misil Minuteman71 (misil
intercontinental estadounidense). El primero motivó la tecnología del circuito integrado, el segundo
llevó a su producción en masa. Ambos proyectos absorbieron la producción de CI de 1960 a 1963
reduciendo los costes de 1000 dólares a 25 dólares por pastilla72.
Entre las mayores ventajas de los circuitos integrados se encuentran:
Disminución en los costes: tanto el precio como del número de tablas de circuitos
empleados lo que reducía el trabajo de ensamblado.
•
Aumento de la complejidad de los sistemas que se podían diseñar.
•
Mayor fiabilidad y vida útil más larga.
•
Producción en masa: los circuitos integrados se diseñan por técnicas litográficas
(impresos sobre material semiconductor) y no conectando uno a uno cada componente
discreto como anteriormente.
Los circuitos integrados estarán a partir de ahora presentes en cada componente de un
•
computador, incluidas las memorias, en las que se reflejarán las ventajas de los nuevos dispositivos
al sustituirse los núcleos de ferrita memorias de estado sólido, más rápidas y con mayor capacidad73.
69
70
71
72
73
“La invención del circuito integrado”. Artículo de Jack Kilby, 1976.
Más información: http://en.wikipedia.org/wiki/Apollo_program
Más información en: http://en.wikipedia.org/wiki/Minuteman_missile#History
http://en.wikipedia.org/wiki/Integrated_circuit
http://www.ipp.mpg.de/de/for/bereiche/stellarator/Comp_sci/CompScience/csep/csep1.phy.ornl.gov/ov/node12.html
48

2.3.2. Nuevos lenguajes de programación
BASIC y PASCAL fueron los dos lenguajes de programación creados en la Tercera
Generación que más influencia tendrán en el futuro. Ambos se inspiraron en los lenguajes existentes
anteriormente, mejorando sus posibilidades y características, al mismo tiempo que esos lenguajes se
actualizaban a sí mismos e incluían, a veces, algunas de las innovaciones propias de los nuevos.
➢
2.3.2.1. BASIC
BASIC es el acrónimo de Código de Instrucciones Simbólicas de Uso General para
Principiantes y fue escrito en 1963 en el Dartmouth College por el matemático John George
Kemeny y Tom Kurtzas como una herramienta para enseñar a los estudiantes a partir de una síntesis
entre FORTRAN y ALGOL. BASIC, sin embargo, no se ha quedado ahí, sino que ha sido uno de
los lenguajes de programación más usados, un simple lenguaje de programación considerado como
un paso fácil antes de que los estudiantes comenzaran con el estudio de otros lenguajes más
potentes como FORTRAN.
Los ocho principios de diseño de BASIC fueron74:
1. Ser fácil de usar para los principiantes.
2. Ser un lenguaje de propósito general.
3. Permitir que los expertos añadieran características avanzadas, mientras que el lenguaje
permanecía simple para los principiantes.
4. Ser interactivo.
5. Proveer mensajes de error claros y amigables.
6. Responder rápido a los programas pequeños.
7. No requerir un conocimiento del hardware de la computadora.
8. Proteger al usuario del sistema operativo.
La popularidad de BASIC creció gracias a Paul Allen y Bill Gates (ambos padres
fundadores de Microsoft) cuando escribieron una versión en 1975 para el ordenador personal Altair.
Más tarde, Gates y Microsoft escribieron versiones de BASIC para el ordenador Apple y el DOS de
IBM75.
Una particularidad de BASIC es que puede ser tanto compilado como interpretado, según
convenga. Algunas de las primeras implementaciones (las más antiguas) de BASIC contaban con un
74 http://es.wikipedia.org/wiki/BASIC
75 http://inventors.about.com/library/inventors/blbasic.htm
49
repertorio muy reducido de instrucciones como LET, PRINT, IF, GOTO. Actualmente se ha
incluido todo el repertorio de instrucciones comunes a la mayoría de lenguajes de alto nivel:
WHILE, REPEAT..UNTIL, CASE, SWITCH... etc.
Los tipos de datos originalmente eran dos: numéricos y cadena. Una buena característica de
BASIC es que ya en sus primeras versiones incorporaba buenas funciones para el manejo de
cadenas. También se soportaban arrays de ambos tipos, que podían ser de dimensión 2 como
mucho. En la actualidad se han añadido otros tipos como los números de 32 bits o los definidos por
el usuario.
En cuanto a las posibilidades de programación estructurada, las primeras versiones no
permitían la creación de subrutinas o procedimientos, por lo que la estructuración se debía realizar
mediante el uso de la etiqueta GOTO, creándose un código muchas veces confuso. En los dialectos
modernos de BASIC se dispone tanto de funciones (subrutinas que devuelven un valor) como de
procedimientos (no lo hacen).
Actualmente, la popularidad de BASIC se refleja en la gran cantidad de dialectos
aparecidos: hasta 60 diferentes que dan soporte a la inmensa mayoría de plataformas existentes
desde su invención76.
76 http://es.wikipedia.org/wiki/BASIC
50
➢
2.3.2.2. PASCAL
PASCAL recibe su nombre del matemático francés Blaise Pascal, pionero en la historia de
los computadores. Descendiente de algunas versiones de ALGOL (60, 68, W), fue desarrollado
originalmente por Niklaus Wirth en 1968, con dos objetivos fundamentales: hacer un lenguaje que
fuera asequible y permitiera su enseñanza como una disciplina sistemática basada en los conceptos
naturales y claramente reflejados por el propio lenguaje; y definirlo de tal forma que su
implementación fuese fiable y eficiente en los computadores de entonces. El primer compilador
aparecía en 197077.
PASCAL fue mucho más allá de sus propósitos y comenzó a ser usado comercialmente,
lejos del mero interés académico. Ya en los 80, Pascal era usado en la mayoría de las universidades
mientras seguía invadiendo el mercado comercial aunque algunas voces criticaban que no se podía
producir código de características industriales. Se hizo tan popular que incluso FORTRAN
comenzó a cambiar haciendo uso de las innovaciones de Pascal. Debido a la gran popularidad del
lenguaje en el desarrollo de aplicaciones se creo una versión Extendida de Pascal Estándar en 1990.
Más de 80 sistemas diferentes contaban entonces con implementaciones del lenguaje78.
PASCAL pretendía ser un lenguaje fácil y estructurado, por lo que su sintaxis tiende a ser
natural. El repertorio de instrucciones de PASCAL estándar es bastante amplio y contiene todas las
instrucciones básicas IF THEN ELSE, CASE; WHILE, REPEAT..UNTIL, FOR..DO, READ,
WRITE propias de todos los lenguajes de alto nivel.
Cuenta con una serie de tipos de datos simples predefinidos (integer, real, char[acter],
boolean, longint[eger] y permite al usuario definir sus propios tipos estructurados y subrangos de
los simples. Además, proporciona estructuras de datos predefinidas como son los arrays, los
registros, el tipo set, y los archivos.
Por otra parte, los compiladores de Pascal realizan fuertes comprobaciones sobre las
asignaciones detectando incompatibilidades e incorrecciones que en otros lenguajes causarían
errores en tiempo de ejecución.
Uno de las principales características del lenguaje son el gran soporte para la programación
estructurada, con la posibilidad de definir funciones y procedimientos en los que las variables
entran tanto por valor (no se devuelven) como por referencia (se devuelven), lo que permite la
realización de todo tipo de código sin la necesidad de la etiqueta GOTO79.
77 http://www.pascal-central.com/ppl/#Origins
78 http://en.wikipedia.org/wiki/Pascal_programming_language
79 http://www.engin.umd.umich.edu/CIS/course.des/cis400/pascal/pascal.html
51

2.3.3. Los computadores más representativos de la Tercera Generación
Durante esta generación aparecen múltiples sistemas con la firma de muchas y diferentes
compañías. La reducción de costes hizo que el mercado no
estuviera reservado a unos pocos por lo que muchas compañías
saltan al mercado con ofertas de todo tipo: desde los
computadores más sencillos y baratos destinados a las empresas
más humildes, hasta supercomputadores con un valor de 10
millones de dólares. Por ello, es imposible detallar detenidamente
todos los modelos, por lo que analizaremos los más
representativos y populares intentando cubrir el espectro de años
que compone la generación: la serie IBM System/360, el Digital
Data Nova, un minicomputador que se volvió muy popular, y las
series CDC 6000 de supercomputadores, que llevaron el
liderazgo a mediados de generación.
Digital Equipment Corporation
Programmed Data Processor 8 (DEC
PDP 8)
No queremos dejar de nombrar, sin embargo, la serie PDP (Procesador de datos
programado) de la mano de Digital Equipment Corporation, cuyos 16 modelos llevaron a la
compañía a situarse detrás de IBM en el mercado. Tampoco hay que olvidar la entrada en el
negocio de los computatores de uso general de Hewlett-Packard en 1966 con su serie 2100 de
minicomputadores, que soportaban gran número de lenguajes.
Por último, ya en el campo de los supercomputadores, reseñar el CDC 7600 de Seymour
Cray que llegó cinco años después del
6600 y es considerado como el primer
procesador
supercomputadores
vectorial.
con
Otros
procesadores
paralelos fueron el SOLOMON computer,
de Westinghouse Corporation, y el ILLIAC
IV,
desarrollado
por
Borroughs,
el
Departamento de Defensa Estadounidense
CDC 7600 de Saymour Cray
y la Universidad de Illinois.
52
➢
2.3.3.1. Las Series IBM System/36080
El comienzo la generación
La nueva apuesta de IBM fue lanzar al mercado en 1963 una gama entera de computadores
con diferentes versiones y precios, aunque todos funcionando bajo el mismo conjunto de comandos.
De esta manera permitía a los clientes comprar el modelo de gama más baja e ir actualizándolo
conforme crecieran sus necesidades, sin que los
programas dejaran de funcionar. Para ello IBM hizo
uso comercial de un microcódigo, es decir, un
microprograma
con
un
repertorio
básico
de
instrucciones para el procesador, por primera vez.
El lanzamiento del S/360 fue el proyecto de
CPU más caro de la historia. IBM invirtió 5 billones
de dólares de los de entonces, lo que habría puesto a
la compañía en un grave apuro en caso de salir mal,
IBM System/360
pero no lo hizo: IBM llegó a alcanzar los 1000
pedidos al mes81.
La gama inicial se componía de los modelos 30, 40, 50, 60, 62 y 70 y se actualizaría con los
años. Los tres primeros correspondían a una gama baja-media, mientras que los últimos eran
bastante más potentes y, por lo tanto, caros. La mayoría de ellos ofrecían compatibilidad con
sistemas anteriores de IBM
(series 1400 y 7094).
A pesar de que el
circuito integrado estaba ya
inventado y en el mercado,
dado que no estaba del todo
probada su fiabilidad y la
disponibilidad
era
escasa,
IBM optó por diseñar un CI
híbrido bajo la denominada
Solid Logic Technology82. El
S/360
seguía
siendo
una
IBM System 360
80 http://en.wikipedia.org/wiki/System/360
81 http://www.cedmagic.com/history/ibm-system-360.html
82 Más información: http://en.wikipedia.org/wiki/Solid_Logic_Technology
53
computadora central (mainframe computer), de grandes proporciones, orientada a el mundo de los
negocios.
El S/360 introdujo también una serie de estándares para la industria en lo referente a su
arquitectura. El tamaño de los bytes fue fijado a 8 bits y cada palabra usaba 4 bytes. Constaba de 16
registros de uso general de 32 bits y 4 registros de coma flotante para realizar operaciones de este
tipo (la Arquitectura de Punto Flotante de IBM se mantendría como el estándar durante 20 años). La
memoria se indexaba por cada byte, (en vez de por cada palabra como venía siendo) y tenía
protecciones como la paginación y segmentación. El tamaño de la memoria del modelo de gama
más baja era de 24KB. Las operaciones aritméticas se realizaban en complemento a 2.
El sistema operativo OS/360 fue desarrollado para la gama media de las S/360. Constaba de
tres programas de control: PCP (Programa de control primario) que procesaba las instrucciones
secuencialmente, MFT (Multiprogramación con un número Fijo de Tareas), que lo dotaba de
capacidades multitarea, y MVT (Multiprogramación con un número Variable de Tareas) que
permitía números no fijos de tareas cuyo tamaño en memoria podía cambiar dinámicamente. La
entrega al público del OS/360 se retrasó un año por lo que se introdujeron alternativas como BOS
(Sistema Operativo Básico), para la gama baja; TOS (Sistema Operativo de Cinta) para aquellas
máquinas con lector de cintas únicamente; y DOS (Sistema Operativo de Disco)83.
La serie System/370 nacería en 1970 para reemplazar a los S/360. Entre sus innovaciones
estaban
capacidad
procesador-dual
para
estándar,
soporte completo para memoria
virtual y aritmética de punto
flotante de 128 bits. Durante sus
20 años de vida la serie 370 sería
mejorada con expansiones de la
memoria al mismo tiempo que se
preservaba la compatibilidad con
sistemas anteriores. Entre los
modelos de esta serie destacan el
IBM 3033, IBM 3090, IBM
S/360. Consola.
9370. Ya en los 90' una nueva
serie, la System/390 tomaría su lugar84.
83 http://www.beagle-ears.com/lars/engineer/comphist/ibm360.htm#opsys
84 http://en.wikipedia.org/wiki/System/370
54
➢
2.3.3.2. General Data NOVA
Uno de los minicomputadores más populares
El computador Nova de Data General salió al mercado en 1969, inspirado en otro
minicomputador, el PDP-8 (considerado el primero de los minicomputadores), su principal
característica era que trabajaba con 16 bits y que fue el primero en utilizar la Escala de integración
media (MSI) en sus circuitos. En 1970 se lanzaba una mejora del modelo original: el SuperNova,
cuyo rendimiento era muchísimo mejor. Se llegaron a vender 50000 unidades a un precio de 8000
dólares bajo el slogan de “el mejor computador pequeño del mundo”.
El procesador del Nova estaba construido en dos grandes circuitos integrados de 38 cm2 por
lo que no se necesitaba cableado manual, además de ser más fiable que otros sistemas. En los
primeros modelos se procesaba la información en paquetes de 4 bits en serie, aunque con la llegada
del SuperNova sería mejorado para procesar 16 bits de manera paralela. En cuanto a la memoria,
normalmente contaba con 4KBytes de RAM de núcleo magnético contenidas en otra tabla de 38
cm2 y con memoria ROM transistorizadas.
Las
instrucciones
del
procesador se dividían en tres
principalmente: instrucciones de
manipulación
de
registro
a
registro, referentes a la memoria
y
de
entrada/salida.
Cada
instrucción ocupaba una palabra
(16 bits). Existían instrucciones
de
multiplicación,
división,
unidad de coma flotante, y
administración de memoria. Las
primeras versiones del Nova
incorporaban un interprete del
General Data SuperNova
lenguaje BASIC en cinta de papel perforada. Más tarde se incorporaría soporte para otros
programas.
55
➢
2.3.3.3. CDC 6000 Series85
Algunos
de
los
supercomputadores
más
característicos
de
la
Tercera Generación
El modelo 6600 de Control Data Corporation (CDC) fue diseñado uno de los personajes más
famosos del mundo de la supercomputación: Seymour Cray (1925-1996). Cray se graduó en
ingeniería eléctrica y en matemáticas en la universidad de Minnesota. Trabajó para Sperry Rand y
fue uno de los principales responsables del diseño del UNIVAC 1103 (1953). En 1957 decidió
fundar CDC y se dedicaría a partir de ese momento al diseño de supercomputadores como las series
que ahora presentamos86.
El primer miembro de las series 6000 sería el 6600 que se presentó en 1964 y era capaz de
realizar hasta 3 millones de instrucciones por segundo. Se configuraba como 3 veces más rápido
que el IBM Stretch (7030) y se mantendría así 2 años . Le siguieron el CDC 6400 (1966), el 6500
(1967) y el 6700 (1960), los dos últimos con procesadores centrales dobles.
El procesador central del CDC 6400 incluía 24 registros de operación. El CDC 6500 era
exactamente igual, pero con dos procesadores centrales, por lo que doblaba las capacidades del
anterior. El CDC 6600 por su parte contaba con un sólo procesador central pero de mucha mayor
eficiencia al contar con 10 unidades funcionales independientes
paralelas que podían operar con 32 bits de memoria cada una.
Eran de un multiplicador de coma flotante, un divisor, un
sumador y un sumador largo, dos incrementadores, un shifter
(traductor de palabras de datos a bits), una unidad lógica y una
unidad de salto87. El sistema leía y decodificaba las
instrucciones de la memoria tan pronto como fuese posible y se
las pasaba a las unidades para que se procesaran. Por otra parte,
CDC 6600. Consola.
se trataba de sistemas multitarea capaces de ocuparse de hasta 7 programas activos diferentes.
La memoria central contaba como mínimo con 32.768 palabras de 60 bits cada una. El
indexado se realizaba por palabras y no por bytes. Podía ser extendida mediante otra unidad de
memoria. Al principio se trataba de memoria magnética, aunque luego también se pudo usar
memoria transistorizada88. Se contaba con dos pantallas CRT para la consola del sistema y un
teclado con el que intercomunicarse con la máquina. También se disponía de lector y perforador de
tarjetas, impresora y lector/grabador de cintas magnéticas.
85
86
87
88
http://en.wikipedia.org/wiki/CDC_6000_series
http://www-etsi2.ugr.es/alumnos/mlii/Cray.htm
http://en.wikipedia.org/wiki/CDC_6600
Más información en: http://www.museumwaalsdorp.nl/computer/en/6400hwac.html
56
2.4. LA CUARTA GENERACIÓN DE COMPUTADORES (1970- )
Desde la invención del circuito integrado la miniaturización de los componentes avanzó a
velocidades trepidantes. En 15 años se pasó de integrar decenas de transistores en una sola pieza a
miles. La demanda y la producción en masa hicieron que los costes se redujeran hasta estar al
alcance de un público mucho más amplio. Sin embargo, los computadores seguían siendo
patrimonio exclusivo de empresas y universidades, ya no sólo porque aún tuvieran un precio muy
elevado para una familia, sino porque su uso estaba limitado a expertos y el usuario privado no
requería las posibilidades de computación que tales sistemas podían ofrecerle.
La nueva generación llegará con un nuevo paso en la escala de integración de los circuitos:
la VLSI (Integración a escala muy grande)89. Un chip de estas características contenía cientos de
miles de componentes discretos, lo que significaba no sólo poder integrar módulos, sino
procesadores enteros, apareciendo por primera vez el término microprocesador.

2.4.1. Los microprocesadores
El primer microprocesador completo de la historia será el
Intel 4004 y sería lanzado al mercado en 1971. Sus creadores fueron
Ted Hoff y Federico Faggin y originalmente estaba diseñado para
ser usado para una familia de calculadoras japonesas de la marca
Busicom. Pronto aparecieron múltiples usos para el nuevo producto,
abriendose un nuevo mercado. El Intel 4004 funcionaba bajo
“Arquitectura
Harvard”,
con
palabras
de
cuatro
bits,
46
Intel 4004
90
instrucciones diferentes y a una velocidad máxima de 740 kHz . Contenía en su interior 2300
transistores.
Sin embargo, el Intel 4004 era un microprocesador para
una calculadora simplemente. El verdadero comienzo de
las microunidades de procesamiento (MPU) para los
computadores llegó con un nuevo modelo, también bajo la
firma de Federico Faggin, el Intel 8080 a 2Mhz. Contaba
Intel 8080
con un bus de direccionamiento de 16 bits (64 kbyts de
memoria) y un bus de datos de 8 bits (palabra). Internamente tenía 8 registros de 8 bits que que
89 http://en.wikipedia.org/wiki/Very-large-scale_integration
90 http://en.wikipedia.org/wiki/Intel_4004
57
podían ser combinados por parejas para formar registros de 16. El contador de programa era otro
registro de 16 bits. Además incorporaba 256 puertos de entrada/salida de manera que se pudieran
conectar estos dispositivos sin afectar al espacio de direccionamiento.
“El 8080 realmente creó el mercado de los microprocesadores. El 4004 y el 8008 lo
sugirieron, pero el 8080 lo hizo real” comentaba F. Faggin91. Tan popular fue que múltiples
compañías comenzaron a fabricarlo también (AMD, National Semiconductor, Mitsubishi, NEC,
Siemens, Texas Instruments...) y se llegaron a realizar clones en la Unión Sovietica, Polonia,
Checoslovaquia y Rumanía92.
Intel 8080. Se puede apreciar la complejidad que los primeros microprocesadores alcanzaban.
Antes de pasar a analizar el conjunto de computadoras personales que dominaron la cuarta
generación, veamos qué nuevos lenguajes de programación aparecieron y se desarrollaron en esta
etapa.
91 http://www.antiquetech.com/chips/8080.htm
92 http://www.cpu-world.com/CPUs/8080/index.html
58

2.4.2. Los lenguajes de programación de la Cuarta Generación
A partir de 1970 comienzan a aparecer multitud de lenguajes de alto nivel, algunos con más
trascendencia que otros. La principal característica de los lenguajes de propósito general serán la
grandes capacidades de abstracción procedimental y de datos que ofrezcan. Algunos ejemplos son:
C, Smalltalk, Modula-2, ADA, C++, Visual BASIC, Eiffel, Java... que se unían a las
actualizaciones de lenguajes anteriores como FORTRAN o COBOL93.
En este apartado
detallaremos las evolución y características de dos de los lenguajes que más influencia y uso tienen
actualmente: C y Java.
Sin embargo, conviene reseñar también la importancia de otros lenguajes como los
orientados a la programación lógica (Prolog) y que se desarrollaron a partir de los 70. La
programación lógica parte del establecimiento de una base de datos de sentencias y reglas de
inferencia que son declaradas por el programador, dada la naturaleza declarativa de la lógica. A
partir de ésto la máquina resolverá las cuestiones que se plantean mediante una manipulación
lógica. La idea principal que esta detrás de la programación lógica es el uso de la lógica matemática
que se traduce en una especificación mediante la declaración de de fórmulas lógicas y la
computación es el proceso de deducción o construcción de pruebas. Todo lo anterior hace que la
programación lógica sea fundamentalmente diferente de los otros lenguajes de programación94. Este
tipo de lenguajes han alcanzado gran importancia, sobretodo en aplicaciones relacionadas con
inteligencia artificial95.
93 Recomendamos una visita a http://www.levenez.com/lang/history.html donde se puede encontrar un completo
diagrama a modo de línea del tiempo que recorre todos los lenguajes y versiones aparecidas desde FORTRAN
(1954) hasta la actualidad y las relaciones entre ellos.
94 http://www.cs.cinvestav.mx/PaginaAntigua/SC/publica/chapa/intro_lm/node42.html
95 http://www.lania.mx/biblioteca/newsletters/1996-primavera-verano/art4.html
59
➢
2.4.2.1. C96
C se desarrolló en los Laboratorios Bell en 1972 por Dennis Ritchie. Muchos de sus
principios fueron tomados de un lenguaje anterior “B”, que a su vez descendía de BCPL, una
versión básica de CPL (Lenguaje de Programación Combinada)97. C devolvía algunas de las
generalidades del BCPL al B, dando lugar a lo que conocemos ahora como C.
La potencia y flexibilidad de C fueron patentes en poco tiempo. El sistema operativo UNIX,
escrito originalmente en código ensamblador, fue re-escrito en su totalidad en C manteniendo en
ensamblador unicamente la parte de código necesaria para que C funcionase98. Durante el resto de
los 70 C se extendió a muchas escuelas y universidades debido a sus lazos con UNIX y a la
disponibilidad de compiladores. En 1983 nació ANSI C, o estándar de C en respuesta a las
múltiples versiones que habían surgido en los años anteriores. Actualmente C cuenta con una gran
variedad de librerías estándar que le permiten realizar muchas funciones.
C es un lenguaje potente y flexible que permite una rápida ejecución del programa e impone
pocas restricciones al programador. Permite el acceso de bajo nivel a información y comandos al
mismo tiempo que retiene la portabilidad y la sintaxis de un lenguaje de alto nivel. Estas
características le hacen útil tanto para la programación de sistemas como para la de programas de
propósito general. Son también el origen de la potencia de C y la rápida ejecución de sus
programas.
Su flexibilidad proviene de las múltiples formas con las que el programador puede realizar
una misma tarea. C posee potentes capacidades de manipulación de punteros e incluye operadores
para trabajar con los bits dentro de un byte (bitwise operators) como99
1- >>, <<, que desplazan bits a la derecha o a la izquierda.
2- & (AND), | (OR), ^ (XOR) que compara dos grupos de bits logicamente.
3- ~, que complementa un grupo de bits.
La falta de restricciones impuesta sobre el programador se reflejan sobre todo en la ausencia
96 http://www.engin.umd.umich.edu/CIS/course.des/cis400/c/c.html
97 CPL fue desarrollado conjuntamente por la Universidad de Cambridge y la de Londres durante los años 60. Tenía
una gran influencia de ALGOL 60, pero en vez de ser pequeño, elegante y simple, CLP fue grande, moderadamente
elegante y complejo. Pretendía ser útil tanto para la programación científica (FORTRAN y ALGOL) como para la
orientada al comercio (COBOL). CPL resultó ser demasiado para los computadores de la época y las tecnologías de
compilación existentes, por lo que no aparecieron compiladores funcionales hasta los 70. Sin embargo, nunca se
hizo popular y se dejo de usar a lo largo de esta década. Basic CPL (BCPL) era mucho más simple y se concibió
como lenguaje de programación de sistemas, particularmente para escribir compiladores. Más tarde llegó una
versión aún más simplificada, “B” que sería la inspiradora de “C”
98 Esta técnica se llama “bootstrapping” y tiene una historia curiosa que se puede consultar en:
http://en.wikipedia.org/wiki/Bootstrap
99 http://www.webopedia.com/TERM/b/bitwise_operator.html
60
de comprobación de tipos, algo de lo que un programador avanzado puede sacar gran partido, pero
muy peligroso para un novato.
Otro punto fuerte de C es su uso de la modularidad. Las secciones de código pueden ser
guardadas en librerías para su uso posterior en programas futuros, lo que influye en su portabilidad
y eficiencia de ejecución. Así, el núcleo del lenguaje deja fuera muchos rasgos propios de otros
lenguajes como las capacidades de entrada/salida que tienden a decelerar la ejecución del programa
y a hacerlo dependiente de un sistema para su funcionamiento óptimo. Éstas, se almacenan en una
librería exterior para llamarlas solamente cuando sea necesario.
C es muy usado para las aplicaciones relacionadas con el sistema operativo UNIX y para el
desarrollo de los motores gráficos de muchos videojuegos.
61
➢
2.4.2.2. Java100
Alrededor de 1990 James Gosling, Bill Joy y otros miembros de Sun Microsystems
comenzaron desarrollando un lenguaje llamado Oak (roble). Lo querían utilizar primordialmente
para controlar microprocesadores de artículos de consumo como videos, tostadoras y PDAs.
Para alcanzar estos objetivos Oak necesitaba ser:
Independiente a cualquier plataforma.
•
Muy fiable
•
Compacto.
Sin embargo, así como las televisiones interactivas y los PDA de 1993 no tuvieron éxito,
•
Oak tampoco. Entonces, el boom de Internet comenzó y se convirtió en el objetivo de Sun,
cambiando el nombre del proyecto por Java.
En 1994 apareció el navegador HotJava de Sun. Escrito en Java en tan sólo unos meses,
ilustraba el poder de los applets101 y también las capacidades de Java para la producción rápida de
programas.
Conjuntamente con la expansión del interés y la publicidad en Internet, Java fue reconocido
ampliamente y creció la expectación ante lo que probablemente se convertiría en el software
dominante para navegadores y aplicaciones de consumo.
Sin embargo, las primeras versiones de Java no poseían las capacidades suficientes para
satisfacer las necesidades de las aplicaciones de los clientes. Por ejemplo, los gráficos en Java 1.0
estaban muy poco desarrollados en comparación con lo que se podía hacer con C y otros lenguajes.
Los applets de Java se han vuelto muy populares pero no dominan los visualizadores
interactivos o multimedia de las páginas web. Muchos otros programas similares pueden también
ser ejecutados en el entorno del navegador.
El lanzamiento de nuevas y extendidas versiones sí hicieron que se volviera muy popular
para el desarrollo de aplicaciones de empresa102 y middleware103 como tiendas en-línea,
procesamiento de transacciones, interfaces de bases de datos... Java se ha vuelto además muy
común en pequeñas plataformas como teléfonos móviles y PDAs.
100 Extraído de http://www.particle.kth.se/~lindsey/JavaCourse/Book/Part1/Java/Chapter01/history.html
101 Un applet es un programa escrito en Java que puede ser incluido en una página HTML de forma muy parecida a
como se introduce una imagen.
102 Enterprise Applications. Este tipo de software realiza funciones relacionadas con los negocios como contabilidad,
horarios de producción, seguimiento de la información del cliente, mantenimiento de cuentas bancarias... Suele estar
alojado en servidores y se usado por muchos empleados de la misma organización simultáneamente.
103 Las aplicaciones Middleware son programas que actúan como intermediarios entre diferentes componentes de
aplicaciones. Son muy útiles en servidores web, servidores de aplicaciones, sistemas de administración de
contenidos etc. Más información en: http://en.wikipedia.org/wiki/Middleware
62
La primera característica de Java es que se trata de un lenguaje interpretado, y por ello es
completamente independiente de las plataformas donde se ejecute. Los compiladores de Java no
producen código máquina, sino un código intermedio llamado bytecode que la Máquina Virtual
Java (JVM), el intérprete, se encarga de descifrar para seguidamente ejecutar las rutinas pertinentes
ya pre-programadas.
La segunda es que se trata de un lenguaje orientado a objetos, lo que significa que todo lo
que aparezca en un programa de Java es un objeto, descendiente de una clase de objetos raíz.
Uno de los factores que más ayudaron a la rápida adopción es la similitud de su sintaxis con
el lenguaje C++. Además Java cuenta con una de las más ricas y atractivas librerías estándar con
cientos de classes y métodos que se agrupan en seis areas funcionales principales:
•
Clases de soporte de lenguaje para características avanzadas del lenguaje como cadenas,
arrays, hilos, y administración de excepciones.
•
Clases de utilidad como un generador de números aleatorios, funciones de fecha y hora...
•
Clases de entrada/salida para leer y escribir datos de muchos tipos desde y hacia múltiples
fuentes.
•
Clases de red para permitir comunicaciones entre computadores sobre una red local o
Internet.
•
Set de herramientas para ventanas abstractas para crear GUIs máquina-independientes.
•
Clase de applets para crear aplicaciones Java que puedan ser descargadas y ejecutadas desde
un navegador.
63

2.4.3. Los computadores personales
•
2.4.3.1. Años 70
El procesador Intel 8080, del que hablamos antes, fue precisamente el corazón de uno de los
primeros ordenadores personales, y sin duda el de más éxito de principios de generación: el Altair
8800, lanzado en 1975 de Micro Instrumentation Telemetry Systems (MITS) cuyas características
detallaremos un poco más adelante104.
Ese mismo año IBM lanza su primer microcomputador,
el IBM 5100 con precios que oscilaban entre $9000 y $20000.
Su precio denotaba sus capacidades: llegaba a 64 Kbytes de
RAM
con
un
procesador
IBM
a
1.9Mhz,
pantalla
monocromática, teclado, disco duro, soporte para BASIC, APL
o ambos... se trataba de un modelo orientado al ámbito de la
investigación científica y la resolución de problemas. El 5100
era como una versión de sobremesa de los System/360 de la
IBM 5100
generación anterior.. Fue descrito además como el primer ordenador portátil, aunque con un peso de
25 kg más bien no lo era.
Un año tras el lanzamiento del IBM 5100 (en 1976)
Steven Wozniak y Steven Jobs formaban Apple Computer
y sacaban al mercado su primer producto: Apple I del que
se vendieron 200 unidades y que consistía básicamente de
una placa de circuitos a la que había que añadir un
monitor, un teclado, una fuente de alimentación, y soporte
para cintas si se quería programar algo en él. Sería el
Apple I
Apple II (1977) el que verdaderamente concedería
importancia en el mercado a la compañía, y que también analizamos más a fondo un poco más
adelante.
104 Durante 1985 el Museo de Computación de Boston realizó un concurso con el objeto de registrar la historia de la
computación. El museo estuvo publicitando este evento en todos los Estados Unidos, solicitando al público su
contribución personal. El resultado fue de 316 muestras remitidas. Apareció allí, para sorpresa de todos, un modelo
descontinuado y olvidado que resultó ser el primer ordenador personal de la historia. La Kenbak I, fue fabricada en
1971 por John Blankenbaker de la Kenbak Corporation de Los Angeles. Este PC contaba con apenas 256 bytes (no
kilobytes) de memoria RAM y su programación se realizaba por medio de palanquillas (switches). Su CPU no era
integrado, sino que se componía de diferentes módulos de transistores y funcionaba a 1Mhz. Solamente se
comercializaron 40 equipos al precio de 750 dólares.
http://www.perantivirus.com/historia/cuartag.htm
http://en.wikipedia.org/wiki/Kenbak
64
En 1976 Commodore International comercializaba el
PET 2001 (Transaccionador Personal Electrónico) que
venía totalmente ensamblado y listo para operar de fábrica
con 4 u 8 Kbytes de de memoria, una unidad de cintas, y un
teclado tipo “chiclet”105 (que fue sustituido por un teclado
normal más tarde), color y sonido, 3.5K de memoria
accesible para el usuario y un precio mucho más barato que
Commodore PET 2001
los sistemas de Apple (funcionando con el mismo
procesador, el MOS 6502106 a 1Ghz): tan sólo 595 dólares (4KB) o $795 (8KB). Más tarde, en
1982, lanzó al mercado el C64, al que se adjuntaron fichas con el código de varias aplicaciones y
juegos. Tres años más tarde le seguían los Commodore Amiga, basados en el CPU Motorola 68000
a 8 Mhz107.
Antes de pasar a los apartados dedicados al Altair y al Apple II, no hay que olvidar que
muchos otros computadores salieron al mercado en la década de los 70, incluyendo la familia Atari
8-bit, el Sinclair ZX Spectrum, el TI 99/4A, el BBC Micro, el Amstrad/Schneider CPC, el Tandy
Color Computer...
Commodore Amiga 600. Uno de los últimos modelos de la
serie lanzado en 1992.
105
Un teclado de chiclet es un argot para un teclado de computadora construido con un arreglo de teclas pequeñas,
rectangulares y planas hechas de goma o plástico, que parecen borradores o chicle de mascar. El término viene de
"Chiclets", la marca de una variedad de chicle (Chiclets Adams).
Extraído de: http://es.wikipedia.org/wiki/Teclado_tipo_chiclet
106
Commodore era propietaria de la marca MOS Technology cuyos procesadores fueron ampliamente usados por
sus características y buen precio. Entre los computadores que usaban el MOS 6502 estaban: Apple I, Apple II, Apple
III, Comm. PET, las consolas Atari, la Nintendo Entertainment System...
107 http://en.wikipedia.org/wiki/History_of_computing_hardware_%281960s-present%29#The_Commodore
65
➢
2.4.3.1.1. El MITS Altair 8800
El Altair debe su nombre al episodio de Star Trek que emitían el día de su bautismo
(actualmente hay una estrella Altair VI en la constelación Alpha Aquilae, que debe su nombre a la
misma serie). Se iba a llamar PE-8 (Popular Electronics 8-bit), pero se decidió que un nombre de
estrella
sería
más
adecuado
al
acontecimiento de su lanzamiento. Y,
efectivamente, supuso una revolución al ser
el primer ordenador personal producido
masivamente. Se comenzó a comercializar
en 1975 como un kit por US $395 o
montado y verificado por US $495. Algunos
de sus componentes, como los buses, no se
seleccionaron por requisitos técnicos, sino
porque eran más baratos. Esperaban vender
MITS Altair. Panel frontal.
unos 200 equipos tras aparecer en portada
de Popular Electronics, pero se recibieron 4000 pedidos a raíz del reportaje.
Por la época del lanzamiento del Altair existían ya bastantes aficionados al mundo de las
computadoras. La reducción de los precios permitía el acceso a componentes y muchos trataban de
diseñar sus propios sistemas. Esto ayudó a que los ordenadores personales comenzaran a entrar en
los hogares. El Altair 8800 ofrecía la posibilidad de ser comprado como kit. Hay reportajes que
relatan que lo peor del montaje, que llevaba semanas, era la conexión de los 66 cables de 3 pulgadas
al panel frontal , ya que se rompían con facilidad108.
Todos los componentes del Altair venían
en tarjetas que se conectaban a una placa
base con 16 ranuras. Este sistema se
denominó el “Altair bus” y se convirtió en
el estándar industrial bajo el nombre S-100
bus. Las tarjetas S-100 incluían: CPU,
memoria, tarjeta de video, puerto de
impresora, interfaz serie, controlador de
floppy disk, interfaz de cinta magnética.
Altair - Panel Trasero
La memoria original del Altair era una
108 http://www.museo8bits.com/altair8800.htm
66
RAM de 256 bytes, ampliable mediante tarjetas a 64 Kbytes como máximo. No tenía memoria
ROM. Tampoco contaba con un teclado ni con un monitor ya que no eran necesarios. El Altair se
programaba en binario a través de interruptores en el panel frontal. Contaba con múltiples diodos
LED que indicaban el estado de la entrada y de la salida, también en binario, por lo que al principio
hacían falta bastantes conocimientos para utilizarlo. Las ampliaciones incluían la posibilidad de
añadir un monitor y un teclado que simplificasen su uso109.
•
Altair BASIC
Dicen que cuando Bill Gates y Paul Allen vieron en la portada de Popular Electronics el
Altair se dieron cuenta que, dado el bajo precio que los computadores comenzaban a alcanzar,
vender software para ellos podría ser un buen negocio. La programación del Altair era totalmente
manual, por lo que ¿qué mejor que un interprete de BASIC, un lenguaje claro y fácil de aprender,
para atraer la atención los aficionados a los que iba dirigido?
Gates y Allen contactaron con MITS y acordaron su realización. El intérprete soportaba
aritmética de punto flotante, y tenía su propio sistema de entrada/salida y editor de líneas 110
ocupando tan sólo 4 Kbytes de memoria, por que quedaba libre bastante espacio en la memoria para
los programas generados. También se realizaron otras versiones como 8K BASIC, Extended Basic,
Extended ROM BASIC y Disk BASIC. Fue el primer producto de Micro-Soft, y también el primer
caso de piratería conocido. Gates perdió la pista de una copia del intérprete antes de que fuera
comercializado. Muchos aficionados pertenecientes al Homebrew Computer Club pudieron acceder
a ella por lo que Gates respondió con una carta amenazando con que no seguiría desarrollando su
software si la gente no pagaba por él.
Microsoft desarrolló intérpretes de BASIC para otras máquinas y el intérprete fue la base de
su negocio hasta 1980, con la entrada de MS-DOS.
109 http://oldcomputers.net/index.html
110
Un editor de línea es un editor de texto orientado a líneas. No se necesitaba pantalla ni existía un cursor que
mover por el documento. Se trata de uno de los métodos de entrada/salida de texto más primitivos, en el que la
escritura, edición y muestra del texto no ocurrían simultáneamente, sino a través de comandos en una consola del
sistema.
Más información en: http://en.wikipedia.org/wiki/Line_editor
67
➢
2.4.3.1.2. APPLE II
El Apple II se convirtió en una de los computadores más populares de todos los tiempos.
Aunque era una gran mejora sobre el primer modelo, funcionaba con el mismo procesador (MOS
6502, uno de los más baratos y completos del mercado) y a la misma velocidad de 1Mhz.
Las nuevas mejoras incluían pantalla a color, 8 ranuras de expansión interna, una caja con
teclado y posibilidades de sonido. El modelo también estaba disponible como placa de circuitos
unicamente para todo aquel aficionado que deseara montarlo él mismo. Los precios variaban según
la capacidad de memoria de 1298 dólares a 2638 (sistema montado), o de 598 a 1938 dólares (sólo
la placa). Venia con BASIC incluido, por lo que se vendía listo para funcionar desde el primer
momento. Sus características le convirtieron en el primer sistema amigable para el usuario (“userfriendly”).
La filosofía en el diseño del Apple II fue el uso de ingeniosos trucos de ingeniería para
ahorrar uso de hardware y reducir los costes. Por ejemplo, el circuito usado para generar las señales
de video se utilizaba para refrescar las celdas de la memoria DRAM. Funciones como el
reconocimiento de las señales del controlador para juegos, el color del modo de alta resolución se
implementaban utilizando circuitos muy simples y software. El sistema de sonido daba una vuelta
de tuerca más: el Apple II no contaba con un sistema sintetizador sofisticado, sino con un simple
interruptor capaz de emitir un “click” a través de un altavoz del sistema. Todos los sonidos eran
generados por software que emitía los clicks en el momento apropiado111.
Las 8 ranuras ofrecían grandes posibilidades de expansión y muy pocos diseños contaban
con esta flexibilidad. Existían múltiples tipos de tarjetas que añadir al sistema: memoria,
controladores de disco blando, emuladores de PASCAL y CP/M, aceleradores del procesador,
tarjetas de video, controlador para juegos...
Pero lo que realmente hizo que el modelo despegara
fue el nuevo procesador de textos Visicalc. Fue el primer
programa de estas características con un precio asequible
para una tarea que anteriormente requería mucho más
tiempo. Las capacidades de memoria del sistema, más bien
grandes (de 4 Kbytes a 48 Kbytes), favorecieron su
Apple II Plus
incorporación y convertían al Apple II en una máquina muy útil en los negocios112.
Apple continuó la serie con Apple II Plus, Apple IIe, IIc, IIgs, IIc Plus con muchas mejoras
pero muy similares al modelo original, manteniéndose en el mercado hasta 1993.
111 http://en.wikipedia.org/wiki/Apple_II#The_original_Apple_II
112 http://oldcomputers.net/appleii.html
68
•
2.4.3.2. Años 80
Los años 80 estuvieron dominados por los ordenadores personales de IBM y las mayores
innovaciones llegaron desde Apple Corporation. Aunque no hay que olvidar modelos como el
Xerox Star113, ni el Apple Lisa114, los verdaderos protagonistas de la década fueron el IBM PC y el
Apple Macintosh, que pasamos a detallar a continuación.
➢
2.4.3.2.1. IBM PC115
En los 70, IBM ya había intentado hacerse con parte del mercado de los ordenadores
personales con el lanzamiento del IBM 5100, pero su precio hizo que no estuviera al alcance de
cualquiera. La compañía llego al punto de plantearse la adquisición de la compañía de videojuegos
Atari para encargarse de su primera línea de ordenadores personales. Sin embargo, IBM decidió
finalmente fabricar su propio productos en respuesta al éxito obtenido por el Apple II y en 1981
salía al mercado el IBM PC o IBM 5150116.
El PC había sido desarrollado muy rápidamente principalmente por que estaba diseñado con
componentes no fabricados por IBM. El precio era de $1500 y, aunque no era barato, estaba al
alcance de muchos negocios. Funcionaba con un procesador Intel 8088 a 4.77 Mhz. La memoria
RAM iba de 16 a 640 Kbytes. No tenía disco duro, pero sí lector grabador de cintas magnéticas y
disquetera de discos blandos opcional. La pantalla podía ser a color o monocromática.117 El teclado
fue bastante criticado ya que algunas teclas no estaban en los lugares en que solían estar pero IBM
no proporcionó un nuevo teclado hasta 1987. El bus utilizado originalmente se hizo muy popular y
acabó siendo renombrado como bus ISA (Arquitectura Industrial Estándar)118.
113 El Xerox Star workstation de Xerox Corporation se introdujo en 1981 y fue el primer sistema comercial en
incorporar varias tecnologías presentes en los ordenadores personales actuales como son una interfaz gráfica basada
en ventanas, iconos, carpetas, ratón, red Ethernet, servidores de archivos, e-mail... además del lenguaje de
programación Smalltalk.
Más información en: http://en.wikipedia.org/wiki/Xerox_Star
114 Inspirado en el Xerox Star, el Apple Lisa salió al mercado en 1983. Funcionaba con un CPU Motorola 68000 y
venía con 1Mbyte de RAM, monitor en blanco y negro de 12 pulgadas, disquetera dual de discos blandos y disco
duro de 5Mbytes. Sin embargo, su lentitud y precio ($10000) hicieron que fallara comercialmente.
Más información en: http://fp3.antelecom.net/gcifu/applemuseum/lisa2.html
115 PC era el acrónimo de Personal Computer y ya era un término popular antes del lanzamiento del IBM 5150. Sin
embargo, debido al éxito del IBM PC, lo que había sido un término genérico llegó a significar específicamente una
computadora compatible con las especificaciones de IBM.
116 http://inventors.about.com/library/weekly/aa031599.htm
117 http://www.vintage-computer.com/ibm_pc.shtml
118 http://en.wikipedia.org/wiki/IBM_PC
69
En los años posteriores a su presentación IBM mejoró su sistema y aparecieron los modelos
IBM Personal Computer XT (1983), mejorado para los negocios con un disco duro de 10mb e IBM
PC/AT (1984) que usaba el procesador Intel 80286 a 6 Mhz con un disco duro de 20 Mbytes.
Un efecto derivado del uso de componentes de otros fabricantes fue que otras compañías
podían obtener los mismos y crear sus propias versiones del PC. Lo único de lo que IBM era
propietario era la BIOS (Sistema Básico de Entrada/Salida) , pero los competidores no tardaron en
encontrar la forma de programar una BIOS que hiciera exactamente lo mismo119.
IBM PC e impresora.
El sistema operativo incorporado en el IBM PC tampoco era propio, sino que venía firmado
por Microsoft: PC-DOS. Las dos compañías acordaron el desarrollo del sistema operativo por parte
de ambas para después poner en común las mejoras, por lo que Microsoft sacó al mercado MSDOS, prácticamente idéntico al PC-DOS hasta los años 90, pero dirigido al resto de plataformas.
A partir de los 90' Microsoft decidió apostar por el desarrollo de un sistema operativo propio
y fácil de comercializar como sería Windows. La colaboración entre las dos compañías se tornó en
una fuerte competencia que quedó muy patente en el avance paralelo e independiente de MS-DOS y
PC-DOS120, en una carrera que duraría hasta finales de la década.
119 Compac fue la primera marca en sacar un PC 100% compatible con el de IBM. Para reproducir la BIOS del IBM
PC utilizaron ingeniería inversa. Tardaron un año y medio e invirtieron un millón de dólares en esta tarea pero el
clon creado produjo beneficios récord para la compañía.
120 http://en.wikipedia.org/wiki/PC-DOS
70
➢
2.4.3.2.2 APPLE MACINTOSH
El primer Apple Macintosh fue presentado en 1984 al precio de $2495 y fue el primer
ordenador personal comercializado con éxito que hacía uso de una interfaz gráfica de usuario y un
ratón, en vez de la característica consola de comandos121.
El sistema funcionaba con un procesador Motorola 68000 a
7.83 Mhz y con una memoria RAM de 128 Kbytes que más tarde se
amplió a 512. Disponía de una memoria ROM de 64 Kbytes, una
unidad de disco blando, un monitor de 9 pulgadas en blanco y negro
(con resolución 512x342), teclado y ratón. No tenía ninguna ranura
de expansión ni posibilidades de mejora que no fuesen hechas en
fábrica. Tampoco era compatible ni con los Apple II, III ni con el
Lisa. Sin embargo, escribía los discos más de dos veces más rápido
que el IBM PC e incluía dos puertos en serie que alcanzaban altas
velocidades (230.4 kbps) y, por supuesto, un sistema operativo
Primer Mac de Apple Corp.
totalmente gráfico, lo que lo convirtió en uno de los sistemas más amigables de la historia.
Como todo computador que cambia los estándares industriales, el Mac tuvo un nivel
mediocre de ventas al principio. Como
todo en este mundo, tenía que tener su
tiempo de adaptación y la Mac no lo
tuvo. La Norteamérica corporativa, así
como
negocios,
empresas,
multinacionales, etc. eligieron al IBM
PC, no solamente por ser de IBM, sino
también porque tenía el aspecto, y
actuaba de la manera como se suponía
MAC OS. Captura de pantalla.
que debía actuar un ordenador122.
Sin embargo, en poco tiempo comenzaron a apreciarse sus ventajas. El diseño del
computador y el procesador Motorola 68000 lo hacían especialmente atractivo para los estudiantes,
por lo que cobró importancia en muchas universidades a lo largo y ancho de Estados Unidos que
realizaron pedidos por más de $60 millones de dólares123.
121 http://oldcomputers.net/macintosh.html
122 http://www.maestrosdelweb.com/editorial/apple/
123 http://www.atarimagazines.com/creative/v10n4/38_Apple_Macintosh.php
71
•
2.4.3.3. La evolución hasta nuestros días
Aunque ha habido grandes avances durante los últimos años en fiabilidad, rapidez y
prestaciones de los PC, la tecnología usada no difiere en gran medida de la que venía siendo en los
años 80 y 90. El nivel de integración de los chips ha aumentado hasta contener millones de
componentes en su interior, para reflejar este crecimiento se propuso el término ULSI (Escala de
Integración Ultra Grande). Sin embargo, no se puede decir que haya un salto cualitativo entre la
VLSI y la ULSI, y en la mayoría de los textos técnicos se sigue usando el primer término, a no ser
que se desee enfatizar la complejidad del chip. Esto nos lleva a poder considerar los computadores
personales actuales como los miembros más recientes de la Cuarta Generación.
Los años siguientes al lanzamiento del Apple Mac vendrán
marcados por una apertura del mercado que dejará de estar controlado
por el IBM PC y sus clones. Intel continua a la cabeza del desarrollo de
procesadores y lanza en 1986 su i386, de 32bits a 16 Mhz facilitando la
implementación de sistemas con memoria virtual y la utilización de
memorias mayores. Aunque la adopción de un procesador de 32 bits
fue lenta debido a la readaptación que las placas base y los periféricos
Intel i386
tuvieron que sufrir, el i386 se conformó como el modelo a seguir por los procesadores de los años
posteriores y base de la arquitectura x86 en la que aún se basan la mayoría de PCs124.
En 1987 IBM introduce sus Personal System/2 (PS/2) en un intento de recapturar el mercado
con la introducción de una avanzada arquitectura propietaria.
Se llegaron a vender más de un millón en el primer año y
muchas de sus aportaciones como los puertos PS/2 o el sistema
VGA de video se convertirían en los estándares del mercado
por muchos años. Como había pasado con el PC, Tandy, Dell
y otras compañías anunciaron sus sistemas compatibles PS/2
IBM PS/2 Modelo 50
un año más tarde125.
Mientras, en el campo del software, Microsoft tuvo la idea de lanzar un GUI que permitiera
al usuario interactuar con la máquina mucho más facilmente, utilizar varias aplicaciones a la vez
etc. Por supuesto la idea nacía de los GUIs incorporados por el Xerox Star, el Lisa, el Macintosh... y
fue llevada ha cabo relativamente rápido: en 1985 se lanzaba Windows 1.0. Al principio, Windows
no estaba concebido como un Sistema Operativo como tal, sino que era una aplicación que se
ejecutaba sobre MS-DOS, aunque si que asumía muchas tareas propias de los OS. MS-DOS por su
124 http://www.cpu-info.com/index2.php?mainid=html/cpu/386.php
125 http://en.wikipedia.org/wiki/PS/2
72
parte siguió siendo desarrollado logicamente. Comenzó a cobrar especial importancia a partir de
1990 coincidiendo con el lanzamiento de su versión 3.0 que era compatible con los procesadores de
32 bits que iban apareciendo en el mercado (como el Intel i486 que llegaba a alcanzar velocidades
de 33Mhz)126. Con las posteriores versiones Windows se irá haciendo con una cuota muy
importante de sistemas para dar el salto definitivo en 1995 con Windows 95, que rompió todas las
expectativas127. Paralelamente se desarrolló el sistema operativo Windows NT orientado a
estaciones de trabajo, servidores... Basados en el 95 y funcionando sobre MS-DOS saldrían a la
venta Windows 98 (1998) y Windows ME (2000). Basados en el NT lo harían Windows 2000 y
Windows XP (2001)128.
Entre tanto, Intel daba un paso más en 1993 con la introducción
del Pentium129. En su interior contaba con más de 3 millones de
transistores y las primeras versiones alcanzaban los 60Mhz. El Pentium
sería desarrollado hasta 1997 aumentando su velocidad (hasta 255Mhz)
y posibilidades (tecnología MMX)130. Más tarde vendrían los Pentium
II, III, IV. El último de ellos alcanza velocidades de 3.8 Ghz y contiene
42 millones de transistores en su interior131. El último paso en el campo
de procesadores para PC ha sido la adopción del tamaño de palabra de
64 bits (arquitectura x86_64) y tanto Intel como AMD132 han presentado
MS Windows 3.1
sus respectivas propuestas: los Pentium IV más recientes y los AMD Athlon 64 entre otros.
Aunque Intel y Microsoft hayan sido los grandes dominadores del hardware y
del software de los últimos años, no hay que olvidar las diferentes alternativas
existentes. Apple, por ejemplo, ha seguido desarrollando sus Macintosh y en
2001 presentaba su sistema operativo Mac OS X que ha dado fama a los Mac
de ser equipos muy estables, además de incorporar las mayores innovaciones
y avances en cuanto a GUI se refiere.
Procesador Intel
Pentium
Sistemas como GNU/Linux comienzan a ser ampliamente aceptados por
muchos usuarios y soportan un gran número de arquitecturas diferentes. Existen muchas
126 http://www.cpu-info.com/index2.php?mainid=html/cpu/486.php
127 http://en.wikipedia.org/wiki/History_of_Microsoft_Windows
128 Versiones también de la mano de Microsoft, pero no orientadas al usuario en general han sido Windows NT 4.0
(1996) y Windows Server 2003.
129 Intel decidió dejar de nombrar sus productos con números para diferenciarse de los demás fabricantes , ya que un
número no era patentable. Empresas como AMD tenían sus 8080, 386, 486 etc. en el mercado. Así, en vez de llamar
a los nuevos procesadores i586 como se esperaba, nació la serie de los Pentium
130 MMX o Extensiones MultiMedia eran un conjunto de 57 instrucciones incorporadas en el procesador con el
objetivo de permitirle realizar muchas operaciones multimedia comunes que normalmente se procesaban a través de
otros dispositivos como tarjetas de video o de sonido.
131 http://www.cpu-info.com/index2.php?mainid=html/cpu/iP4.php
132AMD inició recientemente contra Intel una demanda anti-monopolio por las prácticas abusivas utilizadas para
controlar el mercado. Más información en:
http://www.amd.com/us-en/assets/content_type/DownloadableAssets/Complaint_summary_Spanish.pdf
73
distribuciones diferentes, la mayoría gratuitas, y el nivel de desarrollo alcanzado lo ha convertido en
un sistema operativo superior en muchos aspectos al Microsoft Windows.
Tux, mascota de GNU/Linux
74
3. ASPECTOS POLÉMICOS E INFLUENCIA SOCIAL
DE LOS COMPUTADORES

3.1. La Primera Generación, la guerra y la responsabilidad social de ayer y hoy
El desarrollo de la Primera Generación de Computadores coincide en el tiempo con el de 2ª
Guerra Mundial y la carrera armamentística llevada a cabo por ambos ejes. Como hemos visto,
todos y cada uno de los grandes contribuyentes al avance de estas grandes máquinas de cálculo
estuvieron relacionados o trabajaron para el ejército de sus respectivos países, destacando Estados
Unidos.
Los proyectos que dieron luz a las Harvard Mark, ENIAC y otras fueron financiados por el
ejército estadounidense que hizo uso de ellas en diferentes bases. Zuse, Atanasoff, Aiken, Hopper,
Turing, Mauchly, Eckert... colaboraron con sus respectivos países en el desarrollo de tecnologías
que se aplicarían a una contienda que dejó atrás 50 millones de bajas civiles y militares y 30
millones de desplazados. Dos ejemplos significativos son la implicación de Von Neumann en el
proyecto Manhattan o el papel del Colossus en la guerra133.
Von Neumann colaboró activamente con el Laboratorio Nacional de Los Álamos y el
Proyecto Manhattan, origen de la bomba atómica en 1945 (cuyo método de implosión diseñó) y
cuyo uso no se demoró: cinco meses tras la primera prueba satisfactoria dos bombas (6 y 9 de
Agosto de 1945) acababan con la vida de 175.000 civiles japoneses en el acto en Hiroshima y
Nagasaki. Von Neumann continuó trabajando en la resolución de los cálculos derivados de los
problemas nucleares de la bomba de hidrógeno cuya construcción apoyó. Además propuso la
fabricación de misiles intercontinentales134.
El Colossus, por su parte, tuvo una gran importancia histórica. El 1 de junio de 1944
interceptó un mensaje crucial: la confirmación de que Hitler y el alto mando alemán esperaban un
ataque aliado masivo en Calais. Una información lo suficientemente valiosa como para que el
general Eisenhower decidiera el 6 de junio dirigir sus tropas a las costas de Normandía. El
desembarco, masivo y por sorpresa fue el principio del fin de los alemanes 135. Piezas tan valiosas de
información no fueron sin embargo gratuitas. Existen indicios de que al menos un bombardeo
alemán sobre una ciudad inglesa pudo ser evitado con la información interceptada por el Colossus,
con el consiguiente número de muertes, pero se dejó proceder para no desvelar que se disponía de
133 http://sgm.zonadictos.net/consecuencias.htm
134 http://ei.cs.vt.edu/~history/VonNeumann.html
135 http://www.elmundo.es/navegante/diario/2000/10/05/colossus.html
75
las claves que descifraban los mensajes alemanes136.
A la vista de las terribles cifras de la Guerra, cabe preguntarse si, al mismo tiempo que se
alaban los grandes avances realizados durante estos años, se deberían también considerar como un
producto financiado y concebido para la guerra y que conformó una de las piezas más importantes
del entramado militar de la gran contienda. En el fondo, se trata de analizar las responsabilidades
sociales de las personas que trabajan con computadores. Este sería el título elegido por Edmund C.
Berkeley137, para un artículo de 1962 donde, con el amargo recuerdo de la Guerra Mundial aún en la
memoria y en plena tensión por la Guerra Fría, se discutía sobre el mismo tema. Espejo también de
estas discusiones, al estar intimamente
relacionada con Berkeley, venía siendo la
revista
norteamericana
Computers
and
Automation desde la publicación de una carta
en 1957 que decía:
“No tengo interés en computadores y
automatización excepto en el caso de que
puedan mejorar el destino humano. Es mi
opinión
que
aparte
de
las
notables
Laboratorio Nacional de los Álamos, Nuevo México. Uno de
los principales centros de investigación nuclear de la historia
y lugar de nacimiento de las bombas atómicas.
realizaciones encaminadas a ese fin, son en conjunto más una maldición para la humanidad que
una bendición. Creo que es una afrenta para la civilización que las grandes mentes – todas las
mentes – trabajen en dispositivos de bombas A, bombas H, y la casta de estúpidos misiles y otras
armas que son el fundamento de la economía moderna.”
Respecto al mismo tema otro lector escribiría: “¿Pero no hay ningún momento en que un
136 http://www-etsi2.ugr.es/alumnos/mlii/Colossus.htm
137
Licenciado en matemáticas por la Universidad de Harvard en 1930, Edmund Callis Berkeley trabajó para
Prudential Insurance Of America para luego pasar a la marina estadounidense con el inicio de la guerra en 1942. Allí,
estuvo a las órdenes de Howard Aiken en el desarrollo de Mark II. En 1946 volvería a Prudential y en 1947 ayudó a
formar la Association for Computer Machinery. En Prudential trabajaría en un proyecto dirigido a identificar los
“mayores peligros modernos”. La investigación le llevó a concluir que una guerra nuclear era el mayor peligro que la
humanidad afrontaba. El proyecto fue abortado completamente por el miedo de la compañía a dar una mala imagen, a
pesar de los deseos de Berkeley de seguir incluso en su tiempo libre.
Convencido de que debía hacer algo para prevenir una guerra nuclear fundaba Berkeley Associates en 1948.
Aparecían poco después sus primeros libros sobre computadores electrónicos para el público general (Giant Brains,
Machines That Think). Creo una publicación que se convertiría en poco tiempo (1951) en la revista Computers And
Automation. Berkeley ayudó al desarrollo de la revista al tiempo que organizaba cursos por correspondencia de
diferentes materias (matemáticas, computadoras, sistemas lógicos...). Su interés venía de la premisa de que ayudar al
hombre común a pensar lógicamente le llevaría a acabar con la amenaza nuclear.
Todos sus esfuerzos los financió escribiendo artículos, dando conferencias, trabajando a tiempo parcial como
consultor y sacando libros al mercado. Berkeley fue un miembro activo del movimiento pacifista hablando contra el
desarme y publicando artículos relacionados, además de mandar numerosas cartas a editores y miembros del gobierno.
En 1958 entró a formar parte del Committee for a Sane Nuclear Policy (SANE) y más tarde colaboró con el Comité de
Boston para el Desarme y la Paz. Berkeley moría en 1988.
Más información:
http://www.cbi.umn.edu/collections/inv/cbi000050.html
http://www.blinkenlights.com/classiccmp/berkeley/
76
ser humano que se respete a sí mismo deba decir «Yo no puedo hacer esto; no puedo estudiar esto,
investigar esto, publicar esto... No puedo tener nada que ver con esto; esto es horrible?”
Dos años despues del comienzo de la discusión, un informe de 1959 realizado por un comité
para el Council of the Association for Computing Machinery concluiría que el individuo “no puede
olvidar estas responsabilidades [sociales]... o delegarlas... o dejar de pensar cómo su
participación especial como persona que trabaja con computadores puede beneficiar o perjudicar
a la sociedad... o evitar decidir entre responsabilidades conflictivas.”
Entre tanto, las nuevas máquinas, como en el caso de la IBM 7090 de 1958, se publicitaban
incluyendo entre sus características sus buenas capacidades para “acelerar en gran medida el
diseño de misiles, aeromotores, reactores nucleares y aeronaves supersónicas”138.
Volviendo al artículo de Berkeley, antes mencionado, se puede apreciar que el autor deja
una puerta abierta a la legitimación de las investigaciones de carácter militar en lo que podría
describirse como casos de “defensa propia”, previamente razonados y sin incumplimiento de
obligaciones morales. Avisa también de los peligros de la llamada “defensa” aludiendo situaciones
la falsa alarma de Thule139. Aunque dicho ejemplo no sea más que una anécdota histórica
difícilmente repetible, el panorama actual no es para nada menos preocupador.
El mundo, tal y cómo funciona hoy, es una maraña de verdades manipuladas y mentiras
verificadas en la que las palabras ataque y defensa son indiscernibles. Un claro ejemplo lo tenemos
en el término recientemente acuñado “ataque preventivo”. Hoy, más que nunca, todo científico de
los computadores debería preguntarse sobre las consecuencias de su trabajo, sobre las
consecuencias que puede suponer para la sociedad en general.
Las guerras (ofensivas, defensivas, frías...) representan la esencia más baja del ser humano y
que son signo de una moral deficiente que, a diferencia de la tecnología, no avanza. La
investigación militar ofrece -y ofrecía ya en la Primera Generación- a los científicos posibilidades
de realizar y continuar líneas de investigación de carácter no necesariamente militar o cuyas
aplicaciones tienen diferentes usos. Aún así, los avances realizados en este marco no deberían ser
proezas de las que estar orgulloso. Albert Einstein, uno de los primeros promotores (aunque no
participante activo) del antes mencionado Proyecto Manhattan, comentaría tras la detonación sobre
Hiroshima, "debería quemarme los dedos con los que escribí aquella primera carta a Roosevelt" 140.
No se trata de arrebatar mérito alguno a ninguno de los investigadores que cargaron -y cargan- a sus
espaldas con el desarrollo de los computadores, sino de no olvidar que parte de sus trabajos
138http://www-03.ibm.com/ibm/history/exhibits/mainframe/mainframe_PP7090.html
139
En plena guerra fría (1960), un eco lunar fue interpretado por computadores de detección como un conjunto de
misiles rusos disparados hacia América, haciendo saltar todas las alarmas y movilizar tropas para una respuesta aérea
inmediata.
140 http://es.wikipedia.org/wiki/Proyecto_Manhattan
77
estuvieron dirigidos a fines terribles y que no dejarían por ello de unirse a los lastres que el
verdadero progreso de la humanidad arrastra en su historia.
78

3.2. El mercado de los computadores:
Las bases del pasado en la tecnología y el software modernos
Causas y consecuencias del auge del software libre
“Imaginemos al software de código abierto (Linux) y cerrado (Windows) como dos pelotas infladas. Una de
ellas, la de código abierto, es transparente, y la otra, no permite ver qué hay en el interior. Si alguien introdujo un
clavo que anda rebotando adentro de las pelotas, será mucho más fácil y rápido descubrirlo en la de código abierto.
La voz de alarma se corre, dejamos de rebotar la pelota y cambiamos a otra, sin que nos haya explotado en mitad del
juego. Las pocas personas que pueden ver a través de la pelota cerrada (con anteojos que sólo ellos poseen), o bien
deciden no avisar del clavo, porque piensan que no es grave, o avisan cuando ya es demasiado tarde. Por otro lado,
miles de expertos de todo el mundo pueden reparar una falla descubierta en Linux, y no únicamente los programadores
de una empresa específica, como sucede con Windows.”
Jerson Bejarano. Escritor nicaragüense.
La Segunda Generación de computadores supuso el inicio de una gran carrera: el mercado
de las nuevas tecnologías. Las reducciones de precio, consumo y volumen de los computadores
permitieron por primera vez una producción masiva destinada a ser vendida a un potencial grupo de
nuevos clientes con los que no se contaba en la primera generación. Las empresas podían ahora
beneficiarse de las posibilidades que ofrecían los nuevos y rápidos sistemas: control de inventarios,
de producción, predicciones, contabilidad general, tratamiento de datos, bases de datos,
teleoperaciones... por tanto, los nuevos equipos comenzaron a estar orientados hacia el uso
comercial de su potencial y no tanto científico o militar, aunque sin abandonar las últimas dos
vertientes. La venta de computadores comenzaba a ser un negocio altamente rentable.
Paralelamente en 1957 es acuñado por el estadístico John W. Tukey el término “Software”,
que puede definirse, en pocas palabras, como toda la información procesada por los computadores,
como los programas y los datos141. El desarrollo de las ideas de Von Neumann como la
secuenciación de las instrucciones en memoria y la ruptura de secuencia permitieron el desarrollo y
la simplificación de la programación que pasó del recableado literal al código fuente, al código
ensamblador y culminó en los lenguajes de alto nivel con los que crear programas se convertía en
una tarea sencilla y productiva. Con todo esto el negocio no sólo se podía realizar con la producción
de hardware, sino también de software que facilitara el uso de cada máquina.
Dos de las claves, y herramientas imprescindibles para hacer dinero fueron la ley de
141 http://en.wikipedia.org/wiki/Software
79
patentes, cuya principal característica será impedir que cualquier persona o compañía fabrique, use,
venda u ofrezca cierta invención de la que no es propietaria142, y las licencias143, una especie de
contrato entre el dueño y el cliente de cierto producto que limita e impone condiciones sobre el uso
que se puede dar al programa. Un aspecto característico de la ley de patentes son las aplicadas a
software. Las “patentes de software” son relativamente recientes (desarrolladas en los años 80 y
90) y su principal representante es Estados Unidos, el mayor productor de software del mundo por
otra parte. Muchos países no cuentan con dichas patentes y en Europa son más estrictas. Este tipo
de patentes se aplica a “aquellas invenciones cuya implementación implica el uso de un
computador, una red de computadores u otros aparatos programables, contando la invención con
una o más características llevadas a cabo a través de un programa de computador”144.
Estos sistemas han sido origen de grandes controversias en la historia de la computación,
pero también la clave para los inmensos beneficios obtenidos por las
grandes multinacionales de la tecnología de hoy. Por ejemplo, a principios
de los 90 IBM comenzó un agresivo programa de licencias que acabaría
generando 2 billones de dólares pocos años más tarde. En Enero de 2005
los dos grandes gigantes de la computación, Microsoft e IBM contaban ya
con 6130 y 3415 patentes emitidas y obtienen unos beneficios anuales de
Logo original IBM
$40 y $90 millones anuales respectivamente145.
Múltiples compañías estadounidenses han tenido como ocupación principal la compraventa
de patentes y licencias muchas veces rentabilizadas a través de demanda para todo el que viniera
usando dicha tecnología. Además, las restricciones impuestas por las patentes son origen constante
de querellas, lo que ha llevado en muchos casos a establecer acuerdos mutuos de no litigación como
los que Microsoft tiene con IBM, Sun Microsystems, Hewlett-Packard, Siemens, Cisco...146.
Sin embargo, el verdadero problema generado por las
proliferación desmesurada de patentes de software y licencias es
el yugo bajo el que se somete a cualquier creación. Y es que
todo aquel desarrollador de software independiente, no digamos
ya gratuito o de código abierto, se ve avasallado por un mundo
Antiguo logo de Micro-Soft
ya registrado y en el que, dado los pocos presupuestos con los
que se suele contar, no puede dar paso alguno. Por su parte, los
142 http://en.wikipedia.org/wiki/Patent
143 http://en.wikipedia.org/wiki/Software_license
144 http://en.wikipedia.org/wiki/Software_patents
145 http://en.wikipedia.org/wiki/MicroSoft
http://en.wikipedia.org/wiki/IBM
146 http://www.msnbc.msn.com/id/5578247/site/newsweek/
80
que pueden se ven obligados a patentar sus productos no para evitar que otros usen sus ideas, sino
para defenderse de posibles ataques, como es el caso de compañías como Oracle Corporation o Red
Hat que han de destinar parte de sus fondos al mantenimiento de patentes en vez de al desarrollo y
mejora del software.
Contra esta situación se han dado grandes pasos en los últimos años. El ejemplo más
característico ha sido el nacimiento de múltiples licencias gratuitas en las que se otorga al usuario la
libertad de modificar y redistribuir el software, en contra de otras
licencias como el Copyright. La licencia más popular de estas
características es la GNU General Public License, originada a partir
del desarrollo del sistema operativo GNU en 1989 y cuya última
versión data de 1991, aunque su uso se ha generalizado
recientemente con el auge del movimiento de software libre. La
mayoría de los programas libres se agrupan bajo la GPL. La Free
Software Foundation fue creada para aglutinar muchos de estos
Logo de la FSF
proyectos bajo la filosofía de impulsar los derechos de los usuarios a usar, estudiar, copiar,
modificar y redistribuir programas147.
Estas libertades tienen como precondición el acceso al código fuente del programa,
normalmente el secreto mejor guardado de todo software propietario. La clave del éxito de la GPL
es que se hereda, es decir, cada nuevo programa creado a partir de código bajo GPL deberá también
tener este tipo de licencia, de manera que se protege contra la adquisición por parte de cualquier
persona o entidad, representando la cara opuesta al mundo de las patentes y el Copyright.
Uno de los ejemplos más famosos y quizás el mayor representante del movimiento del
software libre es GNU/Linux y su Kernel (núcleo), sobre el que se basan las diferentes versiones del
sistema operativo. El proyecto se inició en 1991 y
ha continuado su desarrollo con las
contribuciones de miles de programadores hasta el día de hoy. Realmente, nadie debería ser
propietario o dueño de tal creación, nacida a partir de aportaciones libres y gratuitas, pero un
estudio de 2004 aseguraba que el kernel de Linux infringía 283 patentes148.
Amenazas como estas se ciernen sobre un tipo de movimiento definido que por encima de
todo quiere libertad. Se trata de una libertad entendida desde la igualdad en el plano tecnológico,
económico, social y cultural sobre un modelo que impone la diferenciación, la desigualdad, la
exclusión y la marginación de muchos colectivos y pueblos149.
Y es que se estima que la implantación en España del software libre y abierto en la
147 http://en.wikipedia.org/wiki/GNU_General_Public_License
148 http://www.msnbc.msn.com/id/5578247/site/newsweek/
149 http://www.rebelion.org/noticia.php?id=27816
81
administración pública150 supondría un ahorro de 3000 millones de euros en dos años. Es tal el
desarrollo alcanzado por este tipo de programas que llegan a superar al resto en seguridad,
completitud, facilidad de uso y, por supuesto, en precio. Muchos países y regiones han apoyado
activamente y/o adoptado el software libre en sus administraciones: Brasil, Venezuela, India, China,
Francia, Alemania, Finlandia, Noruega, Nigeria, Sudáfrica... y la lista crece. El software libre se
conforma como la vía más ágil y barata, y única en muchos casos, a la que los países menos
desarrollados pueden acceder para intentar alcanzar un grado de innovación tecnológica que les
permita ser equiparables al resto.
Por su parte, muchas de las grandes empresas (IBM, Oracle, Netscape, Sun Microsystems,
Hewlett Packard, Dell, Silicon Graphics...) han sabido aprovechar el auge del software libre para
sacar beneficio a través de los servicios y aplicaciones desarrolladas a partir de este tipo de
programas, aprovechando la colaboración gratuita de cientos de programadores y siempre
respetando la clausula de no apropiación. Como ejemplo, el programa Apache, libre, aunque
desarrollado con el apoyo de IBM, se encarga de administrar dos tercios de los servidores que
conforman el World Wide Web151.
Otras empresas como Microsoft continúan empeñadas en poner trabas y boicotear toda
actividad relacionada con el software libre. Con un control del 95 por 100 de los ordenadores
personales a nivel mundial152, es normal que la aparición de un sistema más estable y versátil como
Linux, al alcance de cualquiera y con un entorno (KDE) más atractivo que Windows cause cierta
irritación. El gigante ha optado por patentar todo lo patentable (como es el caso del scroll del ratón
o el doble click) aunque todavía no ha lanzado ninguna ofensiva legal masiva, si bien no sería algo
inhóspito en absoluto.
Está en manos de las nuevas generaciones de programadores que la tendencia a crear un
software libre y no monopolístico siga al alza. Como potenciador del desarrollo, este tipo de
software dota a la tarea del programador de un aspecto más social al tiempo que impulsa un modelo
cuyo principal objetivo es el progreso, en vez de la acumulación de dinero por parte de unas pocas
compañías tal y como la industria del software funciona actualmente. Por otro lado, la demanda de
programas seguirá existiendo ya que la mayoría se elaboran a medida por lo que no faltará trabajo
para los informáticos. Con todo, la filosofía del software libre se recoge en una sola frase:
“Software libre para una sociedad libre”
150La propuesta fue rechazada en el Congreso de los Diputados el 15 de Diciembre de 2005 por los grupos
mayoritarios.
151 http://www.rebelion.org/noticia.php?id=10741
152 http://www.rebelion.org/cibercensura/stallman2230403.htm
82

Documentos relacionados