Descargar

Historia de la computación (página 2)


Partes: 1, 2, 3, 4

Partes: 1, , 3, 4

3.- Historia de los Computadores hasta la 2º Guerra Mundial

Desde que el hombre tuvo la necesidad de representar cantidades, comenzó una búsqueda para poder resolver cálculos mas rápidamente y con mayor precisión, esta necesidad se hace cada vez mas imperiosa debido al crecimiento de situaciones que necesitaban una respuesta rápida y exacta.

Si bien los cambios fueron en un principio muy esporádicos, esos tiempos se iban acortando a medida que el hombre crecía en conocimientos de todo tipo, entonces crea elementos que le ayudan a ejecutar tareas de cálculos mucho más rápidas.

Leonardo Da Vencí (1459 – 1519) desarrollo un sistema de cálculo mecánico, pero solo fue diseñado en papel, jamás se construyo el modelo.

Luego de varios años Blaise Pascal (1623 – 1662), construyo una maquina sumadora accionada por engranajes, para poder aliviar el trabajo de los recaudadores de impuestos (su padre era el motivo real de la máquina, ya que era recaudador).

Consiste en dos contadores con engranajes superpuestos, el de arriba cumplía la función de acumular el resultado y el contador inferior servia para ingresar los datos a sumar.

La suma de dos números A+B se realizaba en primer lugar poniendo todas las rueditas en cero, girándolas hacia la derecha. Echo esto se comenzaba agirar las rueditas hacia la izquierda, así se tomaba el numero "A" que se repetía en el acumulador, nuevamente se giraban las rueditas hacia la derecha hasta hacer cero, este sentido no afectaba al acumulador, el cual marcaba por ahora el numero "A"; girando las rueditas nuevamente a la izquierda formaba el numero "B".

El resultado se obtenía cuando se giraban hacia la izquierda las rueditas movían también las del acumulador, esto hacia que se produjera el acarreo y quedaba el resultado de la suma escrito en el acumulador.

Si el numero "A" es 1515 y el numero "B" es 1819, se ingresaba primero el numero "A" (1515), este quedaba en el acumulador (las rueditas tanto del acumulador como las que ingresaba los datos tenían marcado los números del cero al nueve), luego la unidad del numero "B" que en este caso seria el "9", se mueve entonces nueve posiciones la unidad del acumulador, que estaba en el 5 pasa por el cero moviendo la ruedita de la decena del acumulador una posiciona, por lo tanto tenemos en la unidad un "4" y en la decena el "2".

Luego ingresamos el numero de la decena para "B" siendo el "1" , lo que hace mover de la posición "2" en la que se encontraba a la "3" en el acumulador, pero esta suma no tiene acarreo por lo que no se mueve la centena del acumulador, ingresamos en este caso la centena del numero "B" que en es el "8" y por consiguiente se mueve ocho posiciones la centena del acumulador.

La cual esta en "5" y pasa al "3", pero antes mueve una posición la unidad de mil debido al acarreo que produce este movimiento, por lo que nos quedaría en la unidad de mil en el acumulador el numero "2" , pero todabia como ultimo ingreso nos queda la unidad de mil del numero "B" que es el numero "1", lo que inmediatamente se refleja como el "3" en la unidad de mil del acumulador, en definitiva el resultado de la suma de A+B es igual 3334.

Esta explicación nos permite hacer un parangón con el modelo de VON NEUMAN el cual reflota la idea de colocar en memoria los resultados para poder realizar con mayor rapidez los cálculos.

La resta se hacia por el complemento a la base, o sea, se sumaba el minuendo de la resta, a la diferencia entre el numero mayor mas próximo y de un digito mas que el minuendo y el sustraendo de la resta original, un ejemplo seria: 750 – 56 (resta original) => 1000 – 56 = 944, por lo tanto se sumaba 750 + 944 = 1694, al resultado se desecha el numero uno de la izquierda y se tomaban los números restantes como el valor de la resta: "750 – 56 = 694",desde ya la operatoria es igual a la detallada anteriormente.

El problema de esta máquina, era su lentitud, comparada con el cálculo manual de la época y además de su costo tan elevado. La Pascalina fue mejorada por Gottfried Wilhelm Leibniz (1646 – 1716), desarrollo una maquina que además de sumar y restar, también multiplicaba, dividía y hallaba la raíz cuadrada. Su aporte fundamental para el funcionamiento de los computadores de la actualidad, fue sin duda el Sistema Binario.

Con la invención de las tarjetas perforadas para los telares automáticos, que realiza Joseph Marie Jacquard (1752 – 1834) hace un aporte para la programación en 1808.

El observo las tareas repetitivas que requería la producción de telas, entonces crea la tarjeta perforada para guardar las tareas repetitivas, con estas eran detectadas mecánicamente, produciendo un desplazamiento justo de las guías del hilado, por tal causa podía solamente un operario controlar el telar y realizar difíciles entramados de telas, lo que devino en grandes problemas que produjo despidos debido a que ya no se necesitaba tantos operarios para controlar un telar.

Entre 1823 y 1832 es cuando el matemático ingles Charles Babbage (1792-1871), elaboro los principios de la computadora digital moderna, él y la condesa Ada Byron (Hija de Lord Byron, poeta ingles), creando dos maquinas de calcular, la primera era la denominada "Maquina de las Diferencias" y la siguiente la "Máquina Analítica.

La "Máquina Diferencia" tenia contadores mecánicos (tipo rueda), cada contador almacenaba un digito decimal, los registros ingresados se sumaban con el principio mecánico de "La Pascalina" (su funcionamiento fue descrito en este capitulo), los resultados obtenidos s imprimían en una chapa que era perforada por agujas de acero.

Esta maquina fue pensada para ecuaciones de 2º grado con 8 cifras decimales, que se utilizaba para construir tablas, es por ello que el gobierno ingles subvenciona la instigación y construcción de la misma, ya que le urgía tener las tablas de navegación, que por aquel entonces eran de un uso muy frecuente para la comercialización de los productos.

