Anda di halaman 1dari 75

INSTITUTO POLITECNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRONICA

INVESTIGACION

MATERIA: Fundamentos de programacin

Integrantes: Snchez Vallejo Karla Berenice Becerra de la Brena Karla Mayela Cuevas Arzate Adn Grupo: 1CM8 Turno: matutino

30 de Septiembre de 2011

INDICE* EVOLUCION DE LAS COMPUTADORAS.4 Primera generacin.14 Segunda generacin16 Tercera generacin.18 Cuarta generacin..20 Quinta generacin23 EVOLUCION DE LOS DISPOSITIVOS DE ENTRADA/SALIDA EVOLUCION DE LOS DISPOSITIVOS DE ALMACENAMIENTO EVOLUCION DE LOS LENGUAJES DE PROGRAMACION LENGUAJE ENSAMBLADOR... FORTRAN.................................... ALGOL......................................... COBOL......................................... LISP.............................................. SNOBOL....................................... VISUAL BASIC............................ APL............................................... PL/I............................................... SIMULA 67................................... PASCAL....................................... ADA.............................................. PROLOG....................................... C.................................................... MODULA 2.................................. C++................................................ Java............................................... EVOLUCION DE LOS SISTEMAS OPERATIVOS. SHARE Operating System........... UNIX............................................ MS-DOS...................................... Mac OS....................................... MICROSOFT WINDOWS........... LINUX......................................... ANDROID.................................. BIBLIOGRAFIA.

Definicin de una computadora Una computadora es una mquina con gran capacidad y velocidad, que se ha convertido en un auxiliar del hombre que le presta ayuda en una enorme gama de actividades, tales como: Proveer a los mdicos informacin actualizada sobre la salud del paciente. Preparar grficas de patrones climatolgicos y producir planes de vuelo de acuerdo con las condiciones climatolgicas. Prestar ayuda en la oceanografa y la navegacin. Registrar marcas y evaluar estadsticas de competencias deportivas. Prestar ayuda a los ingenieros en los clculos. Controlar simuladores de vuelo para dar al piloto un entrenamiento inicial en tierra. Coordinar el funcionamiento de los semforos para que el transito no sufra interrupciones. Verificar la cantidad de dinero depositado en una cuenta, o realizar pagos. Proveer informacin sobre los productos del mercado. Mucho se habla de que la computadora est influyendo dentro de nuestra privacidad y sustituyendo la mano de obre, creando desempleo. Estos aspectos no pueden discutirse, sin conocer a fondo lo que es una computadora, pero a medida que se avanza en su conocimiento, es posible emitir un concepto inteligente. Hay que tener en cuenta que una computadora no puede hacer algo a menos que el humano le diga que hacer. Debemos controlar a la computadora y no ella a nosotros.

Generaciones de computadoras

Es la clasificacin histrica de las computadoras, de acuerdo a como fueron evolucionando tecnolgicamente a travs de los aos. Las generaciones de las computadoras, se remontan a los esfuerzos por encontrar un mecanismo que facilitara realizar operaciones de clculos matemticos o aritmticos. El baco es la primera mquina hecha por el hombre por medio de la cual se agiliz el clculo de operaciones. ste data de miles de aos atrs en el cercano Oriente. Haba varias versiones, como el baco Chino y el Sorobn Japons. Era un sencillo invento, compuesto de cuentas insertadas en una varilla insertadas en un marco en forma de rectngulo. Cuando desplazaban las cuentas sobre varillas, sus posiciones representan valores almacenados, a travs de estas posiciones se representaban y almacenaban datos.Originalmente, consista de un tablero cubierto de arena sobre el cual se marcaban unos surcos. En estos surcos se ponan piedras o cuentas. Posteriormente, los surcos fueron sustituidos por alambres y las piedras por bolitas o cuentas ensartadas. Luego esto vara

quedando en forma de bastidor, generalmente de madera, en el que se insertan en sentido horizontal varias varillas, por cada una de las que pueden correr diez cuentas. La varilla inferior corresponde al orden de las unidades, la segunda a las decenas, la tercera a las centenas y as sucesivamente. Un nmero se representa desplazando sobre la varilla correspondiente tantas cuentas como indique la cifra de las unidades, de las decenas, etc. En el baco est implcito el sistema decimal posicional de escritura de nmeros. El modelo anterior es el que corresponde al sistema de los diez dedos o sea diez cuentas por varilla. En el modelo de los cinco dedos, cada varilla est dividida en dos partes, una con cinco cuentas y otra con dos, las cuentas de la primera parte corresponden a una unidad y la segunda a cinco. Los romanos utilizaron un modelo de cinco dedos en el que las varillas eran sustituidas por hendiduras en una tabla y las cuentas se sustituan por piedras. El baco fue utilizado tanto por las civilizaciones precolombinas y mediterrneas como en el extremo oriente. Su utilizacin fue un gran avance en la realizacin de clculos ya que en la antigedad no slo no se conoca el actual sistema de numeracin sino que tampoco se dispona de algo tan comn para nosotros como lo es el lpiz y el papel. En varios pases del lejano oriente el empleo del baco ha perdurado desde sus orgenes hasta nuestra poca. Dentro de la historia de la computacin no podemos llamar computadora a este artefacto ya que careca de programas o software, pero nos remonta a los inicios del almacenamiento de datos a travs de un mecanismo. Debido al inters que se ha tenido por saber cules han sido los verdaderos inicios de la computacin se ha descubierto el hecho de que entre los siglos XV y XVI se realiz un proyecto de calculadora. Este proyecto perteneci nada menos que al inventor y pintor Leonardo Da Vinci quien traz las ideas para una sumadora mecnica. Da Vinci naci en 1452 y muri en 1519.

Fue en el ao de 1617 que John Napier invent el rodillo de Napier. Y luego en 1621 que William Cughtred cre la regla de clculo y la operacin de multiplicar.

Regla de clculo

Wilhelm Schickard, en 1623 aproximadamente realiz la construccin de la primera mquina de calcular. Aunque corresponde a Schickard la paternidad de la primera calculadora la historia ha registrado a Pascal como su inventor. Debido a que ambos realizaron casi al mismo tiempo sus propias investigaciones, con una diferencia de aproximadamente veinte aos antes por parte de Schickard, pero con la anotacin de que fue la mquina de Pascal la que demostr positivamente su operatividad. En 1642, el francs Blaise Pascal desarroll una mquina calculadora que era operada por una serie de discos, unidos por engranajes, que tenan los nmeros del 0 al 9 en circunferencia, de tal forma que cuando un disco daba vuelta, automticamente el disco de la izquierda avanzaba un dgito. Los indicadores sobre los discos mostraban las respuestas correctas. Pero esta calculadora solo serva para sumar.

En 1694, Gottfried Withelm Leibnitz cre una mquina que multiplicaba y divida directamente. El dispositivo era en forma de rueda escalonada, an se usa en algunas calculadoras. Leibniz disea su famosa CALCULADORA UNIVERSAL en 1671 y despus de realizarle sucesivas modificaciones, da por terminado el ingenio en 1694. Leibniz parti de los modelos de Pascal y de Samuel Morland, Leibniz ide un ingenioso mecanismo para conseguir que su calculadora realizara, adems de sumas y restas, multiplicaciones, divisiones y races cuadradas. Este mecanismo fue bautizado con el nombre de rueda escalada de la calculadora de Leibniz. Este dispositivo consista en un contador de pasos, que se instrumentalizaba mediante una larga rueda dentada cilndrica con nueve dientes o varillas de longitud variable. La calidad de las teoras y trabajos de Leibniz afectaron de forma muy importante a la computacin especialmente por tres grandes logros:

la calculadora mecnica la estructuracin de procesos de resolucin de problemas y el perfeccionamiento del sistema binario Otro aspecto importante de aportacin de Leibniz fue su trabajo en el campo de la simbolizacin. El principio fundamental de su teora del simbolismo es que nuestras expresiones reflejan la estructura del mundo, para esto se deba contar con smbolos para todas las nociones que se deban tomar como elementales, estas ideas de Leibniz dieron origen al sistema binario que es una parte fundamental en lo que es el desarrollo de la computacin. La mquina de Leibniz fue el inicio de una serie de modelos similares que iban apareciendo con ciertas variaciones y mejoras pero con la misma estructura bsica.

En 1801 Joseph Marie Jacquard dise tarjetas perforadas para controlar una mquina de hilado textil, en donde cada lnea de tejido se presentaba en una tarjeta perforada como patrn y ste se teja automticamente.

En 1822 Charles Babbage desarroll un proyecto denominado Mquina diferencial, la cual era capaz de producir tablas logartmicas de seis cifras decimales de precisin. Animado por los resultados obtenidos, Babbage continu con sus experimentos para obtener una mquina analtica, pero el bajo nivel de la tecnologa metlica de la poca impidi que llegara a un buen resultado. El trabajo de Babbage fue retomado cuando se hizo nfasis en las investigaciones para obtener mquinas programables. El norteamericano Hernn Hollerith desarroll un mecanismo basado en tarjetas perforadas, cuya primera utilizacin exitosa se llev a cabo en 1886 durante una tabulacin del censo de poblacin de 1880 en USA. Durante la 2nda guerra mundial se dio el mayor impulso y fuerza de desarrollo de las computadoras, en esa poca, l fundador de IBM, junto con la Universidad de Harvard y la Universidad de Pennsylvania desarrollaron el MARK 1 y el ENIAC, que se usaron para misiles guiados de uso militar.

En 1930 Bennevar Bush ide la primera computadora analgica. Bush era un ingeniero y profesor de electrnica de el Massachusets Institute of Technology, quien construy la computadora que el llam analizador diferencial, el cual integraba las ecuaciones diferenciales ordinarias, en 1930 Bush y su equipo abren paso a lo que luego permitira la realizacin de la primera computadora digital.

Adems de esto Bush se ocup de formas de organizacin de informaciones, ideando un aparato que era capaz de hallar rpidamente una informacin requerida en un banco de datos. Este aparato llamado el Selector Rpido, operaba en un gran banco bibliogrfico dispuesto en soportes microfilmados. Un cdigo binario inventado por Bush, quedaba impreso en el borde de la pelcula y era localizado por una clula foto elctrica. Esto fue el inicio a lo que posteriormente conducira al tratamiento de la informacin y la gestin de los bancos de datos. Bush desarroll tambin un sistema automtico de edicin de textos, con una mquina de escribir se compona una pgina perfectamente alineada, al introducirse el texto correspondiente a cada lnea, la mquina espaciaba convenientemente las palabras y consegua una perfecta alineacin de los mrgenes derecho e izquierdo. Esto forma una parte histrica interesante que ha ido evolucionando con el tiempo. John Atanasoff naci en los Estados Unidos y obtuvo un doctorado en fsica terica. Estaba dedicado a la investigacin. Se consider como el creador de la primera computadora digital electrnica, cuando se invalid en 1973 por orden de un tribunal federal una patente anterior que corresponda a los tambin inventores Mauchly y Eckert, dndole oficialmente el crdito a John V. Atanasoff como el inventor de la computadora digital electrnica.

El Dr. Atanasoff, catedrtico de la Universidad Estatal de Iowa, desarroll la primera computadora digital electrnica entre los aos de 1937 a 1942. Llam a su invento la computadora Atanasoff-Berry, o solo ABC (Atanasoff Berry Computer). El estudiante graduado, Clifford Berry, fu su gran ayuda en la construccin de la computadora ABC.

Esta estaba configurada por tres centenares de tubos de vaco sin elementos mecnicos como estructura central. Su operatividad se aplicaba a la resolucin de un conjunto de 29 ecuaciones simultneas con la distincin de 29 variables, esto significaba que no era una computadora de propsito general, nicamente solucionaba cierto tipo de problemas matemticos. Algunos autores consideran que no hay una sola persona a la que se le pueda atribuir el haber inventado la computadora, sino que fue el esfuerzo de muchas personas. Sin embargo en el antiguo edificio de Fsica de la Universidad de Iowa aparece una placa con la siguiente leyenda: "La primera computadora digital electrnica de operacin automtica del mundo, fue construida en este edificio en 1939 por John Vincent Atanasoff, matemtico y fsico de la Facultad de la Universidad, quien concibi la idea, y por Clifford Edward Berry, estudiante graduado de fsica." Despus de varias conversaciones con el Dr. Atanasoff, leer apuntes que describan los principios de la computadora ABC y verla en persona, el Dr. John W. Mauchly colabor con J. Presper Eckert, Jr. para desarrollar una mquina que calculara tablas de trayectoria para el ejrcito estadounidense. El producto final fue una computadora electrnica completamente operacional a gran escala la cual se termin en 1946 y se llam ENIAC (Electronic Numerical Integrator And Computer), o Integrador numrico y calculador electrnico. Esta computadora fue construda para aplicaciones de la Segunda Guerra Mundial y se termin en 30 meses por un equipo de cientficos que trabajaban bajo reloj. La ENIAC, mil veces ms veloz que sus predecesoras electromecnicas, irrumpi como un importante descubrimiento en la tecnologa de la computacin. Pesaba 30 toneladas y ocupaba un espacio de 450 mts. cuadrados, llenaba un cuarto de 6 m x 12 m y contena 18,000 bulbos, tena que programarse manualmente conectndola a 3 tableros que contenan ms de 6000 interruptores. Ingresar un nuevo programa era un proceso muy tedioso que requera das o incluso semanas. A diferencia de las computadoras actuales que operan con un sistema binario (0,1) la ENIAC operaba con uno decimal (0,1,2..9).

10

La ENIAC requera una gran cantidad de electricidad. Hay una historia que cuenta que la ENIAC, construda en la Universidad de Pennsilvania, bajaba las luces de Filadelfia siempre que se activaba. La imponente escala y las numerosas aplicaciones generales de la ENIAC sealaron el comienzo de la primera generacin de computadoras.

Durante la II Guerra Mundial (1939-1945) un equipo de cientficos y matemticos que trabajaban en Bletchely Park, al norte de Londres crearon tambin un ordenador digital totalmente electrnico llamado el Colossus, este incorporaba 1,500 vlvulas o tubos de vaco y en diciembre de 1943 ya era operativo, el equipo de cientficos era dirigido por Alan Turing y era utilizado para decodificar los mensajes de radio cifrados de los alemanes.

Lleg el momento crucial en la historia de la computacin en 1947, en la Universidad de Pensilvania, donde fue construida la primera computadora electrnica. Esta mquina ocupaba el stano entero de la Universidad, contena ms de 18.000 tubos de vaco, un sistema de refrigeracin muy complejo y consuma 200 Kw de electricidad, pero poda realizar 5.000 operaciones aritmticas en un segundo. La historia de la computacin comenz aqu su increble recorrido.

11

Este proyecto era respaldado por el Ministerio de Defensa de USA. Dos aos despus se unira al proyecto el matemtico hngaro John Von Newman, quien es considerado en la historia de la computacin el padre de las computadoras por su valiosa aportacin al desarrollo de estas increbles mquinas. Fue fundamental en la historia de la computacin el avance incluido por Von Newmann, permitiendo que coexistan datos con instrucciones en la memoria, pudiendo as ser programada en un lenguaje.

En 1945, John von Neumann, que haba trabajado con Eckert y Mauchly en la Universidad de Pennsylvania, public un artculo acerca del almacenamiento de programas. El concepto de programa almacenado permiti la lectura de un programa dentro de la memoria de la computadora, y despus la ejecucin de las instrucciones del mismo sin tener que volverlas a escribir. La primera computadora en usar este concepto fue la llamada EDVAC (Eletronic Discrete-Variable Automatic Computer, es decir computadora automtica electrnica de variable discreta), desarrollada por Von Neumann, Eckert y Mauchly.