Luego logra nuevamente conseguir fondos para construir la segunda maquina que la llamaría "Má

quina Analítica", la que nunca pudo construir físicamente ya que la precisión que se necesitaba era tan importante, que los materiales con los que se contaba en ese tiempo no servían.

Pero si termino su diseño en papel, el objetivo de la maquina era poder realizar cualquier tipo de calculo, era una maquina de propósito general.

La "Máquina Analítica" esta compuesta de cinco partes:

a.- Dispositivo de Entrada: Tarjeta Perforada.

b.- Unidad de Almacenamiento: Un tablero donde se registraban los dígitos.

c.- Procesador: Dispositivo mecánico.

d.- Unidad de Control: Dispositivo en forma de cilindro con filamentos y ejes.

e.- Dispositivos de salida: Chapa perforada preparada para la imprenta.

Las cinco partes detalladas se encuentran en las computadoras actuales, es por ello que a este inventor inglés se lo denomina "El padre de la computación".

En 1890 Hermann Hollerith (1860-1929), invento un método de codificar datos en tarjetas mediante perforaciones donde se inscriben los datos numéricos o alfabéticos. Este sistema sirvió para trabajos estadísticos, como el censo de ese mismo año.

La máquina de Hollerith leía los orificios de la tarjeta (información), consistía en un alambre que pasaba a trabes de las perforaciones dentro de una copa de mercurio por debajo de la tarjeta, cerrando el circuito eléctrico.

Esto ejecutaba los contactares mecánicos y ordenaba los recipientes de las tarjetas tabulando así la información.

Hollerith, luego de tres años (1893), pudo gracias a la maquina que diseño, terminar con el censo, ya que si debía que hacerlo manualmente terminaba en el año 1900, cuando se tenia que realizar nuevamente el censo.

Funda en 1896 la empresa Tabulating Machina Company, de venta de tarjetas y maquinas la cual mas tarde se funcionaria con IBM (International Business Machines Corporation).

La empresa formada de la fusión fue llamada Computing Tabulating Recording Corporation (CTR), pero el 14 de febrero de 1924 CTR cambió su nombre a International Business Machines Corporation (IBM).

Las empresas originarias de CTR fabricaban una amplia gama de productos, desde sistemas para el control de empleados hasta equipos automatizados para el corte de carne.

Además fabricaban equipos para la gestión de tarjetas perforadas, que serían un elemento clave de los futuros computadoras. Con el tiempo, CTR se centraría en estos equipos y dejaría a un lado la fabricación del resto de productos.

El advenimiento de la válvula electrónica en 1907, inventada por Lee DE FOREST (1873-1961), la llamó audión, y que hoy el tríodo. Este tubo, revolucionó totalmente la electrónica.

El audión cambia la construcción de las maquinas de calcular que hasta ese momento eran electromecánica, pasaron a tener una mas electrónica, lo que implica que el desarrollo se torna mas vertiginoso ya que estos elementos le preemitían mejorar los procesos de calculo, haciéndolos mas rápidos y con mayor capacidad de resolución.

Esto promueve desarrollos en paralélelo en Europa (Inglaterra y Alemania) y América (EEUU), siendo todos independientes entre si, pero estos proyectos tendían es su mayoría a poder procesar información con mayor rapidez y además procesando grandes cantidades de información en forma mas eficientemente posible.

En 1939 la primera computadora electrónica digital se desarrolló en la Universidad del Estado de Iowa por Dr. John V. Atanasoff y Clifford Baya. El prototipo, llamó el Atanasoff Berry Computer (ABC), fue la primera máquina en hacer uso de tubos al vacío como los circuitos de la lógica.

Entre 1936 y 1941 Konrad Zuse (1910 – 1957), construye una computadora binaria programable, el modelo Z3 tenia un programa de control que hacia uso de los binarios, pero fue destruida en 1944 por la guerra, su contribución seria en realidad el "Plankalkul" (Plan de Calculo), siendo este considerado el primer lenguaje de programación algorítmica.

El "Z-3," como se llamó, usaba retardos electromagnéticos y era programada usando películas agujereadas, su sucesor, el "Z-4," fue contrabandeado fuera de Berlín cuando Zuse escapo de los Nazis en Marzo de 1945.

El gobierno ingles debido a su urgencia que le provocaba la 2º Guerra Mundial, apura el desarrollo de sistemas de computación que venían gestándose con anterioridad, esta responsabilidad recae sobre Alan Turíng (1912-1954), y ayudado por John Von Neumann (1903-1957), construyeron la "Collosus", una enorme computadora con el propósito de poder descifrar los mensajes por radio del ejercito alemán. Se desarrolló como una contraparte al Enigma, La máquina codificación de Alemania.

El Coloso tenía cinco procesadores, cada uno podría operar a 5,000 caracteres por segundo. Por usar registros especiales y un reloj interior, los procesadores podrían operar en paralelo (simultáneamente) que esta le daba al Coloso una rapidez promedio de 25,000 caracteres por segundo.

Esta rapidez alta era esencial en el esfuerzo del desciframiento de códigos durante la guerra. El plan del Coloso era quedar como información secreta hasta muchos años después de la guerra.

Enigma, La máquina codificación de Alemania. Entre sus diseñadores estaban Alan M. Turing, diseñador de la Máquina Turing, quien había escapado de los Nazis unos años antes.

Durante la Segunda Guerra Mundial, la subsidiaria alemana de IBM, Dehomag, suministró al régimen nazi perforadoras de tarjetas y equipos relacionados. Hay quien sostiene que el Holocausto nazi no hubiera sido posible sin dichos equipos, mientras que IBM afirma que no tenía control sobre Dehomag durante la Segunda Guerra Mundial. Por estos hechos, IBM tienen en la actualidad una demanda pendiente para esclarecer lo sucedido:

"En respuesta a las alegaciones publicadas en el libro IBM and the Holocaust, así como en una demanda legal en contra de la compañía, IBM fijó su posición frente al tema en un comunicado de prensa que aquí reproducimos.

En febrero del año 2001, IBM fijaba su posición frente al libro del autor Edwin Black, IBM and the Holocaust y de una demanda que en forma simultanea habia sido presentada en contra del gigante azul. Dicha nota de prensa daba inicio al plantear que "IBM considera aberrantes las atrocidades cometidas por el régimen Nazi y condena cualquier acción que pudiera contribuir a estos indescriptible actos. El uso de los equipos Hollerith por los Nazi ha sido conocido por décadas y la subsidiaria de IBM Alemania –Deutsche Hollerith Maschinen GmbH (Dehomag)– durante los años 1930 suministró equipos Hollerith.

Así como sucedió con cientos de compañías extranjeras que hicieron negocios en Alemania durante ese tiempo, Dehomag estuvo bajo el control de las autoridades Nazi antes y durante la II Guerra Mundial. Es también ampliamente conocido que Thomas J. Watson Sr. recibió y posteriormente repudio y devolvió una medalla que le fue presentada por el gobierno Alemán, en reconocimiento de su rol en las relaciones económicas globales. Estos hechos bien conocidos, aparentan ser la base primordial de estas recientes alegaciones." El comunicado de prensa continuaba: "IBM no tiene mucha información o registros acerca de Dehomag. La mayoría de los documentos fueron destruidos o extraviados durante la guerra. La totalidad de los documentos que perduraron fueron colocados a la disposición del dominio público hace ya un tiempo, de manera de asistir a la investigación y al estudio histórico.

Estos documentos fueron transferidos desde las oficinas de la compañía en Nueva York y en Alemania, a la Universidad de Nueva York y Hohenheim University en Stuttgart, Alemania – – dos respetadas instituciones que cuentan con las credenciales académicas en esta área. En la actualidad, expertos académicos independientes en estas universidades son los custodios y analistas de estos registros y supervisan el acceso de investigadores e historiadores a estos documentos." En esta primera nota de prensa la empresa aseguraba que "IBM continua interesada en cualquier nueva información que contribuya al entendimiento de esta trágica era y espera que los estudiosos e historiadores apropiados puedan verificar la misma. Posteriormente, en marzo del año 2002, IBM incorporó nuevas informaciones al comunicado original donde se planteaba que desde la publicación del libro, las investigaciones y conclusiones a las que había llegado el autor, habían sido cuestionadas.

Una crítica publicada en The New York Times, aseguraba que el caso estaba extensamente documentado y sin embargo no demostraba que IBM tuviera responsabilidad alguna en las atrocidades que habían sido llevadas a cabo. Asimismo, otras evaluaciones realizadas al libro por un experto académico aseguraban que las acusaciones eran "inverosimiles" y el libro "deplorable". "Adicionalmente, –continua el comunicado– el Sr. Black asevera que IBM ha retenido materiales relacionados con esta época en sus archivos. No hay fundamento en tales aseveraciones y deploramos el uso de dichas afirmaciones para vender libros." Para finalizar, el segundo comunicado expone que "IBM continuará cooperando y atendiendo a las investigaciones legítimas. IBM ha entregado los archivos relacionados a universidades acreditadas y el Sr. Black esta al tanto de ello, a pesar de asegurar lo contrario. La compañía ha hecho enfasis en que si algún documento relacionado con esta epoca fuese encontrado, IBM los pondría a disposición de las partes interesadas." Según aparece en el primer comunicado, la demanda fue desestimada.."

También durante la Segunda Guerra Mundial, IBM comenzó a investigar en el campo de la informática. En 1944 terminó de construir la computadora Automatic Sequence Controlled Calculator (Calculadora Controlada de Secuencia Automática), también conocido Mark I. El Mark I fue la primera máquina capaz de ejecutar cálculos complejos automáticamente, y estaba basada en interruptores electromecánicos.

El 9 de septiembre de 1945, a las 3: 45 pm, el primer caso real de un error que causa un malfuncionamiento en la computadora fue documentado por los diseñadores del Mark II. El Mark II, sucesor al ASCC Mark que se construyó en 1944, experimentó un falló. Cuando los investigadores abrieron caja, hallaron una polilla. Se piensa ser el origen del uso del término "bug" que significa insecto o polilla en inglés.

Grace Murray Hopper (1906-1992), oficial de la Marina estadounidense, matemática y precursora en el proceso de datos. Fue destinada al laboratorio de cálculo Howard Aiken en la Universidad de Harvard, donde trabajó como programadora en el Mark I (1944), la primera computadora a gran escala de Estados Unidos, precursora de los computadoras o computadoras electrónicas.

Muy conocida por su trabajo en la Eckert-Mauchly Computer Corporation, durante las décadas de 1950 y 1960 Hopper se acreditó por el invento del primer compilador (1952), un programa que traduce las instrucciones con palabras en inglés al lenguaje máquina de una computadora.

Ayudó a desarrollar el lenguaje de programación Flow-Matic (1957) y el lenguaje de programación COBOL (1959-1961), orientado a los negocios para UNIVAC, la primera computadora electrónica comercial.

4.- Modelo de Von Neumann

En primer lugar describiremos brevemente la historia de John Louis Von Neumann (1903-1957) el cual es considerado el gran genio de la computación.

Este científico matemático ocupa un lugar en la historia debido al los importantes aportes realizados a los computadores de primera generación.

Nació en Budapest, Hungría, se recibió de ingeniero en Química en 1925 entre Berlín y Zurich, terminados estos estudios, volcó todos sus esfuerzos al estudio de las matemáticas.

En 1943 fue cuando se intereso por primera vez en la computación tras un viaje a Inglaterra le comento a Voblen que necesitaba una maquina que se encargara de los cálculos mas complejos. Aunque comenzaron con IBM no le satisfizo para el Proyecto Manhattan.