Los programas almacenados dieron a las computadoras una flexibilidad y confiabilidad tremendas, hacindolas ms rpidas y menos sujetas a errores que los programas mecnicos. Una computadora con capacidad de programa almacenado podra ser utilizada para varias aplicaciones cargando y ejecutando el programa apropiado. Hasta este punto, los programas y datos podran ser ingresados en la computadora slo con la notacin binaria, que es el nico cdigo que las computadoras "entienden". El siguiente desarrollo importante en el diseo de las computadoras fueron los programas intrpretes, que permitan a las personas comunicarse con las computadoras utilizando medios distintos a los nmeros binarios. En 1952 Grace Murray Hoper una oficial de la Marina de E.U., desarroll el primer compilador, un programa que puede traducir enunciados parecidos al ingls en un cdigo binario comprensible para la mquina llamado COBOL (Common Business-Oriented Languaje).

12

PRIMERA GENERACIN (1948 1958) En esta generacin haba un gran desconocimiento de las capacidades de las computadoras, puesto que se realiz un estudio en esta poca que determin que con veinte computadoras se saturara el mercado de los Estados Unidos en el campo de procesamiento de datos. Esta generacin abarco la dcada de los cincuenta. Y se conoce como la primera generacin. En el ao 1948 se produce un gran avance al descubrirse el transistor por los por los ingenieros de la empresa Bell: John Bardeen, Walter Brattain Y William Shockley. En 1956, gracias al descubrimiento del transistor reciben el Premio Nobel de Fsica. El transistor es un dispositivo electrnico semiconductor que se utiliza como amplificador o conmutador electrnico. Es conocido tambin con el nombre de micro amplificador, y fue el que sustituyo a los tubos de vaco, con ello se consigui que las computadoras redujesen considerablemente su tamao. Estas mquinas tenan las siguientes caractersticas: Usaban bulbos como componentes bsicos de sus circuitos. Alto consumo de energa y generaba calor muy intenso. Se requeran de 35 a 100 programadores, analistas, codificadores y personal de mantenimiento, as como un sistema de aire acondicionado. Empleaban tubos al vaco para procesar informacin. Tarjetas perforadas para ingresar informacin. Usaban cilindros magnticos para almacenar informacin e instrucciones internas. Eran sumamente grandes y sumamente lentas. Se comenz a utilizar el sistema binario para representar los datos. Se desarrollan los primeros discos duros, grandes tambores que giraban rpidamente y escriban y lean informacin desde el medio magntico. Se desarrollan los lenguajes de programacin FORTRAN (orientado a la resolucin de problemas numricos) y ALGOL (dirigido al tratamiento de problemas cientficos). Fabricacin industrial: Se inici la fabricacin de computadoras en serie. Hasta entonces los proyectos se haban originado y desarrollado en centros pblicos de investigacin debido a las grandes inversiones que exigan, al alto riesgo de fracaso que entraaban y a las escasas aplicaciones comerciales.

UNIVAC (1era. computadora fabricada para un propsito no militar, USA), IBM 701, IBM 650 pertenecen a esta generacin. En los 50s IBM y Remmington Rand se establecieron como lderes en la fabricacin de computadoras.

13

En esta generacin las mquinas son grandes y costosas (de un costo aproximado de 10,000 dlares). La computadora ms exitosa de la primera generacin fue la IBM 650, de la cual se produjeron varios cientos. Esta computadora que usaba un esquema de memoria secundaria llamado tambor magntico, que es el antecesor de los discos actuales. Usaron las computadoras para el censo de poblacin de USA.

SEGUNDA GENERACIN (1959 1964)

14

En esta generacin las computadoras se reducen de tamao y son de menor costo. Aparecen muchas compaas y las computadoras eran bastante avanzadas para su poca como la serie 5000 de Burroughs y la ATLAS de la Universidad de Manchester. Algunas computadoras se programaban con cintas perforadas y otras por medio de cableado en un tablero. El usuario de las computadoras en esta poca pasa de no tener ningn contacto con ella a ser pieza clave. Se disean pantallas antirreflejos, teclados ergonmicos; en lo referente al software, se comienza a disear para que el usuario de la computadora pierda menos tiempo aprendiendo como manejarlo y le saque mayor rendimiento. As parecen programas con listas de opciones, atajos con el uso de teclas, etc. En estos momentos se comienza a ser consciente de que la relacin entre el usuario y la computadora deben ser mucho ms amistosa acorde con el desarrollo que est llevando a cabo las computadoras. Caractersticas de esta generacin: Se invent el transistor, que sustituy a los bulbos. Se logr la miniaturizacin de los componentes de las computadoras. Se hicieron ms confiables y rpidas, requeran de menos enfriamiento. 200 transistores podan acomodarse en la misma cantidad de espacio que un tubo al vaco. Usaban pequeos anillos magnticos para almacenar informacin e instrucciones. Eran sumamente lentas. Avances en equipos perifricos: impresoras ms rpidas, mejores lectores de tarjetas y de cinta perforada, bobinas de cinta magntica capaces de memorizar y de volver a leer datos en nmero ilimitado. Se desarrolla el lenguaje COBOL, por Grace M. Hopper, y se pone a disponibilidad comercial. Se incrementa la utilizacin del FORTRAN. Se crean los ensambladores que utilizan un cdigo nemotcnico para representar las instrucciones. Se usaron estas computadoras para muchos fines comerciales y gubernamentales: Se usaban en aplicaciones de sistemas de reservaciones de lneas areas, control del trfico areo y simulaciones de propsito general. La marina de los Estados Unidos desarrolla el primer simulador de vuelo, "Whirlwind I". Surgieron las minicomputadoras y los terminales a distancia. Principales fabricantes de computadoras: Honeywell, Burrougs, Univac, NCR y CDC. Las computadoras de esta poca fueron la Phlico 212 y la UNIVAC M460, la Control Data Corporation modelo 1604, seguida por la serie 3000, la IBM mejor la 709 y sac al mercado la 7090, la National Cash Register empez a producir mquinas para proceso de datos de tipo comercial, introdujo el modelo NCR 315. La Radio Corporation of America lanzo al mercado el modelo 501, que ya usaba el lenguaje COBOL, se usaba para tareas administrativas y comerciales.

15

TERCERA GENERACIN (1964 1971) La tercera generacin de computadoras emergi con el desarrollo de circuitos integrados (pastillas de silicio) en las que se colocan miles de componentes electrnicos en una integracin en miniatura. Las computadoras nuevamente se hicieron ms pequeas, ms rpidas, desprendan menos calor y eran

16

energticamente ms eficientes. El ordenador IBM-360 domin las ventas de la tercera generacin de ordenadores desde su presentacin en 1965. El PDP-8 de la Digital Equipment Corporation fue el primer miniordenador. El Circuito integrado, o chip se invento en el ao 1959 por los ingenieros de la Texas Instruments. Ellos sern los sustitutos de los transistores en la fabricacin de las computadoras. El primer circuito integrado contena seis transistores. Actualmente un chip o circuito integrado puede llegar a tener millones de transistores. Caractersticas de esta generacin: Invencin de circuitos integrados monolticos. Miniaturizacin electrnica. Se desarrollaron los "chips" para almacenar y procesar la informacin. Un "chip" es una pieza de silicio que contiene los componentes electrnicos en miniatura llamados semiconductores. Los circuitos integrados recuerdan los datos, ya que almacenan la informacin como cargas elctricas. Las computadoras pueden llevar a cabo ambas tareas de procesamiento o anlisis matemticos. Emerge la industria del "software". Se le adicionan equipos auxiliares, como terminales interactivas. Primeras minicomputadoras: PDP-11/VAX y la IBM 360, IBM370 POP6. Despedan menos calor. Son utilizables para aplicaciones de tipo cientfico, as como comercial. Surgen la multiprogramacin, multiprocesamiento, las comunicaciones de datos, otros lenguajes (BASIC y PL1) y los paquetes especializados de programacin. Corran los primeros programas multitareas debido a su gran velocidad. Teleproceso: se instalan terminales remotos, que acceden a la computadora central para realizar operaciones, extraer o introducir informacin en bancos de datos, etc. Nacen las calculadoras de bolsillo. Consuman menos electricidad, por lo tanto, generaban menos calor. El sistema operativo que usaba la IBM en el modelo 360 lo llamo OS, tenia varias configuraciones, con el que se poda manejar la memoria y el uso del procesador, ya usaba la tecnologa de los circuitos integrados, que luego se convirtieron en estndares. Todas estas computadoras se caracterizaban por ser muy potentes y veloces. A mediados de la dcada de los 70 las computadoras que se venden en los mercados recuden su tamao, se las denomina minicomputadoras. Estas son mas econmicas que las grandes, pero son muy giles en el tratamiento de la informacin. Algunas de estas minicomputadoras o mainframes (que significa, gran sistema) fueron: la PDP 8, la PDP 11, la VAX de la Virtual Address eXtended, todas estas de la empresa Digital Equipment Corporation, los modelos NOVA y ECLIPSE de Data General, la

17

serie 3000 y 9000 de Hewlett Packard, etc. En la antigua Unin Sovitica se uso durante varias generaciones la US (Sistema Unificado, Ryad).

CUARTA GENERACIN (1971 1988) Aparecen los microprocesadores que es un gran adelanto de la microelectrnica, son circuitos integrados de alta densidad y con una velocidad impresionante. Las microcomputadoras con base en estos circuitos son extremadamente pequeas y baratas, por lo que su uso se extiende al mercado industrial. Aqu nacen las computadoras personales (PC) que han adquirido proporciones enormes y que han influido en la sociedad en general sobre la llamada "revolucin informtica". Caractersticas de esta generacin: Reemplaz las memorias magnticas (acceso secuencial) por microfichas de silicio (chips). Se microminiturizaron los componentes, lo que hizo posible la creacin de la computadora personal (PC). Aparece el lenguaje PASCAL como uno de los ms poderosos, por ser de aplicacin general e incluir los conceptos introductorios de lo que hoy se conoce como programacin estructurada.

18

Surgen las tecnologas LSI (Large Scale Integration) y VLSI (Very Large Scale Integration) que permiten empacar ms componentes en las microfichas. Se rebas el lmite de Gigaherzio en las computadoras personales. Se crean tcnicas para manejar volmenes grandes de informacin y se usan computadoras remotas en operacin con un computador central mediante la telecomunicacin, dando lugar a la telemtica. Se popularizan los lenguajes de programacin de tipo interactivo, las mquinas virtuales y los manipuladores de datos. Se colocan ms circuitos dentro de un "chip". "LSI - Large Scale Integration circuit". "VLSI - Very Large Scale Integration circuit". Cada "chip" puede hacer diferentes tareas. tercer componente, la memoria primaria, es operado por otros "chips". La computadora es capaz de elaborar programas. Memorias electrnicas: estas son ms rpidas y reducidas. Aunque al principio eran ms caras, su costo disminuye con la fabricacin en serie. La capacidad de memoria se aumenta muchsimo. Sistemas de tratamiento de bases de datos: consisten en un conjunto de elementos de hardware y de software interrelacionados que permite un uso sencillo y rpido de la informacin. Microcomputadora y computadora personal: a la minicomputadora se le aaden la microcomputadora y la computadora personal, estos tres forman la gama de las computadoras pequeas contrapuestas a la de las mquinas de gestin empresarial y causa que la computacin tenga un uso ms generalizado. La generalizacin de las aplicaciones: estas son innumerables y afectan prcticamente a todos los campos de la actividad humana: medicina, ingeniera, diseo, comercio, educacin, agricultura, administracin, industria, hogar, juegos, telecomunicaciones, defensa, electrodomsticos, y otros. La generacin del usuario: la computacin deja de ser terreno exclusivo de un grupo reducido de profesionales y se abre a amplios estratos sociales. Se multiplica constantemente el numero de usuarios. La cuarta generacin es la llamada generacin del usuario. Se introdujeron las tecnologas de hyperthreading, hypertransport y multincleo. Hyperthreading: el microprocesador acta a nivel lgico como si se tratara de ms de uno al procesar instrucciones; lo que reanuda en mayor velocidad general del sistema al ejecutar aplicaciones. Hypertransport: una conexin ms rpida capaz de transferir informacin a alta velocidad entre microfichas y otras partes del sistema. Interconexin. Se obtuvo rediseando el bus (conexin interna directa entreel procesador y la memoria) y las interconexiones de los componentes en la placa base. Bellmac 32

Un "chip" sencillo actualmente contiene la unidad de control y la unidad de aritmtica/lgica. El

19

Multincleos: un procesador con 2 o ms ncleos funciona como si se tuvieran 2 o ms procesadores dentro del mismo empaque de CPU, lo que lo hace ms rpido. En el ao 1976 Steve Wozniak y Steve Jobs idean la primera microcomputadora de la que se venden muchsimas unidades. Ms adelante Steve Wozniak y Steve Jobs, fundan la empresa Apple, que llego a ser la segunda compaa ms grande del mundo, solo estaba por encima de ella el gigante IBM, aun hoy Apple est entre las 5 compaas ms grandes del mundo en el campo de la computacin.

Entre los aos 1984 y 1987 se llegaron a vender 60 millones de computadoras personales, esto demuestra su tremenda expansin en todos los terrenos, comercial, industrial y personal. En gran parte todo esto es debido tambin al software que se usa que han propiciado un acercamiento entre la computadora y el usuario de la misma. Comienza a desarrollarse procesadores de palabra, hojas electrnicas de clculo, paquetes grficos, etc. Por esta poca Gary Kildall y William Gates crean sistemas operativos que llegaron a ser tan importantes y conocidos en el mercado mundial como son los famosos sistemas operativos de Microsoft Windows. Pero todo esto no implica que las grandes computadoras hayan desaparecido, todo lo contrario, hoy en da su uso se limita a terreno militar y la gran industria.

20

QUINTA GENERACIN (1989 - PRESENTE) En vista de la acelerada marcha de la microelectrnica, la sociedad industrial se ha dado a la tarea de poner tambin 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 computacin, en la que se perfilan dos lderes que, sin embargo, no han podido alcanzar el nivel que se desea: la capacidad de comunicarse con la computadora en un lenguaje ms cotidiano y no a travs de cdigos o lenguajes de control especializados.

MacBook Air

Caractersticas de esta generacin: Supercomputadoras. Se introduce el uso de la memoria de burbuja magntica y la tcnica hologrfica con rayos laser. Se mejoran las tcnicas de comunicacin con el procesador central en forma conversacional o interactiva. Los lenguajes son cada vez mas humanos, inclusive la voz.

Japn lanz en 1983 el llamado "programa de la quinta generacin de computadoras", con los objetivos explcitos de producir mquinas 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: Se desarrollan las microcomputadoras, o sea, computadoras personales o PC. Se desarrollan las supercomputadoras. Inteligencia artificial: La inteligencia artificial es el campo de estudio que trata de aplicar los procesos del pensamiento humano usados en la solucin de problemas a la computadora. Robtica: La robtica es el arte y ciencia de la creacin y empleo de robots. Un robot es un sistema de computacin hbrido independiente que realiza actividades fsicas y de clculo. Estn siendo diseados con inteligencia artificial, para que puedan responder de manera ms efectiva a situaciones no estructuradas. Sistemas expertos:

21