Von Neumann comenzó a buscar proyectos de otros lados y en 1944 solo había algunos proyectos, pero solo se contacto con tres de ellos, Harward Aiken en Harward, George Stribitz en Bell y Ian Schiltt en la universidad de Columbia, estubo en contactos con ellos sin involucrarse totalmente con esos proyectos, como si lo hace con ENIAC en la cual esta bajaban William Mauchly y John Presper Eckert.

El modelo de Von Neumann esta compuesto por la unidad central de procesamiento en la cual se encuentra la unidad de control y la unidad aritmética lógica y dentro de esta ultima se encuentra el acumulador, además tiene una memoria y las unidades de entrada y salida.

Su funcionamiento es de la siguiente forma: los datos ingresan al procesador por medios de la unidad de entrada se almacena y la información se obtiene luego del proceso, que manda el programa empleando la unidad de control a través de la unidad de salida, o sea, el dato entra a la unidad central y lo toma la unidad de control, que define que se debe hacer, si es un calculo se lo envía a la UAL (Unidad Aritmética lógica) esta procesa los datos obteniendo su resultado, luego lo vuelve a pasar a la unidad de control, esta la envía a la memoria y luego se muestra por pantalla.

Estas son las características principales del Modelo de Von Neumann, quien proporción a los científicos de aquellos entonces la idea de acumular el resultado en la memoria para poderlo reutilizar en caso de ser necesario.

Esta idea revoluciona el mundo de la informática debido a que se podía agregar un lenguaje de programación donde le daría a la computadora una autonomía mucho mayor.

Hoy en día, la mayoría de las computadoras están basadas en esta arquitectura, aunque pueden incluir otros dispositivos adicionales, (por ejemplo, para gestionar las interrupciones de dispositivos externos como ratón, teclado, etc.).

5.- Generación de Computadores y Desarrollo del Software

Para comenzar, veremos que el común denominador por los menos en las primeras cuatro Generaciones de Computadores es por el desarrollo histórico del hardware. Las generaciones de computadoras se pueden dividir en cinco, de las cuales detallaremos a continuación:

a.- Primera Generación de Computadores b.- Segunda Generación de Computadores c.- Tercera Generación de Computadores d.- Cuarta Generación de Computadores e.- Quinta Generación de Computadores

a.- Primera Generación de Computadores

En la primera generación de computadores, eran enormes salas donde se encontraba la maquina que median al medios en algún caso 15 m, de imaginarnos no nos caeberia en la cabeza si quiera.

Comienza en los años 50 hasta unos diez años después, y en la cual el alma de estos equipos era a base de bulbos o tubos de vacío, y la comunicación era en términos de nivel mas bajo que puede existir, que se conoce como lenguaje de máquina. Estas máquinas eran así:

  • Estaban construidas con electrónica de bulbos
  • Se programaban en lenguaje de máquina

Las computadoras de la primera Generación emplearon bulbos para procesar información. Los operadores ingresaban los datos y programas en código especial por medio de tarjetas perforadas.

El almacenamiento interno se lograba con un tambor que giraba rápidamente, sobre el cual un dispositivo de lectura/escritura colocaba marcas magnéticas. Esas computadoras de bulbos eran mucho más grandes y generaban más calor que los modelos contemporáneos.

Un ejemplo muy claro es el computador ENIAC de 1947 fue la primera en que su diseño era totalmente electrónico contaba con 18.000 tubos al vació, los cuales terminaban siendo siempre una dificulta ya que legrado de averías de los mismos era muy alto, casi por calculo había que estar cambiando un tubo de ellos.

Eckert y Mauchly contribuyeron al desarrollo de computadoras de la 1era Generación formando una Cia. privada y construyendo UNIVAC I, que el Comité del censó utilizó para evaluar el de 1950.

La IBM tenía el monopolio de los equipos de procesamiento de datos basándose en tarjetas perforadas y estaba teniendo un gran auge en productos como rebanadores de carne, básculas para comestibles, relojes y otros artículos; sin embargo no había logrado el contrato para el Censo de 1950.

Comenzó entonces a construir computadoras electrónicas y su primera entrada fue con la IBM 701 en 1953. Después de un lento pero excitante comienzo la IBM 701 se convirtió en un producto comercialmente viable.

Sin embargo en 1954 fue introducido el modelo IBM 650, el cual es la razón por la que IBM disfruta hoy de una gran parte del mercado de las computadoras. La administración de la IBM asumió un gran riesgo y estimó una venta de 50 computadoras.

Este número era mayor que la cantidad de computadoras instaladas en esa época en E.U. De hecho la IBM instaló 1000 computadoras. El resto es historia.

Aunque caras y de uso limitado las computadoras fueron aceptadas rápidamente por las Compañías privadas y de Gobierno. A la mitad de los años 50 IBM y Remington Rand se consolidaban como líderes en la fabricación de computadoras.

b.- Segunda Generación de Computadores

En la segunda generación comienza con el advenimiento del transistor esta va desde finales de los años 50 que los transistores reemplazaron a los bulbos en los circuitos de las computadoras.

Las computadoras de la segunda generación ya no tienen bulbos, sino transistores su tamaño pasa a ser mas reducido que sus antecesora con válvulas y consumen menos electricidad que las anteriores, la forma de comunicación con estas nuevas computadoras es mediante lenguajes mas avanzados que el lenguaje de máquina, y que reciben el nombre de "lenguajes de alto nivel" o lenguajes de programación.

Las características de las computadoras de la segunda generación son entonces:

  • Construidas con electrónica de transistores
  • Programación en lenguajes de alto nivel

En esta generación las computadoras al ser reducidas de tamaño el costo era menor. Comienzan entonces aparecer muchas empresas y las computadoras eran muy avanzadas.

El invento del transistor hizo posible una nueva generación de computadoras, más rápidas, más pequeñas y con menores necesidades de ventilación. Sin embargo el costo seguia siendo una porción significativa del presupuesto de una Compañía.

Las computadoras de la segunda generación también utilizaban redes de núcleos magnéticos en lugar de tambores giratorios para el almacenamiento primario. Estos núcleos contenían pequeños anillos de material magnético, enlazados entre sí, en los cuales podían almacenarse datos e instrucciones.