Un sistema experto es una aplicacin de inteligencia artificial que usa una base de conocimiento de la experiencia humana para ayudar a la resolucin de problemas. Ejemplos de sistemas expertos: Diagnsticos mdicos Reparacin de equipos Anlisis de inversiones Planeamiento financiero Eleccin de rutas para vehculos Ofertas de contrato Asesoramiento para clientes de autoservicio Control de produccin y entrenamiento. Redes de comunicaciones: Los canales de comunicaciones que interconectan terminales y computadoras se conocen como redes de comunicaciones; todo el "hardware" que soporta las interconexiones y todo el "software" que administra la transmisin. Ejemplos de redes de comunicaciones: LAN - Local Area Network BBN - Back Bone Network MAN - Metropolitan Area Network WAN - Wide Area Network Con la quinta generacin, se pretende multiplicar la velocidad, disponer procesamientos paralelos, disear una arquitectura de hardware-software muy superior y utilizar el lenguaje natural. La renovacin que aporta la quinta generacin es grande y no viene dada slo por la introduccin de cambios de hardware sino por la combinacin de novedades en el material y en la programacin. Por otro lado el tipo de trabajo propio de las mquinas de las generaciones precedentes se resume en el tratamiento de datos. En esta generacin es posible adquirir informacin a partir de los materiales y estructuras de que se dispone, en la elaboracin de conocimientos, en el despliegue de un tratamiento inteligente. La generacin de Internet Desde la aparicin de la multimedia en 1991, Internet fue y sigue siendo la era de la multimedia ya que todava est en auge. La revolucin de los ordenadores y las diferentes tecnologas dio origen a la expansin vertiginosa de la denominada World Wide Web y los dems servicios de Internet. Con ella se establecieron nuevas necesidades en los avances tecnolgicos tanto en equipos como en procesadores para poder explotar de forma eficiente todos los servicios que ofrece esta red de ordenadores interconectados entre s.

22

Las computadoras de la quinta generacin seran capaces de resolver problemas complejos en formas que pudieran llegar a considerarse creativas. Una va que se est explorando activamente es el ordenador de proceso paralelo, que emplea muchos chips para realizar varias tareas diferentes al mismo tiempo. El proceso paralelo podra llegar a reproducir hasta cierto punto las complejas funciones de realimentacin, aproximacin y evaluacin que caracterizan el pensamiento humano. Otra forma de proceso paralelo que se est investigando es el uso de computadoras moleculares. En estas computadoras, los smbolos lgicos se expresan por unidades qumicas de ADN en vez de por el flujo de electrones habitual en las computadoras corrientes. Las computadoras moleculares podran llegar a resolver problemas complicados mucho ms rpidamente que las actuales supercomputadoras y consumir mucha menos energa. Existen problemas complejos que requieren una bsqueda intensiva para su resolucin y que no son eficientemente resueltos por las computadoras digitales. Las computadoras moleculares se muestran ms adecuadas para la resolucin eficiente de esos problemas debido a su enorme capacidad de paralelismo. En la computacin con ADN el paralelismo est en el hecho de que un tubo de ensayo puede contener 10^18 molculas de ADN. Una simple operacin sobre el tubo de ensayo supone del orden de 10^18 operaciones simultneas. Aqu se puede ver la enorme ventaja de las computadoras con ADN frente a las computadoras clsicas para la resolucin de ciertos problemas complejos. Se puede agregar a las caractersticas de esta generacin, adems de lo anterior un incremento en la miniaturizacin de elementos, mayor velocidad, diversas memorias y aumento en su capacidad, lenguaje natural, elaboracin inteligente del saber, multiprocesadores. El futuro de la computacin es muy atrayente, el un futuro prximo veremos como la inteligencia artificial es un hecho, la robtica dar un paso de gigante y la industria se desarrollara aun ms rpidamente, gracias al impresionante desarrollo que sufrirn las computadoras en los prximos aos. En gran parte el desarrollo actual de las computadoras digitales se lo debemos al matemtico John Von Neumann, que estableci como una de las principales premisas que: los datos como los programas, se almacenan en la memoria antes de ser utilizados .

23

24

25

26

EVOLUCION DE LOS LENGUAJES DE PROGRAMACION Tras el desarrollo de las primeras computadoras surgi la necesidad de programarlas para que realizaran las tareas deseadas. Los lenguajes ms primitivos fueron los denominados lenguajes mquina. Como el hardware se desarrollaba antes que el software, estos lenguajes se basaban en el hardware, con lo que cada mquina tena su propio lenguaje y por ello la programacin era un trabajo costoso, vlido slo para esa mquina en concreto. El primer avance fue el desarrollo de las primeras herramientas automticas generadoras de cdigo fuente. Pero con el permanente desarrollo de las computadoras, y el aumento de complejidad de las tareas, surgieron a partir de los aos 50 los primeros lenguajes de programacin de alto nivel. Con la aparicin de los distintos lenguajes, solan aparecer diferentes versiones de un mismo lenguaje, por lo que surgi la necesidad de estandarizarlos para que fueran ms universales. Las organizaciones que se encargan de regularizar los lenguajes son ANSI (Instituto de las Normas Americanas) e ISO (Organizacin de Normas Internacionales). LOS LENGUAJES SE CLASIFICAN EN: LENGUAJES DE BAJO NIVEL Se llaman de bajo nivel porque estn muy cercanos al hardware del ordenador. Es necesario conocer a fondo la arquitectura de la mquina para la que se va a programar. El primer lenguaje de este tipo que se utiliz fue el lenguaje mquina, que consiste en un conjunto de instrucciones en binario, es decir, con ceros y unos, con los cuales se indica al ordenador qu hacer. Este lenguaje es muy complicado y la posibilidad de cometer errores es muy alta, por lo que ya no se utiliza. Para solventar estas dificultades apareci el lenguaje ensamblador, que consiste en asignar una abreviatura a cada instruccin en binario, de forma que sea ms fcil recordarla y ms difcil equivocarse. Sin embargo, con este lenguaje sigue siendo necesario conocer muy bien el hardware del ordenador.

27

LENGUAJES DE ALTO NIVEL Los lenguajes de alto nivel suelen utilizar trminos ingleses del tipo LIST, PRINT u OPEN como comandos que representan una secuencia de decenas o de centenas de instrucciones en lenguaje mquina. Los comandos se introducen desde el teclado, desde un programa residente en la memoria o desde un dispositivo de almacenamiento, y son interceptados por un programa que los traduce a instrucciones en lenguaje mquina. Los programas traductores son de dos tipos: intrpretes y compiladores. Con un intrprete, los programas que repiten un ciclo para volver a ejecutar parte de sus instrucciones, reinterpretan la misma instruccin cada vez que aparece. Por consiguiente, los programas interpretados se ejecutan con mucha mayor lentitud que los programas en lenguaje mquina. Por el contrario, los compiladores traducen un programa ntegro a lenguaje mquina antes de su ejecucin, por lo cual se ejecutan con tanta rapidez como si hubiesen sido escritos directamente en lenguaje mquina. Se considera que fue la estadounidense Grace Hopper quien implement el primer lenguaje de ordenador orientado al uso comercial. Despus de programar un ordenador experimental en la Universidad de Harvard, trabaj en los modelos UNIVAC I y UNIVAC II, desarrollando un lenguaje de alto nivel para uso comercial llamado FLOW-MATIC. Para facilitar el uso del ordenador en las aplicaciones cientficas, IBM desarroll un lenguaje que simplificara el trabajo que implicaba el tratamiento de frmulas matemticas complejas. Iniciado en 1954 y terminado en 1957, el FORTRAN (acrnimo de Formula Translator) fue el primer lenguaje exhaustivo de alto nivel de uso generalizado.

28

LENGUAJE ENSAMBLADOR El lenguaje ensamblador, o assembler (assembly language en ingls ) es un lenguaje de programacin de bajo nivel para los computadores, microprocesadores, micro controladores, y otros circuitos integrados programables. Implementa una representacin simblica de los cdigos de mquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y constituye la representacin ms directa del cdigo mquina especfico para cada arquitectura legible por un programador. Esta representacin es usualmente definida por el fabricante de hardware, y est basada en los mnemnicos que simbolizan los pasos de procesamiento (las instrucciones), los registros del procesador, las posiciones de memoria, y otras caractersticas del lenguaje. Un lenguaje ensamblador es por lo tanto especfico a cierta arquitectura de computador fsica (o virtual). Esto est en contraste con la mayora de los lenguajes de programacin de alto nivel, que, idealmente son portables. Caractersticas El cdigo escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido ya que su estructura se acerca al lenguaje mquina, es decir, es un lenguaje de bajo nivel. El lenguaje ensamblador es difcilmente portable, es decir, un cdigo escrito para un microprocesador, puede necesitar ser modificado, para poder ser usado en otra mquina distinta. Al cambiar a una mquina con arquitectura diferente, generalmente es necesario reescribirlo completamente. Los programas hechos por un programador experto en lenguaje ensamblador son generalmente mucho ms rpidos y consumen menos recursos del sistema (memoria RAM y ROM) que el programa equivalente compilado desde un lenguaje de alto nivel. Al programar cuidadosamente en lenguaje ensamblador se pueden crear programas que se ejecutan ms rpidamente y ocupan menos espacio que con lenguajes de alto nivel. Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador por lo que se pueden crear segmentos de cdigo difciles y/o muy ineficientes de programar en un lenguaje de alto nivel, ya que, entre otras cosas, en el lenguaje ensamblador se dispone de instrucciones del CPU que generalmente no estn disponibles en los lenguajes de alto nivel. Tambin se puede controlar el tiempo en que tarda una rutina en ejecutarse, e impedir que se interrumpa durante su ejecucin. El lenguaje ensamblador hard-coded es tpicamente usado en el ROM de arranque del sistema (BIOS en los sistemas compatible IBM PC). Este cdigo de bajo nivel es usado, entre otras cosas, para inicializar y probar el hardware del sistema antes de

29

cargar el sistema operativo, y est almacenado en el ROM. Una vez que ha tomado lugar un cierto nivel de inicializacin del hardware, la ejecucin se transfiere a otro cdigo, tpicamente escrito en lenguajes de alto nivel; pero el cdigo corriendo inmediatamente despus de que es aplicada la energa usualmente est escrito en lenguaje ensamblador. Lo mismo es cierto para los boot loaders. Muchos compiladores traducen lenguajes de alto nivel a lenguaje ensamblador primero, antes de la compilacin completa, permitiendo que el cdigo en ensamblador sea visto para propsitos de depuracin y optimizacin. Lenguajes de relativo bajo nivel, como C, con frecuencia proveen sintaxis especial para empotrar lenguaje ensamblador en cada plataforma de hardware. El cdigo portable del sistema entonces puede usar estos componentes especficos a un procesador a travs de una interface uniforme. El lenguaje ensamblador tambin es valioso en ingeniera inversa, puesto que muchos programas solamente son distribuidos en una forma de cdigo de mquina. El cdigo de mquina es usualmente fcil de trasladar hacia lenguaje ensamblador para luego ser cuidadosamente examinado en esta forma, pero es muy difcil de trasladar hacia un lenguaje de alto nivel. Herramientas como Interactive Disassembler, hacen uso extenso del desensamblador para tales propsitos.

30

FORTRAN Estrictamente hablando, FORTRAN (FORmula TRANslating system) no fue el primer lenguaje de programacin que existi (Laning & Zierler, del MIT, ya tenan un compilador de un lenguaje algebraico en 1952), pero s fue el primero en atraer la atencin de una parte importante de la reducida comunidad de usuarios de computadoras de la poca. Su desarrollo comenz en 1955 y el lenguaje se liber finalmente en abril de 1957, despus de 18 aos. Fue desarrollado principalmente por John Backus en IBM. Backus recibi el Turing Award en 1977. Su diseo se bas en un intrprete llamado Speedcoding, que fue desarrollado por Backus para la IBM 701. La especificacin preliminar de FORTRAN fue recibida con frialdad y escepticismo. Pocos crean que pudiera disearse un compilador que fuese equiparable (en eficiencia) a un humano. John Backus fue fuertemente criticado incluso por luminarias de la poca como John von Neumann, quienes crean que el desarrollo de FORTRAN slo era un desperdicio de dinero (el proyecto estuvo a punto de ser cancelado). El secreto de SU xito se atribuye a su excelente documentacin y a las sofisticadas tcnicas de optimizacin que se us en el diseo de su compilador. De acuerdo a John Backus, las tcnicas utilizadas en FORTRAN no fueron superadas sino hasta los 60s. En 1958 se liber FORTRAN II. Otro dialecto, llamado FORTRAN III, fue liberado tambin en 1958, pero no result muy exitoso debido a su enorme dependencia de la IBM 704. En 1962 se liber FORTRAN IV, que ha sido quizs la versin ms popular del compilador. En 1958, el American National Standards Institute (ANSI) estandariz FORTRAN (a esta versin se le llama ANS FORTRAN). Un nuevo estndar fue liberado en 1977 (se le conoce como FORTRAN 77). Las versiones ms recientes de FORTRAN (FORTRAN 90 y FORTRAN 2000) difieren mucho del lenguaje original. Los programas en FORTRAN se dividen en 2 partes: 1.- Una parte declarativa, la cual describe las reas de datos, sus longitudes (tipos) y sus valores iniciales. Las instrucciones declarativas existen en la mayor parte de los lenguajes estructurados, aunque se les llama de maneras distintas. En FORTRAN se les denomina sentencias no ejecutables. 1) Asignar un rea de memoria de un tamao especificado. Los tipos de datos disponibles en FORTRAN son: INTEGER, REAL, DOUBLE PRECISION y arreglos. El tipo de las variables numricas suele considerarse REAL por omisin. 2) Asociar un nombre simblico a un rea especfica de memoria (a esto se le llama binding o declaracin de variables). 3) Inicializar el contenido de esa rea de memoria.

31

En el caso de FORTRAN, las variables no tienen que ser inicializadas. Esto suele ser una fuente comn de errores en FORTRAN. 2.- Una parte imperativa que contiene los comandos a ser ejecutados en el momento en que corre un programa. A las instrucciones imperativas de FORTRAN se les denomina sentencias ejecutables. Las sentencias imperativas son de 3 tipos diferentes: 1) Sentencias computacionales: Son anlogas a las operaciones aritmticas y de movimiento de datos del pseudo-cdigo que vimos anteriormente. La asignacin es la sentencia computacional ms importante de FORTRAN. 2) Sentencias de control de flujo: Comparaciones y ciclos. FORTRAN proporciona instrucciones condicionales (sentencias IF), ciclos (usando DO) y saltos incondicionales (usando GOTO). El lenguaje tiene sentencias muy primitivas para flujo de datos. 3) Sentencias de entrada/salida: FORTRAN I tena 12 sentencias de entrada/salida de un total de 26 del lenguaje. La razn era la enorme variedad de dispositivos de E/S que deba ser capaz de manejar el compilador. Las versiones ms recientes de FORTRAN han reducido y/o simplificado la necesidad de usar tantas sentencias de E/S. Este lenguaje, tiene, en general, una estructura lineal y no jerrquica, dado que la mayora de sus instrucciones no permiten ningn tipo de anidamiento.

32