Algunas de estas computadoras se programaban con cintas perforadas y otras por medio de un cableado en un tablero, los programas propiamente dichos eran realizados por expertos: analistas, diseñadores, programadores y operadores que se manejaban y funcionaban como un verdadero equipo para la resolución de los problemas.

Los programas escritos para una computadora podían transferirse a otra con un mínimo esfuerzo. El escribir un programa ya no requería entender plenamente el hardware de la computación.

Las computadoras de esa generación fueron la Philco 212 (Esta compañía se retira del mercado 1964) y la UNIVAC M460, la Control Data Corporaions 1604, luego vino la 3000, la IBM desarrollo mejor el 709 y vendió en el mercado la 7090 y la National Cash Rigistre NCR 315.

Los programas de computadoras también mejoraron. El COBOL desarrollado durante la 1era generación estaba ya disponible comercialmente. Los programas escritos para una computadora podían transferirse a otra con un mínimo esfuerzo.

El escribir un programa ya no requería entender plenamente el hardware de la computación. Las computadoras de la 2da Generación eran sustancialmente más pequeñas y rápidas que las de bulbos, y se usaban para nuevas aplicaciones, como en los sistemas para reservación en líneas aéreas, control de tráfico aéreo y simulaciones para uso general.

Las empresas comenzaron a aplicar las computadoras a tareas de almacenamiento de registros, como manejo de inventarios, nómina y contabilidad.

La marina de E.U. utilizó las computadoras de la Segunda Generación para crear el primer simulador de vuelo. (Whirlwind I). HoneyWell se colocó como el primer competidor durante la segunda generación de computadoras. Burroughs, Univac, NCR, CDC, HoneyWell, los más grandes competidores de IBM durante los 60s se conocieron como el grupo BUNCH (siglas).

c.- Tercera Generación de Computadores

En la tercera generación de computadoras su característica fundamental es que su electrónica es basada en Circuitos Integrados y además su manejo es por medio de los lenguajes de control de los sistemas operativos.

La IBM 360 una de las primeras computadoras comerciales que usó circuitos integrados, podía realizar tanto análisis numéricos como administración ó procesamiento de archivos.

La IBM produce la serie 360 que utilizaba técnicas especiales del procesador, unidades de cinta de nueve canales, paquetes de discos magnéticos y otras características que ahora son estándares (no todos los modelos usaban estas técnicas, sino que estaba dividido por aplicaciones).

El sistema operativo de la serie 360, se llamó OS que contaba con varias configuraciones, incluía un conjunto de técnicas de manejo de memoria y del procesador que pronto se convirtieron en estándares.

Los clientes podían escalar sus sistemas 360 a modelos IBM de mayor tamaño y podían todavía correr sus programas actuales. Las computadoras trabajaban a tal velocidad que proporcionaban la capacidad de correr más de un programa de manera simultánea (multiprogramación), por ejemplo la computadora podía estar calculando la nomina y aceptando pedidos al mismo tiempo.

Minicomputadoras, con la introducción del modelo 360 IBM acaparó el 70% del mercado, para evitar competir directamente con IBM la empresa Digital Equipment Corporation DEC redirigió sus esfuerzos hacia computadoras pequeñas.

Mucho menos costosas de comprar y de operar que las computadoras grandes, las minicomputadoras se desarrollaron durante la segunda generación pero alcanzaron su mayor auge entre 1960 y 70.

En 1964 CDC introdujo la serie 6000 con la computadora 6600 que se consideró durante algunos años como la más rápida.

En los ‘70, la IBM produce la serie 370. UNIVAC compite son los modelos 1108 y 1110, máquinas en gran escala; mientras que CDC produce su serie 7000 con el modelo 7600. Estas computadoras se caracterizan por ser muy potentes y veloces.

A finales de esta década la IBM de su serie 370 produce los modelos 3031, 3033, 4341. Burroughs con su serie 6000 produce los modelos 6500 y 6700 de avanzado diseño, que se reemplazaron por su serie 7000. Honey – Well participa con su computadora DPS con varios modelos.

d.- Cuarta Generación de Computadores

En la cuarta generación aparecen los microprocesadores siendo un avance importante en microelectrónica, son circuitos integrados de alta densidad y con una velocidad impresionante.

Las microcomputadoras con base en estos circuitos son extremadamente pequeñas y baratas, por lo que su uso se extiende al mercado industrial. Así nacen las computadoras personales que han adquirido proporciones enormes y que han influido en la sociedad en general.

En 1976 Steve Wozniak y Steve Jobs inventan la primera microcomputadora de uso masivo y más tarde forman la compañía conocida como la Apple que fue la segunda compañía más grande del mundo, antecedida tan solo por IBM; y esta por su parte es aún de las cinco compañías más grandes del mundo.

Con el surgimiento de las computadoras personales, el software y los sistemas que con ellas de manejan han tenido un considerable avance, porque han hecho más interactiva la comunicación con el usuario. Surgen otras aplicaciones como los procesadores de palabra, las hojas electrónicas de cálculo, paquetes gráficos, etc.

También las industrias del Software de las computadoras personales crece con gran rapidez, Gary Kildall y William Gates se dedicaron durante años a la creación de sistemas operativos y métodos para lograr una utilización sencilla de las microcomputadoras (son los creadores de CP/M y de los productos de Microsoft).

Dos mejoras en la tecnología de las computadoras marcan el inicio de la cuarta generación: el reemplazo de las memorias con núcleos magnéticos, por las de chips de silicio y la colocación de muchos más componentes en un Chip: producto de la microminiaturización de los circuitos electrónicos. El tamaño reducido del microprocesador de chips hizo posible la creación de las computadoras personales.

Hoy en día las tecnologías LSI (Integración a gran escala) y VLSI (integración a muy gran escala) permiten que miles de componentes electrónicos se almacenan en un chip.

e.- Quinta Generación de Computadores