ALGOL ALGOL (ALGOrithmic Language) es uno de varios lenguajes de alto nivel, diseado especficamente para la programacin de cmputo cientfico. Comenz a fines de la dcada de 1950, primeramente formalizado en un reporte titulado 'ALGOL 58' y posteriormente progres bajo los reportes 'ALGOL 60' y 'ALGOL 68'. Fue designado como un lenguaje universal por un comit internacional. Su conferencia original que se llev a cabo en Zurich, fue uno de los primeros intentos para resolver el problema de portabilidad del software. ALGOL es independiente al hardware donde se ejecuta, lo cual permiti a los diseadores ser ms creativos, sin embargo, esto hizo que la implementacin del lenguaje fuera mucho ms difcil. Aunque ALGOL nunca alcanz los niveles de popularidad comercial de otros lenguajes, como COBOL y FORTRAN, es considerado el lenguaje ms importante de su era, en trminos de su influencia en el desarrollo posterior de lenguajes. Las estructuras sintcticas y lexicogrficas de ALGOL, fueron tan populares que virtualmente todos los lenguajes que se han diseado despus, se les refiere como 'tipo ALGOL', es decir, que son jerrquicos en estructura, con ambiente y estructuras de control anidados. El segundo gran lenguaje de programacin de la era informtica; FORTRAN fue el primero. ALGOL intent mejorarlo cuidando especialmente su sintaxis y proporcionando una estructura modular. El resultado fue un lenguaje demasiado abstracto y general. Caractersticas ALGOL utiliza bloques de declaraciones entre parntesis y fue el primer lenguaje en emplear los trminos BEGIN y END para delimitarlos. ALGOL 58 incorpor ciclos, hasta entonces los programas eran de estructura plana, secuencial, como los realizados en ensamblador. ALGOL 60 es un lenguaje implementable que se convirti en un estndar para la descripcin de algoritmos: utilizado principalmente sobre papel (mundo acadmico y de investigacin). Se utiliz bastante en Europa. ALGOL 60 inici varias tradiciones, incluyendo el uso de la Notacin BNF, propuesta por John Backus para especificar la sintaxis y el empleo adicional de BNF para organizar el manual de referencia del lenguaje. ALGOL 60 introdujo la recursin: "Cualquier aparicin de un identificador de procedimiento dentro del cuerpo del procedimiento, excepto una aparicin en la parte izquierda de un enunciado de asignacin, denota la activacin del procedimiento". Tambin introdujo la declaracin explcita del tipo de las variables, las reglas de mbito para variables locales, el paso de parmetros por referencia, la estructura de bloque y las matrices de tamao dinmico. ALGOL 60 incluye estructuras de control condicionales del tipo if-then-else y ciclos for. Aunque proporciona constructores de flujo de control estructurados, mantiene (al igual que casi todos sus derivados) el enunciado goto, cuya naturaleza daina para la comprensin y modificacin de programas es clara.

33

ALGOL 60 tambin tena algunas caractersticas que no siempre se han recogido en lenguajes posteriores, como las declaraciones own (similares a las variables static de C) o las expresiones switch (muy diferentes a las estructuras de control switch de C).

34

COBOL En informtica, acrnimo de COmmon Bussines-Oriented Language (Lenguaje Comn Orientado hacia Aplicaciones de Empresa), lenguaje de programacin desarrollado entre 1959 y 1961 que utiliza como base el idioma ingls y que se caracteriza por su gran facilidad de lectura. Su afirmacin como lenguaje exigido por el Departamento de Defensa de los Estados Unidos (actualmente es ADA), su nfasis en las estructuras de datos y su sintaxis similar al ingls (a diferencia de la de FORTRAN y ALGOL) fueron las razones de su amplia aceptacin y uso, en especial en aplicaciones de empresa. Los programas escritos en COBOL, que es un lenguaje compilado, se clasifican en cuatro divisiones: La Identification division: especifica el nombre del programa y contiene informacin general del programa como puede ser su autor, fecha en que se escribi y una pequea descripcin de su utilidad, as como cualquier otra documentacin que el programador desee aadir. Estructura: IDENTIFICATION DIVISION PROGRAM-ID. NombreDelPrograma. [AUTHOR. NombreDelAutor.] Otras entradas La primera lnea representa la cabecera de la divisin y aqu es donde comienza el programa. Luego viene el nombre del programa el cual es definido por el programador, tambin se especifica el nombre del autor y otras entradas de las cuales muchas son simplemente informacin para el programador (comentarios). La Enviroment division: especifica qu equipo o equipos se estn utilizando, y los archivos empleados en el programa para la entrada y la salida. La Data division: describe los datos utilizados en el programa.

La Procedure division: contiene la parte del procesamiento que dicta las acciones del programa. Caractersticas COBOL es un lenguaje independiente de la plataforma donde se ejecute, adems puede comunicarse con cualquier base de datos que exista, se adapta a la tecnologa cliente-servidor, a la tecnologa de eventos e inclusive puede estar en la web. Posee un elevado grado de precisin y velocidad de clculo numrico, con la capacidad de manejar hasta 30 posiciones decimales. Se emplea en aplicaciones comerciales y para el manejo de grandes cantidades de datos. Como dato histrico es el lenguaje ms utilizado en toda la historia para este propsito.

35

COBOL cuenta con aproximadamente 300 palabras reservadas. Es un lenguaje auto-documentado: se supona en un inicio que COBOL sera un lenguaje accesible para agentes no programadores, o sea se hablaba de que estos pudieran revisar el cdigo sin tener conocimientos de programacin, la idea a pesar de que no fue completamente efectiva, hizo que cobol se convirtiera en el lenguaje auto-documentado ms fcil de entender. Es un lenguaje simple con una funcionalidad limitada: no tiene punteros ni funciones ni tipos definidos por el usuario. Es portable: su estndar no pertenece a ninguna marca concreta y puede ser llevado a todo tipo de mquinas por ejemplo Windows, UNIX, OS/2 entre otros. Es mantenible: como se ha dicho ya, COBOL tiene una gran facilidad de interpretacin y una gran legibilidad y adems tiene una rgida estructura jerrquica y por medio de todo esto su mantenimiento se facilita muchsimo. Como ejemplo se podra ver que en el ao 2000 con el problema Y2K muchas aplicaciones COBOL se vieron afectadas y de igual manera su reparacin fue mucho ms fcil y barata en comparacin con otros lenguajes.

36

LISP En informtica, acrnimo de List Processing. Un lenguaje de programacin para ordenadores o computadoras orientado a la generacin de listas, desarrollado en 1959-1960 por John McCarthy y usado principalmente para manipular listas de datos. El lenguaje LISP constituy un cambio radical con respecto a los lenguajes procedurales (FORTRAN, ALGOL) que se desarrollaban por entonces. El LISP es un lenguaje interpretado, en el que cada expresin es una lista de llamadas a funciones. Este lenguaje se sigue utilizando con frecuencia en investigacin y en crculos acadmicos, y fue considerado durante mucho tiempo el lenguaje modelo para la investigacin de la inteligencia artificial (IA), aunque el Prolog ha ganado terreno durante los ltimos aos. Caractersticas Con unos pocos operadores y notacin para funciones se puede construir un lenguaje. Tambin es un modelo que marca la tendencia de los lenguajes actuales. Hay dos modelos: C y Lisp Los lenguajes diseados en los ltimos 20 aos se basan en el modelo de C al que aaden partes de Lisp. Es el lenguaje ms antiguo que se mantiene activo. Se adapta a cualquier paradigma de programacin. Adems de las implementaciones de Lisp como lenguaje, las versiones ms pequeas: Scheme Subconjuntos de Common Lisp: XLisp, elisp. Se empotran en aplicaciones especficas como lenguajes de scripts: Emacs, editor de texto, elisp. GIMP, editor de grficos, Scheme. Audacity, editor de audio, Nyquist (XLisp). LilyPond, partituras musicales, Scheme. AutoCAD, diseo tcnico, AutoLisp (XLisp). Habiendo declinado algo en los aos 1990, Lisp experiment un nuevo crecimiento de inters. La mayor parte de la nueva actividad est enfocada alrededor de las implementaciones de fuente abierta del Common Lisp, e incluye el desarrollo aplicaciones y de nuevas bibliotecas porttiles. Este inters puede ser medido en parte por las ventas de la versin impresa de Practical Common Lisp (Common Lisp Prctico) de Peter Seibel, un tutorial para nuevos programadores Lisp publicado en 2004, que estuvo brevemente en

37

Amazon.com como el segundo libro de programacin ms popular. El libro es accesible en lnea sin costo. Muchos nuevos programadores Lisp fueron inspirados por escritores como Paul Graham y Eric S. Raymond luchando por un lenguaje que otros consideran anticuado. Los nuevos programadores de Lisp frecuentemente describen el lenguaje como una experiencia que abre los ojos y una aclamacin de ser substancialmente ms productivo que otros lenguajes. Este aumento de conciencia puede ser contrastado con el "invierno de la inteligencia artificial" y el breve crecimiento del Lisp a mediados de los 1990.

38

SNOBOL SNOBOL (StriNg Oriented symBOlic Language) es un lenguaje de programacin de computadoras de muy alto nivel que surgi en la dcada de los 60 en los Laboratorios Bell merced al equipo formado por David J. Farber, Ralph E. Griswold y Ivan P. Polonsky. Durante las dcadas de los cincuenta y sesenta del siglo veinte haba un importante inters en lenguajes de programacin de computadoras de propsito especial. SNOBOL fue uno ms de los lenguajes orientados a cadenas de texto y de entre ellos uno de los ms exitosos. Fue usado ampliamente durante las dcadas de los setenta y ochenta del siglo veinte como un lenguaje de manipulacin de texto en las disciplinas humansticas, pero, en aos recientes su popularidad se ha desvanecido merced a que lenguajes nuevos tales como AWK y Perl han hecho popular la manipulacin de cadenas usando expresiones regulares; ahora es usado principalmente por aficionados siendo raro ver implementaciones recientes. La implementacin clsica fue en la PDP-10 y se ha usado para estudiar compiladores, gramticas formales e inteligencia artificial, en particular traduccin automtica y comprensin automtica de lenguajes naturales. La implementacin original fue en una IBM 7090 en los Laboratorios Bell en Holmdel, Nueva Jersey. Fue diseado expresamente para la portabilidad as que fue rpidamente exportado a otras plataformas. Queda por comprobar lo que se dice al respecto de que el algoritmo de coincidencia de patrones de bsqueda es superior al de las expresiones regulares de modo que programas bien escritos y compilados usando la implementacin SPITBOL del SNOBOL4 son del orden de 10 o ms veces ms rpidos en su ejecucin que los equivalentes escritos en Perl. Se llamaba originalmente "SEXI" (StriNg EXpression Interpreter), que en espaol es algo as como: Intrprete de Expresiones de Cadenas. La versin SNOBOL4 es la cuarta y ms reciente encarnacin de una serie de lenguajes de programacin de computadoras para el propsito especial de manipulacin de cadenas de caracteres. SNOBOL4 soporta una cantidad importante de tipos de datos tales como: enteros, nmeros reales de precisin limitada, cadenas de texto, patrones de bsqueda, arreglos y tablas as como la capacidad de permitir al programador definir tipos de datos adicionales y nuevas funciones (esta ltima caracterstica fue avanzada para su poca adems de parecerse y de que precede a los 'records' del Pascal o los 'structs' del C). Sobresale de entre los lenguajes de programacin ms famosos de su tiempo por usar los patrones de bsqueda como un tipo de datos nativo al lenguaje y por proveer operadores

39

para concatenacin de patrones y alternacin, adems de que las cadenas generadas durante la ejecucin pueden ser tratadas como programas que pueden a su vez ser ejecutados. Un patrn de bsqueda puede ser muy simple o extremadamente complicado. Ofrece al programador una amplia variedad de caractersticas incluyendo algunas muy exticas, de ah que se pueda usar como si fuera un lenguaje orientado a objetos, un lenguaje de programacin lgica, un lenguaje de programacin funcional o un lenguaje de programacin imperativa cambiando el conjunto de caractersticas usadas para escribir un programa. Tambin concatena cadenas que estn una junto a la otra en una sentencia y mantiene las cadenas en un montculo de memoria liberando as a los programadores de preocupaciones tales como asignacin de memoria y manejo de cadenas. Se implementa normalmente como un intrprete debido a las dificultades para instrumentar algunas de sus caractersticas de muy alto nivel, pero hay un compilador, el SPITBOL, que provee casi todas las caractersticas que la versin interpretada. El lenguaje de programacin de computadoras Icon es un descendiente de SNOBOL4.

40

VISUAL BASIC BASIC es un lenguaje de programacin desarrollado por los estadounidenses John Kemeny y Thomas Kurtz en el Dartmouth College. La versin original del lenguaje Basic fue creada en el ao 1964, ganndose una enorme popularidad gracias sobre todo a dos implementaciones, Tiny BASIC y Microsoft BASIC, que convirtieron a este lenguaje en la primera lengua franca de los microordenadores. Otras importantes implementaciones han sido CBASIC (BASIC Compilado), Integer y Applesoft BASIC (para el Apple II), GWBASIC (para computadoras personales), Turbo BASIC (de Borland) y Microsoft QuickBASIC. El lenguaje ha cambiado en el transcurso de los aos pues naci con el objetivo de servir como lenguaje para aquellas personas que deseaban introducirse por primera vez en el mundo de la programacin, y luego fue sufriendo modificaciones, hasta que en 1978 se estableci el Basic estndar. Inicialmente, Visual Basic fue pensado para ser un producto muy tctico. Microsoft tena varias iniciativas en el desarrollo que lideraba Visual Basic 1.0, todas fueron pensadas para convertirse en las herramientas de programacin a largo plazo, estratgicas, grficas y orientadas a objetos. Como siempre ocurre con los productos en su versin 1.0, el equipo de Visual Basic 1.0 fue forzado a cortar caractersticas de su larga lista de ideas para entregar realmente el producto al mercado. Consecuentemente, la primera versin incluy poco ms que la tecnologa Embedded Basic que haba sido desarrollada originalmente en Microsoft QuickBasic 4.0 (el cdigo p y compilador de Microsoft) y una herramienta compiladora de diseo simple originalmente diseada para Windows 3.0 pero que nunca fue utilizada para tal fin. Aproximadamente 12 meses despus, el desarrollo y mejora de la versin 1.0 comenz, Microsoft sac al mercado una herramienta desarrolladora para cubrir la exigencia en ese momento del mercado cuyo nombre en clave fue Thunder (Trueno). Caractersticas Posee una curva de aprendizaje muy rpida. Integra el diseo e implementacin de formularios de Windows. Permite usar con facilidad la plataforma de los sistemas Windows, dado que tiene acceso prcticamente total a la API de Windows, incluidas libreras actuales. Es uno de los lenguajes de uso ms extendido, por lo que resulta fcil encontrar informacin, documentacin y fuentes para los proyectos. Fcilmente extensible mediante libreras DLL y componentes ActiveX de otros lenguajes. Posibilita aadir soporte para ejecucin de scripts, VBScript o JScript, en las aplicaciones mediante Microsoft Script Control. Tiene acceso a la API multimedia de DirectX (versiones 7 y 8). Tambin est disponible, de forma no oficial, un componente para trabajar con OpenGL 1.1.

41

Existe una versin, VBA, integrada en las aplicaciones de Microsoft Office, tanto Windows como Mac, que permite programar macros para extender y automatizar funcionalidades en documentos, hojas de clculo, bases de datos (access). Si bien permite desarrollar grandes y complejas aplicaciones, tambin provee un entorno adecuado para realizar pequeos prototipos rpidos. Visual Basic provee soporte para empaquetado y distribucin, es decir, permite generar un mdulo instalador que contiene el programa ejecutable y las bibliotecas DLL necesarias para l. Con ese mdulo la aplicacin generada se distribuye y puede ser instalada en cualquier equipo (con sistema compatible). As como bibliotecas DLL, hay numerosas aplicaciones de terceros que disponen de variadas funciones y mejoras para Visual Basic, incluyendo tambin para empaquetado y distribucin.

42

APL APL (A Programing Language, tambin conocido como Array Processing Language desde hace algunos aos) es un lenguaje de programacin interpretado desarrollado por Kenneth Iverson, de IBM, a finales de los aos 60. Es un lenguaje muy conciso, con una sintaxis muy sencilla. Est orientado a trabajos con matrices, con la que se pueden hacer todo tipo de operaciones lgicas o matemticas. Incluso se pueden definir nuevas operaciones matriciales. Es de una potencia tremenda. Una sola sentencia puede traducirse en miles de ellas en otros lenguajes, como por ejemplo Fortran. Como ejemplo, el lenguaje de simulacin de circuitos, SIAL, ocupaba cerca de 25 000 sentencias en Fortran-Assembler y, al ser reescrito en APL, todo el programa se poda imprimir en dos folios. Por otra parte, a pesar de ser un lenguaje de tan alto nivel, tambin es capaz de manipular a escala de bits y tiene interfaces con lenguajes de programacin de bajo nivel (C, ensamblador...) mediante los llamados procesadores auxiliares. Tiene la propiedad de que desde una rutina se puede crear, compilar y ejecutar, en tiempo de ejecucin, otras, lo que lo hace muy apropiado para la fabricacin de compiladores e intrpretes. Sus problemas radican en que: Necesita teclado especial para poner los operadores lgicos y simblicos. Los programas escritos en APL son tan concisos que son difciles de documentar y de comprender. El APL, al ser tan conciso, es un lenguaje que permite un ciclo de desarrollo muy veloz. Por otra parte, al ser interpretado, la velocidad de ejecucin es tpicamente ms lenta que la de los lenguajes de programacin compilados. Por ello, se considera un buen lenguaje para el desarrollo de prototipos.

43

PL/I El lenguaje de programacin PL/I (programming languange I), fue creado alrededor de las dcadas de los 60 y 70, por IBM. Naci como parte del desarrollo de la arquitectura system 360, fabricada por IBM en aquel tiempo. Su desarrollo fue llevado a cabo en los laboratorios hursley, ubicados en el reino unido y propiedad de IBM, y su diseo iba orientado a satisfacer las necesidades existentes en las aplicaciones cientficas y comerciales. Esta necesidad, era producida debido a que los lenguajes de programacin antecesores a este, como por ejemplo Cobol y Fortran, podan resolver problemas de carcter cientfico o comercial, pero era necesario realizar aplicaciones que pudieran resolver tanto los problemas de carcter cientfico, como los referentes al negocio, y dado esto se procedi a realizar este lenguaje. PL/I es un lenguaje estructurado por capas de tercera generacin, donde la capa externa corresponde a la parte del cdigo y datos, y posee distintas capas que corresponden a procedimientos que son ejecutados como subrutinas o como funciones, y otras capas iniciales, que poseen llamados a funciones in-line. Como dato importante de este lenguaje, podemos mencionar que carece de palabras reservadas. Posee una serie de palabras reservadas pero que son reconocidas nicamente por contexto, de otra manera el programador puede utilizarlas libremente, ya que el compilador puede notar la diferencia segn el contexto en el que se utilicen estas palabras. Caractersticas El compilador hace uso de palabras reservadas analizndolas segn el contexto, lo que brinda mayor libertad al programador. Presenta un alto porcentaje de modularidad, gracias a su estructura por capas. Presenta cuatro distintas formas de almacenamiento: AUTOMATIC, STATIC, CONTROLLED, y BASED, lo que le brinda mayores opciones al programador. Entre sus definiciones, esta la utilizacin de estructuras de datos, tales como vectores, estructuras, vectores de estructuras, etc. La definicin de los datos a utilizar en un programa es independiente al hardware de la mquina. Funciones de entrada y salida forman una parte ntegra del lenguaje, y no a travs de alguna biblioteca. Pertenece al software libre, por lo que es gratuito. Permite realizar aplicaciones que resuelvan todo tipo de problemas (cientficos y comerciales).

44

SIMULA 67 Simula es un lenguaje de programacin orientada a objetos (OOP). Fue el primero de los lenguajes orientado a objetos. Varios aos despus de su desarrollo, casi todos los lenguajes modernos comenzaron a utilizar sus principios de orientacin a objetos. As fue como se popularizaron trminos como clases, objetos, instancias, herencia, polimorfismo, etc. Simula 67 fue lanzado oficialmente por sus autores Ole Johan Dahl y Kristen Nygaard en mayo de 1967, en la Conferencia de Trabajo en Lenguajes de Simulacin IFIO TC 2, en Lysebu cerca de Oslo Hoy en da, los creadores de Simula han desarrollado un nuevo lenguaje de programacin, llamado Beta, que generaliza todas las construcciones del lenguaje en una nica idea denominada patrn.

! todo programa empieza con un begin y termina con un end ;


Begin

Class Saludos; Begin OutText("Hola Mundo!"); OutImage; End of class saludos; REF(Saludos) objeto; objeto :- New Saludos; End of module program;

45

PASCAL Lenguaje de programacin imperativo, diseado entre 1967 y 1971 por Niklaus Wirth. Se trata de un lenguaje compilado y estructurado, basado en el lenguaje ALGOL, que simplifica su sintaxis a la vez que incluye nuevos tipos de datos y estructuras, como subrangos, tipos de datos enumerados, archivos, registros y conjuntos. La aceptacin y el uso de Pascal se increment considerablemente en 1984 cuando Borland International introdujo Turbo Pascal. Se trataba de un compilador de Pascal de alta velocidad y bajo coste para sistemas MS-DOS del que se vendieron ms de un milln de copias en sus diferentes versiones. El lenguaje de programacin en Pascal, es un lenguaje de alto nivel, y de propsito general, lo cual quiere decir que se puede utilizar para cualquier tipo de propsitos. El lenguaje de programacin en Pascal se considera un lenguaje estructurado, sencillo y prctico para todos aquellos usuarios que se inician en el mundo de la programacin, ya que fue creado con fines de aprendizaje. Al ser un Pascal lenguaje estructurado, sirve de base para cualquier otro lenguaje de alto nivel, por estas caractersticas es utilizado en las universidades e institutos de educacin para inicializar a los futuros ingenieros en sistemas o informtica. El lenguaje de programacin Pascal, es idneo en el estudio y definicin de las estructuras de datos, su fcil definicin lo hace manejable para un programador novato. Con la programacin en Pascal, se pueden realizar desde programas formales, rutinas, utilitarios, hasta cualquier clase de video juegos. Programacin en Pascal es un lenguaje de sintaxis sencilla, muy estructurado y que comprueba exhaustivamente todo tipo de datos. El mejor de los propsitos de programacin en Pascal es que ensea buenas formas de programacin, con lo cual se utiliza mucho en la enseanza, por todos los motivos nominados anteriormente, por su sencillez, su estructuracin y su facilidad de lectura y entendimiento. Existen varios dialectos locales de programacin en Pascal, entre ellas el Turbo Pascal, el cual acepta instrucciones de Pascal. TIPOS DE DATOS Pascal es un lenguaje donde se debe especificar a la computadora qu datos va a contener una variable. Se recordar que una variable es un vaso o contenedor. Pues bien: un humano puede, a simple vista, distinguir entre una palabra como 'Hola' o un nmero como 47. Pero la computadora no puede hacer esto, as que se le debe decir qu tipo de datos se pondr en cada variable. Una vez hecho esto, no puede almacenarse un valor de cualquier tipo en esa variable, sino de algunos tipos (Pascal permite ciertas conversiones de tipo).

46

Para decirle a Pascal el tipo de una variable, se usa una de las siguientes palabras clave en el lugar indicado en el esqueleto del programa (ver ms abajo): INTEGER: Nmero entero entre -32,768 y 32,767 LONGLNT: Nmero entero entre -2*10^31 y 2*10^31 - 1 REAL: Nmero con coma decimal entre 2.9*10-39^y 1.7*10^38 STRING: Cadena de caracteres (conjunto de nmeros, letras, smbolos; palabras y frases) CHAR: Un carcter (un dgito o una letra o un smbolo) Existen otros tipos de datos, pero no son necesarios para completar el programa del Laboratorio. ESQUELETO DE UN PROGRAMA EN PASCAL: sonProgram <identificador>; Uses WinCrt; Const {constantes} <identificador> = <valor>; Var {variables} <identificador> : <tipo>; Begin {instrucciones} ... End.

47

ADA Ada es un lenguaje de programacin orientado a objetos y fuertemente tipado de forma esttica que fue diseado por Jean Ichbiah de CII Honeywell Bull por encargo del Departamento de Defensa de los Estados Unidos. Es un lenguaje multipropsito, orientado a objetos y concurrente, pudiendo llegar desde la facilidad de Pascal hasta la flexibilidad de C++. Fue diseado con la seguridad en mente y con una filosofa orientada a la reduccin de errores comunes y difciles de descubrir. Para ello se basa en un tipado muy fuerte y en chequeos en tiempo de ejecucin (desactivables en beneficio del rendimiento). La sincronizacin de tareas se realiza mediante la primitiva rendezvous. Ada se usa principalmente en entornos en los que se necesita una gran seguridad y fiabilidad como la defensa, la aeronutica (Boeing o Airbus), la gestin del trfico areo (como Indra en Espaa) y la industria aeroespacial entre otros. Un compilador de Ada muy usado es GNAT, originalmente desarrollado por la Universidad de Nueva York bajo patrocinio del DoD. Est basado en la tecnologa de GCC y es software libre. Actualmente est mantenido por AdaCore (antes llamada Ada Core Technologies), empresa que ofrece soporte y servicios sobre el compilador. Existen otros compiladores comerciales. Caractersticas La sintaxis, inspirada en Pascal, es bastante legible incluso para personas que no conozcan el lenguaje. Es un lenguaje que no escatima en la longitud de las palabras clave, en la filosofa de que un programa se escribe una vez, se modifica decenas de veces y se lee miles de veces (legibilidad es ms importante que rapidez de escritura). Es indiferente el uso de maysculas y minsculas en los identificadores y palabras claves, es decir es un lenguaje case-insensitive. En Ada, todo el programa es un nico procedimiento, que puede contener subprogramas (procedimientos o funciones). Cada sentencia se cierra con end qu_cerramos. Es un modo de evitar errores y facilitar la lectura. No es necesario hacerlo en el caso de subprogramas, aunque todos los manuales lo aconsejan y casi todos los programadores de Ada lo hacen. El operador de asignacin es:=, el de igualdad =. A los programadores de C y similares les puede confundir este rasgo inspirado en Pascal. La sintaxis de atributos predefinidos es Objeto'Atributo (o Tipo'Atributo) (nota: esto slo aplica a atributos predefinidos por el lenguaje, ya que no es el concepto de atributo tpico de OOP).

48

Se distingue entre "procedimientos" (subrutinas que no devuelven ningn valor pero pueden modificar sus parmetros) y "funciones" (subrutinas que devuelven un valor y no modifican los parmetros). Muchos lenguajes de programacin no hacen esta distincin. Las funciones de Ada favorecen la seguridad al reducir los posibles efectos colaterales, pues no pueden tener parmetros in out. with Ada.Text_IO; procedure Hola_Mundo is begin Ada.Text_IO.Put("Hola, mundo!"); end Hola_Mundo;

49

PROLOG Lenguaje de programacin lgico e interpretado (Prolog). La programacin lgica es un paradigma de los lenguajes de programacin en el cual los programas se consideran como una serie de aserciones lgicas. De esta forma, el conocimiento se representa mediante reglas, tratndose de sistemas declarativos. es un lenguaje de programacin simple pero poderoso desarrollado en la Universidad de Aix-Marseille (Marsella, Francia) por los profesores Alain Colmerauer y Philippe Roussel, como una herramienta prctica para programacin lgica. Naci de un proyecto que no tena como objetivo la implementacin de un lenguaje de programacin, sino el procesamiento de lenguajes naturales. Alain Colmerauer y Robert Pasero trabajaban en la parte del procesado del lenguaje natural y Jean Trudel y Philippe Roussel en la parte de deduccin e inferencia del sistema. Interesado por el mtodo de resolucin SL, Trudel persuadi a Robert Kowalski para que se uniera al proyecto, dando lugar a una versin preliminar del lenguaje Prolog a finales de 1971 y apareciendo la versin definitiva en 1972. Esta primera versin de Prolog fue programada en ALGOL W. Inicialmente se trataba de un lenguaje totalmente interpretado hasta que, en 1983, David H.D. Warren desarroll un compilador capaz de traducir Prolog en un conjunto de instrucciones de una mquina abstracta denominada Warren Abstract Machine, o abreviadamente, WAM. Desde entonces Prolog es un lenguaje semi-interpretado. Si bien en un principio se trataba de un lenguaje de uso reducido, la aparicin de intrpretes del mismo para microordenadores de 8 bits y para ordenadores domsticos de 16 bits a lo largo de la dcada de 1980 contribuy notablemente a su popularizacin. Otro importante factor en su difusin fue la adopcin del mismo para el desarrollo del proyecto de la quinta generacin de computadoras a principios de la dcada de los 1980, en cuyo contexto se desarroll la implementacin paralelizada del lenguaje llamada KL1 y del que deriva parte del desarrollo moderno de Prolog. Las primeras versiones del lenguaje diferan, en sus diferentes implementaciones, en muchos aspectos de sus sintaxis, emplendose mayormente como forma normalizada el dialecto propuesto por la Universidad de Edimburgo , hasta que en 1995 se estableci un estndar ISO (ISO/IEC 13211-1), llamado ISO-Prolog. Un entorno de desarrollo Prolog se compone de: Un compilador: Transforma el cdigo fuente en cdigo de byte. A diferencia de Java, no existe un Standard al respecto. Por eso, el cdigo de byte generado por un entorno de desarrollo no tiene por qu funcionar en el intrprete de otro entorno. Un intrprete: Ejecuta el cdigo de byte. Un shell o top-level. Se trata de una utilidad que permite probar los programas, depurarlos, etc. Su funcionamiento es similar a los interfaces de lnea de comando de los sistemas operativos.

50

Una biblioteca de utilidades: Estas bibliotecas son, en general, muy amplias. Muchos entornos incluyen (afortunadamente) unas bibliotecas standard-ISO que permiten funcionalidades bsicas como manipular cadenas, entrada/salida, etc. ELEMENTOS tomos: Es una definicin genrica de un objeto del mundo que queremos representar. Predicados: Nos permite especificar caractersticas de los objetos de nuestro mundo o las relaciones entre ellos. Es algo que est ocurriendo en el mundo, caracterstica o relacin entre objetos. En el lenguaje natural un hecho podra ser por ejemplo que Lgica y Compatibilidad es una asignatura de Ingeniera Informtica. Expresan relaciones entre objetos. La forma de representarlo en PROLOG es: Los nombres de objetos y relaciones deben comenzar con una letra minscula. Primero se escribe la relacin, y luego los objetos separados por comas y encerrados entre parntesis. Al final de un hecho debe ir un punto ("."). Variables: No es variable con el concepto que se tiene de ella en la programacin habitual. En Prolog, una variable representa el valor de un tomo. Representan objetos que el mismo PROLOG determina. Una variable puede estar instanciada no instanciada. Estar instanciada cuando existe un objeto determinado representado por la variable. Los nombres de variables comienzan siempre por una letra mayscula. Un caso particular es la variable annima, representada por el carcter subrayado ("_"). REGLAS Una regla consiste en una cabeza y un cuerpo, unidos por el signo ":-". La cabeza est formada por un nico hecho. El cuerpo puede ser uno ms hechos (conjuncin de hechos), separados por una coma (","), que acta como el "y" lgico. Las reglas finalizan con un punto (".").

51

C Lenguaje de programacin desarrollado en 1972 por el estadounidense Dennis Ritchie en los Laboratorios Bell. C es apreciado por la eficiencia del cdigo que produce y es el lenguaje de programacin ms popular para crear software de sistemas, aunque tambin se utiliza para crear aplicaciones. Se trata de un lenguaje dbilmente tipificado de medio nivel pero con muchas caractersticas de bajo nivel. Dispone de las estructuras tpicas de los lenguajes de alto nivel pero, a su vez, dispone de construcciones del lenguaje que permiten un control a muy bajo nivel. Los compiladores suelen ofrecer extensiones al lenguaje que posibilitan mezclar cdigo en ensamblador con cdigo C o acceder directamente a memoria o dispositivos perifricos. La primera estandarizacin del lenguaje C fue en ANSI, con el estndar X3.159-1989. El lenguaje que define este estndar fue conocido vulgarmente como ANSI C. Posteriormente, en 1990, fue ratificado como estndar ISO (ISO/IEC 9899:1990). La adopcin de este estndar es muy amplia por lo que, si los programas creados lo siguen, el cdigo es porttil entre plataformas y/o arquitecturas Caractersticas Un ncleo del lenguaje simple, con funcionalidades aadidas importantes, como funciones matemticas y de manejo de archivos, proporcionadas por bibliotecas. Es un lenguaje muy flexible que permite programar con mltiples estilos. Uno de los ms empleados es el estructurado "no llevado al extremo" (permitiendo ciertas licencias de ruptura). Un sistema de tipos que impide operaciones sin sentido. Usa un lenguaje de preprocesado, el preprocesador de C, para tareas como definir macros e incluir mltiples archivos de cdigo fuente. Acceso a memoria de bajo nivel mediante el uso de punteros. Interrupciones al procesador con uniones. Un conjunto reducido de palabras clave. Por defecto, el paso de parmetros a una funcin se realiza por valor. El paso por referencia se consigue pasando explcitamente a las funciones las direcciones de memoria de dichos parmetros. Punteros a funciones y variables estticas, que permiten una forma rudimentaria de encapsulado y polimorfismo.