En la quinta generación se hace acelerada la marcha de la microelectrónica, la sociedad industrial se ha dado a la tarea de poner también a esa altura el desarrollo del software y los sistemas con que se manejan las computadoras.

Surge la competencia internacional por el dominio del mercado de la computación, en la que se perfilan dos líderes que, sin embargo, no han podido alcanzar el nivel que se desea: la capacidad de comunicarse con la computadora en un lenguaje más cotidiano y no a través de códigos o lenguajes de control especializados.

Japón lanzó en 1983 el llamado "programa de la quinta generación de computadoras", con los objetivos explícitos de producir máquinas con innovaciones reales en los criterios mencionados.

Y en los Estados Unidos ya está en actividad un programa en desarrollo que persigue objetivos semejantes, que pueden resumirse de la siguiente manera:

Procesamiento en paralelo mediante arquitecturas y diseños especiales y circuitos de gran velocidad.

Manejo de lenguaje natural y sistemas de inteligencia artificial.

El futuro previsible de la computación es muy interesante, y se puede esperar que esta ciencia siga siendo objeto de atención prioritaria de gobiernos y de la sociedad en conjunto.

Características de las Generaciones de Computadoras respecto de software

GENERACIÓN CERO (Hasta 1951)

ARQUITECTURA: Mecánica APLICACIÓN: Matemáticas RED: – ALMACENAMIENTOS: – LENGUAJE PROGRAMACIÓN: –

GENERACIÓN PRIMERA (1951 a 1958)

ARQUITECTURA: Bulbos APLICACIÓN: Matemáticas Científicas Bélicas RED: – ALMACENAMIENTOS: Cintas magnéticas – Tarjetas LENGUAJE PROGRAMACIÓN: Fortran

GENERACIÓN SEGUNDA (1959 a 1964)

ARQUITECTURA: Transistores APLICACIÓN: Teleproceso RED: WAN ALMACENAMIENTOS: Discos magnéticos LENGUAJE PROGRAMACIÓN: Cobol, Algol, Lisp, Pl/1

GENERACIÓN TERCERA (1965 a 1971)

ARQUITECTURA: Circuitos Integrados APLICACIÓN: Auxiliar en la Empresa RED: LAN ALMACENAMIENTOS: Floppy`s LENGUAJE PROGRAMACIÓN: Basic, Logo, Pascal.

GENERACIÓN CUARTA (1972 a 1983)

ARQUITECTURA: Microprocesador APLICACIÓN: Necesidad de la Empresa RED: Man – Internet – Intranet ALMACENAMIENTOS: Floppy`S – Cd-Rom – Dvd LENGUAJE PROGRAMACIÓN: C, C++, Ada, Modula-2

GENERACIÓN QUINTA (1983 a la fecha)