52

Tipos de datos agregados (struct) que permiten que datos relacionados (como un empleado, que tiene un id, un nombre y un salario) se combinen y se manipulen como un todo (en una nica variable "empleado"). Elementos generales Comentarios: Se identifican porque van entre diagonales y asterisco. Nos sirve para escribir informacin que nos referencie al programa pero que no forme parte de l. Por ejemplo especificar que hace el programa, quien lo elabor, en qu fecha, que versin es, etc. Inclusin de archivos: Consiste en mandar llamar a la o las bibliotecas donde se encuentran definidas las funciones de C (instrucciones) que estamos utilizando en el programa. En realidad, la inclusin de archivos no forma parte de la estructura propia de un programa sino que pertenece al desarrollo integrado de C. Se incluye aqu para que el alumno no olvide que debe mandar llamar a los archivos donde se encuentran definidas las funciones estndar que va a utilizar. main (): En C, todo est constituido a base de funciones. El programa principal no es la excepcin. main () indica el comienzo de la funcin principal del programa la cual se delimita con llaves. Variables locales: Antes de realizar alguna operacin en el programa, se deben declarar la(s) variable(s) que se utilizarn en el programa. Flujo de sentencias: Es la declaracin de todas las instrucciones que conforman el programa. Definicin de funciones creadas por el programador utilizadas en main(): Finalmente, se procede a definir el contenido de las funciones utilizadas dentro de main(). Estas contienen los mismos elementos que la funcin principal. Despus de cada asignacin o funcin es imprescindible colocar un punto y coma (;) ya que ste es un terminador de proposiciones. En caso de que no se escriba, se marcar un error a la hora de compilar el programa.

53

MODULA 2 Modula-2 es un lenguaje de programacin cuyo autor es Niklaus Wirth, autor tambin del lenguaje Pascal. Como novedad respecto a este ltimo lenguaje, introduce el concepto de mdulo, y de encapsulacin. Del cdigo contenido en un mdulo, slo se facilita una interfaz pblica denominada mdulo de definicin, permaneciendo el resto oculto (encapsulado) para un desarrollador ajeno, lo que facilita el mantenimiento de dichas estructuras de programacin a la vez que imposibilita la modificacin de las mismas a cualquiera que no posea el cdigo de su mdulo de implementacin. Este concepto de mdulo constituye el antecedente de las clases u objetos que se observan en el concepto moderno de Programacin Orientada a Objetos (POO); sin embargo, la incapacidad de declarar mltiples instancias de los mdulos, as como la ausencia de todo tipo de herencia, impiden afirmar que Modula-2 sea un lenguaje orientado a objetos propiamente dicho. Modula-2 se utiliza principalmente en las universidades por su excelente adaptacin a la enseanza de lenguajes estructurados, pero en el mbito laboral su difusin ha sido escasa frente al predominio de C, lo que ha contribuido a crear un distanciamiento entre universidad y mercado laboral. Existen compiladores de Modula-2 como Mocka o GNU Modula-2 (para GNU/Linux y resto de sistemas soportados por GCC), FST (para MS-DOS) o Native XDS (para Windows) entre otros.

54

C++ En informtica, una versin orientada a objetos del lenguaje de programacin C, desarrollada por Bjarne Stroustrup a comienzos de la dcada de 1980 en los Laboratorios Bell. El formato general de un programa en C++ es el siguiente:

ENCABEZADO

/ | Definicin de constantes y macros, < declaracin de variables globales, | inclusin de archivos. \

void main (void) <---lnea de cabecera de la funcin principal. {<-------------Inicio de bloque.......... ......... ......... <---Cuerpo de la funcin principal..........} <-------------Fin de bloque. En la actualidad, el C++ es un lenguaje verstil, potente y general. Su xito entre los programadores profesionales le ha llevado a ocupar el primer puesto como herramienta de desarrollo de aplicaciones. El C++ mantiene las ventajas del C en cuanto a riqueza de operadores y expresiones, flexibilidad, concisin y eficiencia. Adems, ha eliminado algunas de las dificultades y limitaciones del C original. Hay que sealar que el C++ ha influido en algunos puntos muy importantes del ANSI C, como por ejemplo en la forma de declarar las funciones, en los punteros a void, etc El C++ es a la vez un lenguaje procedural (orientado a algoritmos) y orientado a objetos. Como lenguaje procedural se asemeja al C y es compatible con l, aunque ya se ha dicho que presenta ciertas ventajas (las modificaciones menores, que se vern a continuacin). Como lenguaje orientado a objetos se basa en una filosofa completamente diferente, que exige del programador un completo cambio de mentalidad. Las caractersticas propias de la Programacin Orientada a Objetos (Object Oriented Programming, u OOP) de C++ son modificaciones mayores que s que cambian radicalmente su naturaleza.

55

Java Lenguaje de programacin orientado a objetos desarrollado por la empresa Sun Microsystems en 1995 y que se ha extendido ampliamente en World Wide Web. Es un lenguaje de alto nivel y propsito general similar a C++, con marcadas caractersticas de seguridad y transportabilidad. Este lenguaje define una mquina virtual independiente de la plataforma donde se ejecuta, que procesa programas, llamados Applets, descargados desde el servidor Web. Adems, debido al modo de ejecucin de los Applets, este lenguaje es muy seguro frente a la presencia y ataque de virus informticos. El trmino Java fue acuado en una cafetera frecuentada por algu nos de los miembros del equipo. Pero no est claro si es un acrnimo o no, aunque algunas fuentes sealan que podra tratarse de las iniciales de sus creadores: James Gosling, Arthur Van Hoff, y Andy Bechtolsheim. Otros abogan por el siguiente acrnimo, Just Another Vague Acronym ("slo otro acrnimo ambiguo ms"). La hiptesis que ms fuerza tiene es la que Java debe su nombre a un tipo de caf disponible en la cafetera cercana, de ah que el icono de java sea una taza de caf caliente. Un pequeo signo que da fuerza a esta teora es que los 4 primeros bytes (el nmero mgico) de los archivos .class que genera el compilador, son en hexadecimal, 0xCAFEBABE. A pesar de todas estas teoras, el nombre fue sacado al parecer de una lista aleatoria de palabras. El lenguaje Java se cre con cinco objetivos principales: Debera usar la metodologa de la programacin orientada a objetos. Debera permitir la ejecucin de un mismo programa en mltiples sistemas operativos. Debera incluir por defecto soporte para trabajo en red. Debera disearse para ejecutar cdigo en sistemas remotos de forma segura. Debera ser fcil de usar y tomar lo mejor de otros lenguajes orientados a objetos, como C++. La sintaxis de Java se deriva en gran medida de C++. Pero a diferencia de ste, que combina la sintaxis para programacin genrica, estructurada y orientada a objetos, Java fue construido desde el principio para ser completamente orientado a objetos. Todo en Java es un objeto (salvo algunas excepciones), y todo en Java reside en alguna clase (recordemos que una clase es un molde a partir del cual pueden crearse varios objetos). El diseo de Java, su robustez, el respaldo de la industria y su fcil portabilidad han hecho de Java uno de los lenguajes con un mayor crecimiento y amplitud de uso en distintos mbitos de la industria de la informtica.

56

57

EVOLUCION DE LOS SISTEMAS OPERATIVOS Un sistema operativo es un programa o conjunto de programas de computadora destinado a permitir una gestin eficaz de sus recursos. Comienza a trabajar cuando se enciende el computador, y gestiona el hardware de la mquina desde los niveles ms bsicos, permitiendo tambin la interaccin con el usuario. Un sistema operativo se puede encontrar normalmente en la mayora de los aparatos electrnicos que utilicen microprocesadores para funcionar, ya que gracias a estos podemos entender la mquina y que sta cumpla con sus funciones (telfonos mviles, reproductores de DVD, autoradios y computadoras) Funciones bsicas Los sistemas operativos, en su condicin de capa software que posibilita y simplifica el manejo de la computadora, desempean una serie de funciones bsicas esenciales para la gestin del equipo. Entre las ms destacables, cada una ejercida por un componente interno (mdulo en ncleos monolticos y servidor en microkernels), podemos resear las siguientes: Proporcionar comodidad en el uso de un computador. Gestionar de manera eficiente los recursos del equipo, ejecutando servicios para los procesos (programas) Brindar una interfaz al usuario, ejecutando instrucciones (vulgarmente comandos). Permitir que los cambios debidos al desarrollo del propio SO se puedan realizar sin interferir con los servicios que ya se prestaban (evolutividad). Los Sistemas Operativos, al igual que el Hardware de los computadores, han sufrido una serie de cambios revolucionarios llamados generaciones. En el caso del Hardware, las generaciones han sido marcadas por grandes avances en los componentes utilizados, pasando de vlvulas (primera generacin ) a transistores ( segunda generacin ), a circuitos integrados ( tercera generacin), a circuitos integrados de gran y muy gran escala (cuarta generacin). Cada generacin Sucesiva de hardware ha ido acompaada de reducciones substanciales en los costos, tamao, emisin de calor y consumo de energa, y por incrementos notables en velocidad y capacidad. Generacin Cero (dcada de 1940) Los primeros sistemas computacionales no posean sistemas operativos. Los usuarios tenan completo acceso al lenguaje de la maquina. Todas las instrucciones eran codificadas a mano. Primera Generacin (dcada de 1950)

58

Los sistemas operativos de los aos cincuenta fueron diseados para hacer mas fluida la transicin entre trabajos. Antes de que los sistemas fueran diseados, se perda un tiempo considerable entre la terminacin de un trabajo y el inicio del siguiente. Este fue el comienzo de los sistemas de procesamiento por lotes, donde los trabajos se reunan por grupos o lotes. Cuando el trabajo estaba en ejecucin, este tena control total de la maquina. Al terminar cada trabajo, el control era devuelto al sistema operativo, el cual limpiaba y lea e iniciaba el trabajo siguiente. Al inicio de los 50s esto haba mejorado un poco con la introduccin de tarjetas perforadas (las cuales servan para introducir los programas de lenguajes de mquina), puesto que ya no haba necesidad de utilizar los tableros enchufables. Adems el laboratorio de investigacin General Motors implement el primer sistema operativo para la IBM 701. Los sistemas de los 50s generalmente ejecutaban una sola tarea, y la transicin entre tareas se suavizaba para lograr la mxima utilizacin del sistema. Esto se conoce como sistemas de procesamiento por lotes de un slo flujo, ya que los programas y los datos eran sometidos en grupos o lotes. La introduccin del transistor a mediados de los 50s cambi la imagen radicalmente. Se crearon mquinas suficientemente confiables las cuales se instalaban en lugares especialmente acondicionados, aunque slo las grandes universidades y las grandes corporaciones o bien las oficinas del gobierno se podan dar el lujo de tenerlas. Para poder correr un trabajo (programa), tenan que escribirlo en papel (en Fortran o en lenguaje ensamblador) y despus se perforara en tarjetas. Enseguida se llevara la pila de tarjetas al cuarto de introduccin al sistema y la entregara a uno de los operadores. Cuando la computadora terminara el trabajo, un operador se dirigira a la impresora y desprendera la salida y la llevara al cuarto de salida, para que la recogiera el programador. Segunda Generacin (a mitad de la dcada de 1960) La caracterstica de los sistemas operativos fue el desarrollo de los sistemas compartidos con multiprogramacin, y los principios del multiprocesamiento. En los sistemas de multiprogramacin, varios programas de usuario se encuentran al mismo tiempo en el almacenamiento principal, y el procesador se cambia rpidamente de un trabajo a otro. En los sistemas de multiprocesamiento se utilizan varios procesadores en un solo sistema computacional, con la finalidad de incrementar el poder de procesamiento de la maquina. La independencia de dispositivos aparece despus. Un usuario que desea escribir datos en una cinta en sistemas de la primera generacin tena que hacer referencia especfica a una unidad de cinta particular. En la segunda generacin, el programa del usuario especificaba tan solo que un archivo iba a ser escrito en una unidad de cinta con cierto nmero de pistas y cierta densidad. Se desarrollo sistemas compartidos, en la que los usuarios podan acoplarse directamente con el computador a travs de terminales. Surgieron sistemas de tiempo real, en que los

59

computadores fueron utilizados en el control de procesos industriales. Los sistemas de tiempo real se caracterizan por proveer una respuesta inmediata. Tercera Generacin (mitad de dcada 1960 a mitad dcada de 1970) Se inicia en 1964, con la introduccin de la familia de computadores Sistema/360 de IBM. Los computadores de esta generacin fueron diseados como sistemas para usos generales. Casi siempre eran sistemas grandes, voluminosos, con el propsito de serlo todo para toda la gente. Eran sistemas de modos mltiples, algunos de ellos soportaban simultneamente procesos por lotes, tiempo compartido, procesamiento de tiempo real y multiprocesamiento. Eran grandes y costosos, nunca antes se haba construido algo similar, y muchos de los esfuerzos de desarrollo terminaron muy por arriba del presupuesto y mucho despus de lo que el planificador marcaba como fecha de terminacin. Estos sistemas introdujeron mayor complejidad a los ambientes computacionales; una complejidad a la cual, en un principio, no estaban acostumbrados los usuarios. Cuarta Generacin (mitad de dcada de 1970 en adelante) Los sistemas de la cuarta generacin constituyen el estado actual de la tecnologa. Muchos diseadores y usuarios se sienten aun incmodos, despus de sus experiencias con los sistemas operativos de la tercera generacin. Con la ampliacin del uso de redes de computadores y del procesamiento en lnea los usuarios obtienen acceso a computadores alejados geogrficamente a travs de varios tipos de terminales. Los sistemas de seguridad se ha incrementado mucho ahora que la informacin pasa a travs de varios tipos vulnerables de lneas de comunicacin. La clave de cifrado esta recibiendo mucha atencin; han sido necesario codificar los datos personales o de gran intimidad para que; aun si los datos son expuestos, no sean de utilidad a nadie mas que a los receptores adecuados. El porcentaje de la poblacin que tiene acceso a un computador en la dcada de los ochenta es mucho mayor que nunca y aumenta rpidamente. El concepto de maquinas virtuales es utilizado. El usuario ya no se encuentra interesado en los detalles fsicos de; sistema de computacin que esta siendo accedida. En su lugar, el usuario ve un panorama llamado maquina virtual creado por el sistema operativo. Los sistemas de bases de datos han adquirido gran importancia. Nuestro mundo es una sociedad orientada hacia la informacin, y el trabajo de las bases de datos es hacer que esta informacin sea conveniente accesible de una manera controlada para aquellos que tienen derechos de acceso.

60

SHARE Operating System SHARE Operating System proporcionaba nuevos mtodos para gestionar los buffers y los dispositivos de entrada/salida, y, al igual que GM-NAA I/O, permita la ejecucin de programas realizados en lenguaje maquina. Se puede decir que es el primer sistema operativo creado en los 60, permita leer lenguaje de maquinas. Inicialmente funcionaba en ordenadores IBM 704, pero posteriormente fue portado a los IBM709. Ms tarde IBM dio soporte al mismo bajo el nombre de IBSYS, portndolo a sus nuevos ordenadores basados en transistores, los IBM 7090 y 7094. MULTICS Multics (Multiplexed Information and Computing Service) fue uno de los primeros sistemas operativos de tiempo compartido y tuvo una gran influencia en el desarrollo de los posteriores sistemas operativos. Los planes iniciales y el desarrollo de Multics comenz en 1964. Originalmente era un proyecto cooperativo liderado por Fernando J. Corbat del MIT, con General Electric y los laboratorios Bell. Los laboratorios Bell abandonaron en 1969, y en 1970 el negocio de computacin de General Electric, incluyendo Multics, fue adquirido por Honeywell. Multics fue concebido como un producto comercial por General Electric, y alcanz este logro para Honeywell, pero no tuvo un gran xito. Sin embargo, tuvo un gran impacto en el campo de la computacin gracias a sus muchas ideas nuevas y valiosas. Aunque en su poca recibi muchas crticas, la historia ha demostrado que eran infundadas. Un gran nmero de caractersticas intentaban proporcionar alta disponibilidad, de manera que el servicio de computacin igualase a los servicios de telefona y a la red elctrica. Para alcanzar este logro, se utiliz una estructura modular tanto en el software como en el hardware, y el sistema poda crecer simplemente aadiendo ms recursos - poder de computacin, memoria principal, almacenamiento de disco, etc. Listas de control de acceso sobre cada archivo proporcionaban un mtodo flexible para compartir informacin, adems de la privacidad requerida. Contena diferentes mecanismos estndar para permitir a los ingenieros analizar el rendimiento del sistema, adems de varios mecanismos para la optimizacin del rendimiento. Multics fue un de los primeros sistemas operativos que implement un nico nivel de almacenamiento para el acceso a los datos, desechando la clara distincin entre los archivos (llamados segmentos en Multics) y los procesos en memoria. La memoria de un proceso consista solamente en segmentos que estaban mapeados en su espacio de direcciones; para leer o escribir en ellos, el proceso simplemente utilizaba

61

instrucciones normales de la CPU, y el sistema operativo tena cuidado de asegurarse que todas las modificaciones fueran guardadas en disco. La segunda gran idea de Multics, enlace dinmico, mediante el que un proceso en ejecucin puede solicitar que otros segmentos se aadan a su espacio de direcciones, estos segmentos pueden incluir cdigo que puede ser ejecutado. Con esta caracterstica disponible, las aplicaciones automticamente utilizaban la ltima versin de cualquier rutina externa que llamaban, estas rutinas estaban en otros segmentos, que se enlazaban dinmicamente slo cuando un proceso intentaba ejecutarlas. Como diferentes procesos, pertenecientes a diferentes usuarios, podan utilizar diferentes reglas de bsqueda, diferentes usuarios podan automticamente acabar utilizando diferentes versiones de las rutinas externas. Multics tambin soportaba una reconfiguracin on-line muy agresiva; las CPUs, los bancos de memoria, unidades de disco, etc. podan ser aadidas y quitadas mientras el sistema continuaba funcionando; entrando en servicio, o eliminndose cuando fuera necesario. Como se soportaban varias CPUs, fue uno de los primeros sistemas multiprocesador.

62

UNIX Unix es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT&T, entre los que figuran Ken Thompson, Dennis Ritchie y Douglas McIlroy. Algunos comandos bsicos de UNIX son: Navegacin/creacin de directorios/archivos: ls cd pwd mkdir rm rmdir cp Edicin/visin de archivos: touch more ed vi Procesamiento de textos: echo cat grep sort uniq sed awk tail head Comparacin de archivos: comm cmp diff patch Administracin del sistema: chmod chown ps find xargs sd w who Comunicacin: mail telnet ssh ftp finger rlogin Shells: sh csh ksh Documentacin: man. Otros comandos Tiempo: cal A lo largo de la historia ha surgido una gran multitud de implementaciones comerciales de UNIX. Sin embargo, un conjunto reducido de productos han consolidado el mercado y prevalecen gracias a un continuo esfuerzo de desarrollo por parte de sus fabricantes. Los ms importantes son: Solaris de Sun Microsystems. Uno de los sistemas operativos Unix ms difundidos en el entorno empresarial y conocido por su gran estabilidad. Parte del cdigo fuente de Solaris se ha liberado con licencia de fuentes abiertas (OpenSolaris). AIX de IBM. El UNIX "propietario" de IBM ha cumplido 20 aos de vida en el 2006 y contina en pleno desarrollo, con una perceptible herencia del mainframe en campos como la virtualizacin o la RAS de los servicios, heredada de sus "hermanos mayores". HP-UX de Hewlett-Packard. Este sistema operativo tambin naci ligado a las computadoras departamentales de este fabricante. Tambin es un sistema operativo estable que continua en desarrollo. Mac OS X. Curiosamente sus propios usuarios suelen desconocer que se trata de un UNIX completo, aprobado por The Open Group. Su diferencia marcada es que posee una interfaz grfica propietaria llamada Aqua, y es principalmente desarrollada en Objective-C en lugar de C o C++. Existen sistemas operativos basados en el ncleo Linux, y el conjunto de aplicaciones GNU (tambin denominado GNU/Linux), entre las ms utilizadas encontramos: Red Hat Enterprise Linux. Cuyo fabricante Red Hat es conocido por su amplia gama de soluciones y aportes al desarrollo de software libre. Apoya el proyecto Fedora del cual se beneficia y de ella se derivan distribuciones compatibles como Oracle Enterprise Linux y CentOS, tambin distribuciones como Mandriva Linux, se bas en una de sus primeras versiones.

63

SUSE Linux de Novell. Originalmente liberado por la compaa alemana SuSE. Es popular por sus herramientas de administracin centralizada. De manera anloga a RedHat con Fedora, apoya el proyecto openSUSE. Debian GNU/Linux. Con una de las comunidades ms grandes y antiguas del movimiento de software libre, es base para distribuciones como Xandros, Mepis, Linspire y Ubuntu. Tambin son populares los sistemas operativos descendientes del 4.4BSD: FreeBSD. Quiz el sistema operativo ms popular de la familia, de propsito mltiple. Con una implementacin SMP muy elaborada, es el sistema operativo utilizado por los servidores de Yahoo. Y base de muchos sistemas operativos entre ellos Mac OS X de Apple. OpenBSD. Ampliamente reconocida por su seguridad proactiva y auditora permanente del cdigo fuente. Es utilizada en ambientes donde la seguridad prima sobre todo, es usual encontrarlo instalado en servidores que actan como Firewall, VPN o Proxy. NetBSD . Se le conoce por su portabilidad, a octubre de 2008: 53 arquitecturas soportadas. La NASA lo ha utilizado para la investigacin en redes TCP/IP satelitales, al igual que para reciclar computadoras viejas con software moderno. Las siguientes implementaciones de UNIX tienen importancia desde el punto de vista histrico, no obstante, actualmente estn en desuso: Tru64 UNIX actualmente de Hewlett-Packard (antes de Compaq y originalmente de Digital Equipment Corporation). UnixWare y SCO OpenServer anteriormente de Santa Cruz Operation y ahora de SCO Group. UX/4800 de NEC. IRIX de Silicon Graphics Inc..

64

MS-DOS MS-DOS (siglas de MicroSoft Disk Operating System, Sistema operativo de disco de Microsoft) es un sistema operativo para computadores basados en x86. Fue el miembro mas popular de la familia de sistemas operativos DOS de Microsoft, y el principal sistema para computadoras personales compatible con IBM PC en la dcada de 1980 y mediados de 1990, hasta que fue sustituida gradualmente por sistemas operativos que ofrecan una interfaz grfica de usuario, en particular por varias generaciones de Microsoft Windows. MS-DOS naci en 1981 al ser encargada Microsoft de producir un sistema operativo para la gama de computadores personales IBM PC de IBM. Rpidamente Microsoft compr los derechos de QDOS tambin conocido como 86-DOS,1 de Seattle Computer Products, y comenz a trabajar en las modificaciones para poder cumplir con los requerimientos de IBM. La primera edicin, MS-DOS 1.0, fue presentada en 1982.2 La versin incluida en los PC's de IBM fue conocida como PC DOS. Aunque MS-DOS y PC-DOS fueron desarrollados por Microsoft e IBM en paralelo, los dos productos se separaron con el tiempo. Es un sistema operativo monotarea y monousuario para ordenadores personales. Se desarroll a partir de QDOS, Quick and Dirty Operating System, tambin conocido como 86-DOS. Su desarrollo se inici oficialmente en 1981 y fue lanzado en 1982 como MS-DOS 1.0. Tuvo ocho versiones principales y alcanz gran difusin pero fue gradualmente reemplazado por sistemas operativos que ofrecan una interfaz grfica de usuario (GUI), en particular, por varias generaciones del sistema operativo Microsoft Windows. El MSDOS tiene varios usos, a los cuales puedes acceder escribiendo 'cmd' dentro de 'Ejecutar'. All puedes familiarizarte usando algunos comandos bsicos como lo es 'COLOR F3', 'HELP' o 'FORMAT C:' por ejemplo. Puedes probar algunos de ellos y luego profundizar ms en el uso de esta herramienta dandole aplicaciones ms practicas.

65

Mac OS Mac OS (del ingls Macintosh Operating System, en espaol Sistema Operativo de Macintosh) es el nombre del sistema operativo creado por Apple para su lnea de computadoras Macintosh. Es conocido por haber sido el primer sistema dirigido al gran pblico en contar con una interfaz grfica compuesta por la interaccin del mouse con ventanas, Icono y mens. Apple quit importancia de forma deliberada a la existencia del sistema operativo en los primeros aos de su lnea Macintosh procurando que la mquina resultara ms agradable al usuario, diferencindolo de otros sistemas contemporneos, como MS-DOS, que eran un desafo tcnico. El equipo de desarrollo del Mac OS original inclua a Bill Atkinson, Jef Raskin y Andy Hertzfeld. Esta fue la base del Mac OS clsico, desarrollado ntegramente por Apple, cuya primera versin vio la luz en 1984. Su desarrollo se extendera en un modelo progresivo hasta la versin 9 del sistema, lanzada en 1999. A partir de Mac OS X, el sistema es un derivado de Unix que mantiene en su interfaz grfica muchos elementos de las versiones anteriores. Los primeros sistemas operativos Macintosh inicialmente consistieron en dos programas, llamados "System" y "Finder", cada uno con su propio nmero de versin. 1 El System 7.5.3 fue la primera en incluir el logo Mac OS y Mac OS 7.6 fue el primero en ser llamado "Mac OS". Antes de la introduccin de los ltimos sistemas basados en el microprocesador PowerPC G3, partes significativas del sistema se almacenaban en la memoria fsica de slo lectura de la placa base. El propsito inicial de esto fue evitar el uso de la capacidad de almacenamiento limitada de los disquetes de apoyo al sistema, dado que el los primeros computadores Macintosh no tenan disco duro. Slo el modelo Macintosh Classic de 1991, poda ser iniciado desde la memoria ROM. Esta arquitectura tambin permiti una interfaz de sistema operativo totalmente grfica en el nivel ms bajo, sin la necesidad de una consola de slo texto o el modo de comandos de lnea. Los errores en tiempo de arranque, como la bsqueda de unidades de disco que no funcionaban, se comunicaron al usuario de manera grfica, generalmente con un icono o con mensajes con el tipo de letre Chicago y un Timbre de la muerte o una serie de pitidos. Esto contrastaba con los PCs de la poca, que mostraban tales mensajes con un tipo de letra mono-espaciada sobre un fondo negro, y que requeran el uso del teclado y no de un ratn, para la entrada. Para proporcionar tales detalles en un nivel bajo, el Mac OS dependa de software de la base del sistema grabado en la ROM de la placa base, lo que ms tarde ayud a garantizar que slo los computadores de Apple o los clones bajo licencia (con el contenido de la memoria ROM protegido por derechos de autor de Apple, pudieran ejecutar el Mac OS. El Mac OS puede ser dividido en dos familias: La familia Mac OS Classic, basada en el cdigo propio de Apple Computer.

66

El Sistema Operativo Mac OS X, desarrollado a partir de la familia Mac OS Classic y NeXTSTEP, el cual estaba basado en UNIX. Caractersticas Tiene un ncleo de la familia UNIX mas especficamente deriva de nexstep que era un sistema operativo cuyo ncleo tenia cdigo del kernel Mach y del de BSD. Tiene una interfaz grafica desarrollada por Apple que se llama Aqua. Utiliza como gestor de ventanas x11 caracterstica que comparte con otros sistemas Unix. Tiene un entorno de desarrollo Cocoa, la nueva interfaz de programacin orientada a objetos (heredada de OPENSTEP). Como lenguaje de programacin utiliza Objective-C, aunque tambin es accesible desde otros lenguajes como Java. Tambin conserva la posibilidad de utilizar los entornos clasico y carbon de versiones anteriores e incluso una interfaz BSD compatible con Posix y Unix. La arquitectura para la que fue diseado originalmente eran para las Power PC es decir computadoras de tipoRisc desarrolladas por IBM,Motorola y Apple.Es decir que esta ultima hizo un sistema operativo especifico para un hardware que ellos tambien desarrollaron lo que le dio una gran estabilidad y eficacia al sistema en su conjunto. Otra caracteristica es el dock o barra de accesos directos.Se divide en dos zonas: Donde se colocan las aplicaciones que queramos y el icono del Finder y el Dashboard. Donde por defecto hay un acceso directo a la pgina de Mac OS X, las carpetas de aplicaciones, documentos y descargas, y la papelera de reciclaje. En esta parte del dock podemos colocar cualquier objeto que queramos tener, mientras que en la primera parte solo podremos poner aplicaciones.Existen 4 versiones 10.1 Puma,10.2 Jaguar,10.3 Panther , 10.4 Tiger y 10.5 Leopard y 10.6 Snow Leopard y cada una ha ido incorporando mejoras.

67

MICROSOFT WINDOWS Microsoft Windows es el nombre de una familia de sistemas operativos desarrollados por Microsoft desde 1981, ao en que el proyecto se denominaba Interface Manager. Anunciado en 1983, Microsoft comercializ por primera vez el entorno operativo denominado Windows en noviembre de 1985 como complemento para MS-DOS, en respuesta al creciente inters del mercado en una interfaz grfica de usuario (GUI). Microsoft Windows lleg a dominar el mercado de ordenadores personales del mundo, superando a Mac OS, el cual haba sido introducido previamente a Windows. En octubre de 2009, Windows tena aproximadamente el 91% de la cuota de mercado de sistemas operativos en equipos cliente que acceden a Internet. Las versiones ms recientes de Windows son Windows 7 para equipos de escritorio, Windows Server 2008 R2 para servidores y Windows Phone 7 para dispositivos mviles. La primera versin de Microsoft Windows, versin 1.0, lanzada en noviembre de 1985, compiti con el sistema operativo de Apple. Careca de un cierto grado de funcionalidad y logr muy poca popularidad. Windows 1.0 no era un sistema operativo completo; ms bien era una extensin grfica de MS-DOS. Windows versin 2.0 fue lanzado en noviembre de 1987 y fue un poco ms popular que su predecesor. Windows 2.03 (lanzado en enero de 1988) incluy por primera vez ventanas que podan solaparse unas a otras. El resultado de este cambio llev a Apple a presentar una demanda contra Microsoft, debido a que infrigan derechos de autor. Windows versin 3.0, lanzado en 1990, fue la primera versin de Microsoft Windows que consigui un amplio xito comercial, vendiendo 2 millones de copias en los primeros seis meses. Presentaba mejoras en la interfaz de usuario y en la multitarea. Recibi un lavado de cara en Windows 3.1, que se hizo disponible para el pblico en general el 1 de marzo de 1992. El soporte de Windows 3.1 termino el 31 de diciembre de 2001. En julio de 1993, Microsoft lanz Windows NT basado en un nuevo kernel. NT era considerado como el sistema operativo profesional y fue la primera versin de Windows para utilizar la Multitarea apropiativa. Windows NT ms tarde sera reestructurado tambin para funcionar como un sistema operativo para el hogar, con Windows XP. El 24 de agosto de 1995, Microsoft lanz Windows 95, una versin nueva para los consumidores, y grandes fueron los cambios que se realizaron a la interfaz de usuario, y tambin se utiliza multitarea apropiativa. Windows 95 fue diseado para sustituir no solo a Windows 3.1, sino tambin de Windows para Workgroups y MS-DOS. Tambin fue el primer sistema operativo Windows para utilizar las capacidades Plug and Play. Los cambios que trajo Windows 95 eran revolucionarios, a diferencia de los siguientes, como Windows 98 y Windows Me. El soporte estndar para Windows 95 finaliz el 31 de diciembre de 2000 y el soporte ampliado para Windows 95 finaliz el 31 de diciembre de 2001. El siguiente en la lnea de consumidor fue lanzado el 25 de junio de 1998, Microsoft Windows 98. Sustancialmente fue criticado por su lentitud y por su falta de fiabilidad en

68

comparacin con Windows 95, pero muchos de sus problemas bsicos fueron posteriormente rectificados con el lanzamiento de Windows 98 Second Edition en 1999. El soporte estndar para Windows 98 termin el 30 de junio de 2002, y el soporte ampliado para Windows 98 termin el 11 de julio de 2006. Como parte de su lnea profesional, Microsoft lanz Windows 2000 en febrero de 2000. La versin de consumidor tras Windows 98 fue Windows Me (Windows Millennium Edition). Lanzado en septiembre de 2000, Windows Me implementaba una serie de nuevas tecnologas para Microsoft: en particular fue el Universal Plug and Play. Durante el 2004 parte del cdigo fuente de Windows 2000 se filtr en internet, esto era malo para Microsoft porque el mismo ncleo utilizado en Windows 2000 se utiliz en Windows XP. En octubre de 2001, Microsoft lanz Windows XP, una versin que se construy en el kernel de Windows NT que tambin conserva la usabilidad orientada al consumidor de Windows 95 y sus sucesores. En dos ediciones distintas, Home y Professional, el primero carece por mucho de la seguridad y caractersticas de red de la edicin Professional. Adems, la primera edicin Media Center fue lanzada en 2002, con nfasis en el apoyo a la funcionalidad de DVD y TV, incluyendo grabacin de TV y un control remoto. El soporte estndar para Windows XP termin el 14 de abril de 2009. El soporte extendido continuar hasta el 8 de abril de 2014. En abril de 2003, Windows Server 2003 se introdujo, reemplazando a la lnea de productos de servidor de Windows 2000 con un nmero de nuevas caractersticas y un fuerte enfoque en la seguridad; lo cual fue seguido en diciembre de 2005 por Windows Server 2003 R2. El 30 de enero de 2007, Microsoft lanz Windows Vista. Contiene una serie de caractersticas nuevas, desde un shell rediseado y la interfaz de usuario da importantes cambios tcnicos, con especial atencin a las caractersticas de seguridad. Est disponible en varias ediciones diferentes y ha sido objeto de muy severas crticas debido a su patente inestabilidad, sobredemanda de recursos de hardware, alto costo, y muy alta incompatibilidad con sus predecesores, hecho que no ocurra con stos. El 22 de octubre de 2009, Microsoft lanz Windows 7. A diferencia de su predecesor, Windows Vista, que introdujo a un gran nmero de nuevas caractersticas, Windows 7 pretenda ser una actualizacin incremental, enfocada a la lnea de Windows, con el objetivo de ser compatible con aplicaciones y hardware que Windows Vista no era compatible. Windows 7 tiene soporte multi-touch, un shell de Windows rediseado con una nueva barra de tareas, conocido como Superbar, un sistema red llamado HomeGroup, y mejoras en el rendimiento sobre todo en velocidad y en menor consumo de recursos, an sorprendntemente contina siendo muy propenso a ataque por virus informticos

69

LINUX Linux es, a simple vista, un Sistema Operativo. Es una implementacin de libre distribucin UNIX para computadoras personales (PC), servidores, y estaciones de trabajo. Fue desarrollado para el i386 y ahora soporta los procesadores i486, Pentium, Pentium Pro y Pentium II, as como los clones AMD y Cyrix. Tambin soporta mquinas basadas en SPARC, DEC Alpha, PowerPC/PowerMac, y Mac/Amiga Motorola 680x0. Como sistema operativo, Linux es muy eficiente y tiene un excelente diseo. Es multitarea, multiusuario, multiplataforma y multiprocesador; en las plataformas Intel corre en modo protegido; protege la memoria para que un programa no pueda hacer caer al resto del sistema; carga slo las partes de un programa que se usan; comparte la memoria entre programas aumentando la velocidad y disminuyendo el uso de memoria; usa un sistema de memoria virtual por pginas; utiliza toda la memoria libre para cache; permite usar bibliotecas enlazadas tanto esttica como dinmicamente; se distribuye con cdigo fuente; usa hasta 64 consolas virtuales; tiene un sistema de archivos avanzado pero puede usar los de los otros sistemas; y soporta redes tanto en TCP/IP como en otros protocolos. Linux es una muy buena alternativa frente a los dems sistemas operativos. Ms all de las ventajas evidentes de costo, ofrece algunas caractersticas muy notables. En comparacin con las otras versiones de Unix para PC, la velocidad y confiabilidad de Linux son muy superiores. Tambin est en ventaja sobre la disponibilidad de aplicaciones. Comparado con sistemas operativos como los diferentes Microsoft Windows, Linux tambin sale ganando. Los bajos requisitos de hardware permiten hacer un sistema potente y til de aquel 486 que algunos guardan en un armario. Esta misma caracterstica permite aprovechar al mximo las capacidades de las computadoras ms modernas. Es poco prctico tener una PC con 16 Mb de RAM y ponerle un sistema operativo que ocupa 13. No solo es superior respecto a el sistema de multitarea y de administracin de memoria, sino tambin en la capacidades de networking (conectividad a redes) y de multiusuario. La nica desventaja de Linux frente a estos sistemas, es la menor disponibilidad de software, pero este problema disminuye con cada nuevo programa que se escribe para el proyecto GNU, y con algunas empresas que estn desarrollando software comercial para Linux Caractersticas Multitarea: La palabra multitarea describe la habilidad de ejecutar varios programas al mismo tiempo. LINUX utiliza la llamada multitarea preventiva, la cual asegura que todos los programas que se estn utilizando en un momento dado sern ejecutados, siendo el sistema operativo el encargado de ceder tiempo de microprocesador a cada programa.

70

Multiusuario: Muchos usuarios usando la misma mquina al mismo tiempo. Multiplataforma: Las plataformas en las que en un principio se puede utilizar Linux son 386-, 486-. Pentium, Pentium Pro, Pentium II,Amiga y Atari, tambin existen versiones para su utilizacin en otras plataformas, como Alpha, ARM,MIPS, PowerPC y SPARC. Multiprocesador: Soporte para sistemas con ms de un procesador est disponible para Intel y SPARC. Funciona en modo protegido 386. Proteccin de la memoria entre procesos, de manera que uno de ellos no pueda colgar el sistema. Carga de ejecutables por demanda: Linux slo lee del disco aquellas partes de un programa que estn siendo usadas actualmente. Poltica de copia en escritura para la comparticin de pginas entre ejecutables: esto significa que varios procesos pueden usar la misma zona de memoria para ejecutarse. Cuando alguno intenta escribir en esa memoria, la pgina se copia a otro lugar. Esta poltica de copia en escritura tiene dos beneficios: aumenta la velocidad y reduce el uso de memoria. Memoria virtual usando paginacin (sin intercambio de procesos completos) a disco: A una particin o un archivo en el sistema de archivos, o ambos, con la posibilidad de aadir ms reas de intercambio sobre la marcha Un total de 16 zonas de intercambio de 128Mb de tamao mximo pueden ser usadas en un momento dado con un lmite terico de 2Gb para intercambio. Este lmite se puede aumentar fcilmente con el cambio de unas cuantas lneas en el cdigo fuente. La memoria se gestiona como un recurso unificado para los programas de usuario y para el cach de disco, de tal forma que toda la memoria libre puede ser usada para cach y sta puede a su vez ser reducida cuando se ejecuten grandes programas. Libreras compartidas de carga dinmica (DLL's) y libreras estticas. Todo el cdigo fuente est disponible, incluyendo el ncleo completo y todos los drivers, las herramientas de desarrollo y todos los programas de usuario; adems todo ello se puede distribuir libremente. Hay algunos programas comerciales que estn siendo ofrecidos para Linux actualmente sin cdigo fuente, pero todo lo que ha sido gratuito sigue siendo gratuito. Control de tareas POSIX.

71

Soporte para muchos teclados nacionales o adaptados y es bastante fcil aadir nuevos dinmicamente. Consolas virtuales mltiples: varias sesiones de login a travs de la consola entre las que se puede cambiar con las combinaciones adecuadas de teclas (totalmente independiente del hardware de video). Se crean dinmicamente y puedes tener hasta 64. Soporte para varios sistemas de archivo comunes, incluyendo minix-1, Xenix y todos los sistemas de archivo tpicos de System V, y tiene un avanzado sistema de archivos propio con una capacidad de hasta 4 Tb y nombres de archivos de hasta 255 caracteres de longitud.

72

ANDROID Android es un sistema operativo basado en GNU/Linux diseado originalmente para dispositivos mviles, tales como telfonos inteligentes, pero que posteriormente se expandi su desarrollo para soportar otros dispositivos tales como tablets, reproductores MP3, netbooks, PCs, televisores, lectores de e-books e incluso, se han llegado a ver en el CES, microondas y lavadoras. Android tiene una gran comunidad de desarrolladores escribiendo aplicaciones para extender la funcionalidad de los dispositivos. A la fecha, se han sobrepasado las 250.000 aplicaciones disponibles para la tienda de aplicaciones oficial de Android: Android Market, sin tener en cuenta aplicaciones de otras tiendas no oficiales para Android, como pueden ser la App Store de Amazon o la tienda de aplicaciones de Samsung. Android Market es la tienda de aplicaciones en lnea administrada por Google, aunque existe la posibilidad de obtener software externamente. Los programas estn escritos en el lenguaje de programacin Java. No obstante, no es un sistema operativo libre de malware, aunque la mayora de ello es descargado de sitios de terceros. La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el ncleo de las bibliotecas de Java en una mquina virtual Dalvik con compilacin en tiempo de ejecucin. Las bibliotecas escritas en lenguaje C incluyen un administrador de interfaz grfica, un framework OpenCore, una base de datos relacional SQLite, una API grfica OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor grfico SGL, SSL y una biblioteca estndar de C Bionic. El sistema operativo est compuesto por 12 millones de lneas de cdigo, incluyendo 3 millones de lneas de XML, 2,8 millones de lneas de lenguaje C, 2,1 millones de lneas de Java y 1,75 millones de lneas de C++. Los componentes principales del sistema operativo de Android: Aplicaciones: las aplicaciones base incluyen un cliente de correo electrnico, programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones estn escritas en lenguaje de programacin Java. Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura est diseada para simplificar la reutilizacin de componentes; cualquier aplicacin puede publicar sus capacidades y cualquier otra aplicacin puede luego hacer uso de esas capacidades. Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.

73

Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por varios componentes del sistema. Estas caractersticas se exponen a los desarrolladores a travs del marco de trabajo de aplicaciones de Android. Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicacin Android corre su propio proceso, con su propia instancia de la mquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr mltiples mquinas virtuales de forma eficiente. Ncleo Linux: Android depende de Linux para los servicios base del sistema como seguridad, gestin de memoria, gestin de procesos, pila de red y modelo de controladores. El ncleo tambin acta como una capa de abstraccin entre el hardware y el resto de la pila de software.

74

BIBLIOGRAFIA LGICA DE PROGRAMACIN, OVIEDO REGINO EFRAN, D. ECOE, 2004, PP. 1-5. LA INFORMTICA, PRESENTE Y FUTURO EN LA SOCIEDAD, PREZ ANDRADE MARA GABRIELA, DUARTE ABRAHAM, ED. UNIVERSIDAD REY JUAN CARLOS SERVICIO DE PUBLICACIONES, MADRID 2006, PP. 34-41. INTRODUCCIN A LA PC, ARROYO PETER, ED. LUL.COM, 2008, PP. 20-22, 45-47. HTTP://WWW.CAD.COM.MX/GENERACIONES_DE_LAS_COMPUTADORAS.HTM HTTP://WWW.LAREVISTAINFORMATICA.COM/GENERACION-COMPUTADORAS.HTML HTTP://WWW.LENGUAJES-DE-PROGRAMACION.COM/HISTORIA-DE-LACOMPUTACION.SHTML HTTP://TESIS.UFM.EDU.GT/59692/TESIS_%C3%ADNDICE.HTM HTTP://WWW.LENGUAJES-DE-PROGRAMACION.COM/LENGUAJES-DEPROGRAMACION.SHTML HTTP://WWW.DMA.EUI.UPM.ES/HISTORIA_INFORMATICA/DOC/LENGUAJES.HTM HTTP://WWW.TODOPROGRAMACION.COM.AR/ARCHIVES/2005/04/LENGUAJES_DE_PR.HTML HTTP://WWW.SLIDESHARE.NET/LILIANA06/HISTORIA-DE-LOS-LENGUAJES-DEPROGRAMACIN HTTP://WWW.LENGUAJES-DE-PROGRAMACION.COM/ HTTP://WWW.AEROMENTAL.COM/2006/08/16/EVOLUCION-DE-LOS-SISTEMASOPERATIVOS/ HTTP://WWW.MITECNOLOGICO.COM/MAIN/HISTORIAEVOLUCIONSISTEMAOPERATI VO HTTP://WWW.TORREALDAY.COM.AR/ARTICULOS/ARTICULO005.HTM HTTP://WWW.TOTALISTAS.COM/X_PASCAL.HTM HTTP://ANTONIOALEJANDROFIRME.BLOGSPOT.COM/2010/05/EVOLUCION-DELPROCESAMIENTO-DE-DATOS.HTML HTTP://COMPUTACIONDEASIS.BLOGSPOT.COM/2010/04/LA-PASCUALINA.HTML HTTP://DELTA.CS.CINVESTAV.MX/~CCOELLO/LIBROHISTORIA/PASCAL.HTML HTTP://WWW.XTIMELINE.COM/EVT/VIEW.ASPX?ID=619259 HTTP://WWW.XTIMELINE.COM/EVT/VIEW.ASPX?ID=619310 HTTP://DELTA.CS.CINVESTAV.MX/~CCOELLO/LIBROHISTORIA/JACQUARD.HTML HTTP://DELTA.CS.CINVESTAV.MX/~CCOELLO/LIBROHISTORIA/ HTTP://EVOLUCION-DEL-COMPUTADOR.BLOGSPOT.COM/ HTTP://PROGRAMACION1-UTP.BLOGSPOT.COM/ HTTP://WWW.DIPITY.COM/PATTYS/HISTORIA-DE-LA-INFORMATICA_2/ HTTP://INFORMATICAFRIDA.BLOGSPOT.COM/2009/03/QUINTA-GENERACIONIMAGENES.HTML HTTP://HELBOWEN24.WORDPRESS.COM/2010/07/14/QUINTA-GENERACION-DECOMPUTADORAS/

75

Anda mungkin juga menyukai