ARQUITECTURA: Microelectrónica APLICACIÓN: Manejo de lenguaje natural y sistemas de inteligencia artificial. RED: MAN – INTERNET – INTRANET ALMACENAMIENTOS: Floppy`s – CD-ROM – DVD LENGUAJE PROGRAMACIÓN: Java, C#

 

6.- Lenguajes de Programación

Lenguajes de bajo nivel:

Utilizan códigos muy cercanos a los de la máquina, lo que hace posible la elaboración de programas muy potentes y rápidos, pero son de difícil aprendizaje.

Lenguajes de alto nivel:

El programador escribe su programa en alguno de estos lenguajes (Pascal, Cobol, Basic, Fortran, C++ ) mediante secuencias de instrucciones.

Antes de ejecutar el programa la computadora lo traduce a código máquina de una sola vez (lenguajes compiladores) o interpretándolo instrucción por instrucción (lenguajes intérpretes).

Los lenguajes de alto nivel: un programa de computadora, es una colección de instrucciones que, al ser ejecutadas por el CPU de una máquina, llevan a cabo una tarea ó función específica.

Este conjunto de instrucciones que forman los programas son almacenados en archivos denomina dos archivos ejecutables puesto que, al teclear su nombre (o hacer clic sobre el icono que los identifica) logras que la computadora los cargue y corra, o ejecute las instrucciones del archivo.

El contenido de un archivo ejecutable no puede ser entendido por el usuario, ya que no está hecho para que la gente lo lea, sino para que la computadora sea quien lo lea.

Los archivos de programas ejecutables contienen el código máquina, que la CPU identifica como sus instrucciones. Son lo que conocemos como Programas Objeto.

Dado que sería muy difícil que los programadores crearan programas directamente en código de máquina, usan lenguajes más fáciles de leer, escribir y entender para la gente.

El programador teclea instrucciones en un editor, que es un programa parecido a un simple procesador de palabras, estas instrucciones son almacenadas en archivos denominados programas fuentes (código fuente).

Si los programadores necesitan hacer cambios al programa posteriormente vuelven a correr el editor y cargan el programa fuente para modificarlo.

El proceso de conversión de programas fuente a programas objeto se realiza mediante un programa denominado compilador. El compilador toma un programa fuente y lo traduce a programa objeto y almacena este último en otro archivo.

Programa fuente:

Es el programa escrito en alguno de los lenguajes y que no ha sido traducido al lenguaje de la maquina, es decir el programa que no está en código de máquina y que por lo tanto no puede ser ejecutable.

Programa objeto:

Es aquel programa que se encuentra en lenguaje máquina y que ya es ejecutable por esta.

Programación orientada a objetos:

La programación orientada a objetos no es un concepto nuevo, sus inicios y técnicas de programación se iniciaron a principios de los 70. Se puede definir programación orientada a objetos (OOPS) como una técnica de programación que utiliza objetos como bloque esencial de construcción,es un tipo de programación más cercana al razonamiento humano.

La OOPS surge como una solución a la programación de grandes programas, y para solventar el mantenimiento de dichas aplicaciones, ya que en la programación estructura el más mínimo cambio supone la modificación de muchas funciones relacionadas, en cambio con la OOPS solo es cuestión de añadir o modificar métodos de una clase o mejor, crear una nueva clase a partir de otra (Herencia).

Concepto de Objeto:

Desde un punto de vista general un Objeto es una estructura de datos de mayor o menor complejidad con las funciones que procesan estos datos. Dicho de otra forma, sería Datos más un Código que procesa estos datos.

A los datos se les denomina miembros dato y a las funciones miembros o miembros funciones. Los datos están ocultos y sólo se puede acceder a ellos mediante las funciones miembros.

Clases:

Las Clases son como plantillas o modelos que describen como se construyen ciertos tipos de Objeto. Cada vez que se construye un Objeto de una Clase, se crea una instancia de esa Clase("instance").

Una Clase es una colección de Objetos similares y un Objeto es una instancia de una Clase. Se puede definir una Clase como un modelo que se utiliza para describir uno o más Objetos del mismo tipo.

Herencia:

Una característica muy importante de los Objetos y las Clases es la Herencia, una propiedad que permite construir nuevos Objetos (Clases) a partir de unos ya existentes. Esto permite crear "Sub-Clases" denominadas Clases Derivadas que comparten las propiedades de la Clase de la cual derivan (Clase base).

Las Clases derivadas heredan código y datos de la clase base, asimismo incorporan su propio código y datos especiales. Se puede decir que la herencia permite definir nuevas Clases a partir de las Clases ya existentes.

Polimorfismo:

En un sentido literal, Polimorfismo significa la cualidad de tener más de una forma. En el contexto de POO, el Polimorfismo se refiere al hecho de que una simple operación puede tener diferente comportamiento en diferentes objetos.

Compilador:

Es un programa que traduce un lenguaje de alto nivel al lenguaje máquina. Un programa compilado indica que ha sido traducido y está listo para ser ejecutado. La ejecución de los programas compilados es más rápida que la de los interpretados, ya que el interprete debe traducir mientras está en la fase de ejecución (saca todos los errores).

Un compilador es un programa que traduce el programa fuente (conjunto de instrucciones de un lenguaje de alto nivel, por ejemplo BASIC o Pascal) a programa objeto (instrucciones en lenguaje máquina que la computadora puede interpretar y ejecutar).

Se requiere un compilador para cada lenguaje de programación. Un compilador efectúa la traducción, no ejecuta el programa. Una vez compilado el programa, el resultado en forma de programa objeto será directamente ejecutable.

Presentan la ventaja considerable frente a los intérpretes de la velocidad de ejecución, por lo que su uso será mejor en aquellos programas probados en los que no se esperan cambios y que deban ejecutarse muchas veces. En caso de que se opte por un interpretador se debe considerar que el intérprete resida siempre en memoria.

Interprete:

Traductor de lenguajes de programación de alto nivel, los interpretes ejecutan un programa línea por línea. El programa siempre permanece en su forma original(programa fuente) y el interprete proporciona la traducción al momento de ejecutar cada una de la s instrucciones.

Un intérprete es un programa que procesa los programas escritos en un lenguaje de alto nivel, sin embargo, está diseñado de modo que no existe independencia entre la etapa de traducción y la etapa de ejecución. Un intérprete traduce cada instrucción o sentencia del programa escrito a un lenguaje máquina e inmediatamente se ejecuta.

Encuentran su mayor ventaja en la interacción con el usuario, al facilitar el desarrollo y puesta a punto de programas, ya que los errores son fáciles de detectar y sobre todo de corregir.

Lenguaje máquina:

Lenguaje original de la computadora, un programa debe estar escrito en el lenguaje de la máquina para poder ser ejecutado. Este es generado por software y no por el programador. El programador escribe en un lenguaje de programación, el cual es traducido al lenguaje de máquina mediante intérpretes y

compiladores.

Case (Computer-Aided Software Engineering o Computer- Aided Systems Engineering):

Ingeniería de Software Asistida por Computadora o Ingeniería de Sistemas Asistida por computadora Software que se utiliza en una cualquiera o en todas las fases del desarrollo de un sistema de información, incluyendo análisis, diseño y programación.

Por ejemplo, los diccionarios de datos y herramientas de diagramación ayudan en las fases de análisis y diseño, mientras que los generadores de aplicaciones aceleran la fase de programación.

Las herramientas CASE proporcionan métodos automáticos para diseñar y documentar las técnicas tradicionales de programación estructurada. La meta última de CASE es proveer un lenguaje para describir el sistema completo, que sea suficiente para generar todos los programas necesarios. 

 

Cronología de los Lenguajes de programación

1954 FORTRAN Formula Translation (Traducción de fórmulas): Diseñado en un principio para usos científicos y de ingeniería, se trata de un lenguaje compilado de alto nivel que hoy se utiliza en numerosos campos. Precursor de diversos conceptos, como las variables, las instrucciones condicionales y las subrutinas compiladas por separado.

1959 COBOL Common Business-Oriented Language (Lenguaje simbólico de programación orientado a aplicaciones comerciales): Lenguaje de programación semejante al idioma inglés, que hace hincapié en las estructuras de datos. De amplia utilización, principalmente en empresas.

1960 ALGOL ALGOrithmic Language (Lenguaje ALGOL algorítmico): Primer lenguaje de programación procedural estructurado, utilizado sobre todo para resolver problemas matemáticos.

1960 LISP LISt Processing (Procesamiento de listas): Lenguaje de programación orientado a la generación de listas, utilizado principalmente para manipular listas de datos. Lenguaje interpretado que suele utilizarse en las investigaciones y está considerado como el lenguaje estándar en proyectos de inteligencia artificial.

1961 APL A Programming Language (Un lenguaje de programación): Lenguaje interpretado que utiliza un amplio conjunto de símbolos especiales y que se caracteriza por su brevedad. Utilizado fundamentalmente por los matemáticos.

1964 PL/1 Programming Language 1 (Lenguaje de programación uno): Diseñado para combinar las principales virtudes del FORTRAN, COBOL y ALGOL, se trata de un lenguaje de programación complejo. Compilado y estructurado, es capaz de gestionar errores y de procesar multitareas, y se emplea en entornos académicos y de investigación.

1965 BASIC Beginners All-Purpose Symbolic Instruction Code(Código de instrucciones simbólicas multipropósito para principiantes): Lenguaje de programación de alto nivel, utilizado con frecuencia por programadores principiantes.

1968 LOGO Derivado del griego logos, ‘palabra’: Lenguaje de programación que suele utilizarse con niños. Presenta un sencillo entorno de dibujo y varias prestaciones de mayor nivel del lenguaje LISP. Fundamentalmente educativo.

1969 PILOT Programmed Inquiry, Language Or Teaching (Consulta, lenguaje o aprendizaje de investigación programada): Lenguaje de programación utilizado fundamentalmente para crear aplicaciones destinadas a instrucciones asistidas por computadora. Se caracteriza por utilizar un mínimo de sintaxis.

1970 FORTH Lenguaje de cuarta (FOuRTH) generación: Lenguaje estructurado e interpretado de fácil ampliación. Ofrece una alta funcionalidad en un espacio reducido.

1971 PASCAL Blaise PASCAL, matemático e inventor del primer dispositivo de computación: Lenguaje compilado y estructurado basado en ALGOL. Agrega tipos y estructuras de datos simplificando la sintaxis. Al igual que el C, se trata de un lenguaje de programación estándar para microcomputadoras.

1972 C Predecesor del lenguaje de programación B, fue desarrollado en Bell Laboratory: Lenguaje de programación compilado y estructurado, que suele utilizarse en numerosos lugares de trabajo porque sus programas pueden transferirse fácilmente entre distintos tipos de computadoras.

1979 ADA Augusta ADA Byron (Lady Lovelace): Derivado de Pascal, utilizado principalmente por los militares.

1980 MODULA-2: Diiseñado como fase secundaria de Pascal: Lenguaje que hace hincapié en la programación modular. Es un lenguaje de alto nivel basado en Pascal, que se caracteriza por la ausencia de funciones y procedimientos estandarizados.

1983 C++: Una versión orientada a objetos derivada del lenguaje de programación de aplicación general denominado C, desarrollada por Bjarne Stroustrup en los Bell Laboratories de la compañía American Telephone and Telegraph (AT&T); en un principio también fue conocido como C with Classes (C con clases, alusión a las clases de la programación orientada a objetos).

1995 JAVA: Lenguaje de programación orientado a objetos desarrollado por la empresa Sun Microsystems y que se ha extendido ampliamente en World Wide Web. Es un lenguaje de alto nivel y propósito general similar a C++, con marcadas características de seguridad y transportabilidad.

2000 C#: Nombre dado a un nuevo lenguaje de programación, derivado del C/C++, con la finalidad de proporcionar un método sencillo de creación de aplicaciones de propósito general y con programación orientada a objetos (POO).

AÑO

LENGUAJE

INVENTOR

DESCRIPCION

1900s

BINARIO

Bool

primer lenguaje

1946

Plankalkul

creado para jugar al ajedrez

1947

Short Code

lenguaje traducido a mano

1947

ASM (ensamblador)

lenguaje ensamblador

1949

A-0

fue el primer compilador

1950

AUTOCODE

compilador muy rudimentario

1954

FORTRAN

Sistema de TRAducción de FORmulas matemáticas

1956

FORTRAN I

IBM

Sistema de TRAducción de FORmulas matemáticas

1957

FORTRAN II

IBM

Sistema de TRAducción de FORmulas matemáticas

1957

B-O

1958

FORTRAN III

Sistema de TRAducción de FORmulas matemáticas

AÑO

LENGUAJE

INVENTOR

DESCRIPCION

1958

IAL

1958

LISP

1958

FLOW-MATIC

1958

ALGOL 58

1959

COBOL

Compilador

1959

LISP I

Interprete orientado a la Inteligencia Artificial

1959

JOVIAL

1960

APL

1960

 JOVIAL I

1960

 ALGOL 60

1961

 ALGOL 60 Revisado

1961

 JOVIAL II

1961

COBOL 61

1962

LISP 1.5

1962

FORTRAN IV

IBM

Sistema de TRAducción de FORmulas matemáticas

1962

SNOBOL I

1962

COBOL 61 Extendido

1963

CPL

1964

JOSS

1964

PL/I

1964

CORAL 64

1964

SIMULA I

1964

GOGOL

1964

SNOBOL II

1964

PASCAL

Niklaus Wirth

programacion estructurada

1964

BASIC

Universidad de Dartmouth (california)

Beginners All Purpose Symbolic Instruction Code

1965

SNOBOL III

1965

APL

solo anotacion

1965

COBOL 65

1965

TELCOMP

1965

JOVIAL III

1966

PL/I

1966

FORTRAN 66

IBM

sistema de TRAducción de FORmulas matemáticas

1966

MUMPS

1966

CORAL 66

1966

ISWIN

1967

SIMULA 67

AÑO

LENGUAJE

INVENTOR

DESCRIPCION

1967

BCPL

1967

GOGOL III

1967

SNOBOL IV

1968

ALGOL 68

1968

FORTH

1968

LOGO

1968

COBOL 66 ANS

1968

SAIL

1969

B

1969

SH

1970

PROLOG

1970

PASCAL

1970

GW-BASIC

antiguo y clasico BASIC

1970

1970

APL/360

1971

SMALLTALK

Centro de Investigación de Xerox en Palo Alto

pequeño y rapido

1971

C

Laboratorios Bell

lenguaje con tipos

1972

PL/M

1972

SMALLTALK 72

1973

ML

1974

COBOL 74

1974

CLU

1974

SMALLTALK 74

1975

MODULA

1975

MAINSAIL

1975

MS-BASIC 2.0

1975

SCHEME

1976

PL /I ANS

Lenguaje sencillo

1976

 SL5

1976

 SASL

1976

 SMALLTALK 76

1976

 MUMPS

1976

 ICON

1977

 FIG-FORTH

 

Partes: 1, 2, 3, 4

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente