Trabajo de Teoria de Lenguaje y Compiladores

16
TEORIA DE LENGUAJES Y COMPILADORES PROFESORA : MUÑOZ CASANOVA DIANA CECILIA TEMA : HISTORIA DE LOS LENGUAJES DE PROGRAMACION FECHA INICIO : 2012-04-23 FECHA ENTREGA : 2012-04-27 INTEGRANTES : CHAVEZ OTINIANO MELQUISEDEC MONTALVAN GONZALES GIANCARLO TOCAS VERAMENDI JAIRO NUEVO CHIMBOTE 2012

description

Informatica

Transcript of Trabajo de Teoria de Lenguaje y Compiladores

Page 1: Trabajo de Teoria de Lenguaje y Compiladores

TEORIA DE LENGUAJES Y COMPILADORES

PROFESORA : MUÑOZ CASANOVA DIANA CECILIA

TEMA : HISTORIA DE LOS LENGUAJES DE PROGRAMACION

FECHA INICIO : 2012-04-23

FECHA ENTREGA : 2012-04-27

INTEGRANTES : CHAVEZ OTINIANO MELQUISEDEC MONTALVAN GONZALES GIANCARLO TOCAS VERAMENDI JAIRO

NUEVO CHIMBOTE 2012

Page 2: Trabajo de Teoria de Lenguaje y Compiladores

1:- ¿QUÉ OTROS PERSONAJES A NIVEL MUNDIAL DESTACARON EN EL AVANCE DE LAS COMPUTADORAS Y LOS LENGUAJES DE PROGRAMACIÓN?

HERMAN HOLLERIT (1860-1929): La oficina de censos

estadounidense comisionó al estadístico Herman

Hollerit para que aplicara su experiencia en tarjetas

perforadas y llevara a cabo el censo de 1890. Con el

procesamiento de las tarjetas perforadas y el

tabulador de tarjetas perforadas de Hollerit, el censo

se terminó en sólo 3 años y la oficina se ahorró alrededor de $5,000,000 de dólares.

Así empezó el procesamiento automatizado de datos. Hollerit no tomó la idea de las

tarjetas perforadas del inventor de Jackard, sino de la "fotografía de perforación"

Algunas líneas ferroviarias de la época expedían boletos con descripciones físicas del

pasajero; los conductores hacían orificios en los boletos que describían el color de

cabello, de ojos y la forma de nariz del pasajero. Eso le dio a Hollerit la idea para hacer

la fotografía perforada de cada persona que se iba a tabular. Hollertih fundó la

Tabulating Machine Company y vendió sus productos en todo el mundo. La demanda

de sus máquinas se extendió incluso hasta Rusia. El primer censo llevado a cabo en

Rusia en 1897, se registró con el Tabulador de Hollerith. En 1911, la Tabulating

Machine Company, al unirse con otras Compañías, formó la Computing-Tabulating-

Recording-Company.

En 1924 la Compañía cambió el nombre por el de International Bussines Machines Corporation (IBM)

ATANASOFF Y BERRY: Una antigua patente de un dispositivo que mucha gente

JOHN V. ATANASOFF

Page 3: Trabajo de Teoria de Lenguaje y Compiladores

creyó que era la primera computadora digital electrónica, se invalidó en 1973 por orden de un tribunal federal, y oficialmente se le dio el crédito a John V. Atanasoff como el inventor de la computadora digital electrónica. El Dr. Atanasoff, catedrático de la Universidad Estatal de Iowa, desarrolló la primera computadora digital electrónica entre los años de 1937 a 1942. Llamó a su invento la computadora Atanasoff-Berry, ó solo ABC (Atanasoff Berry Computer). Un estudiante graduado, Clifford Berry, fue una útil ayuda en la construcción de la computadora ABC.

"La primera computadora digital electrónica de operación automática del mundo, fue construida en este edificio en 1939 por John Vincent Atanasoff, matemático y físico de la Facultad de la Universidad, quien concibió la idea, y por Clifford Edward Berry, estudiante graduado de física."

(Computadora ABC.)

Mauchly y Eckert: después de varias conversaciones con el Dr. Atanasoff, leer apuntes que describían los principios de la computadora ABC y verla en persona, el Dr. John W. Mauchly colaboró con J.Presper Eckert, Jr. para desarrollar una máquina que calculara tablas de trayectoria para el ejército estadounidense. El producto final, una computadora electrónica completamente operacional a gran escala, se terminó en 1946 y se llamó ENIAC (Electronic Numerical Integrator And Computer), ó Integrador numérico y calculador electrónico. La ENIAC

construida para aplicaciones de la Segunda Guerra mundial, se terminó en 30 meses por un equipo de científicos que trabajan bajo reloj.

ECKERT AND MAUCHLY

Page 4: Trabajo de Teoria de Lenguaje y Compiladores

(Fue el primer ordenador totalmente electrónico, estaba compuesta por 20.000 válvulas de vacío, 70.000 resistores y 500.000 soldaduras hechas a mano. La unidad necesitaba 100 kw de electricidad)

John von Neumann: En 1945, que había trabajado con

Eckert y Mauchly en la Universidad de Pensilvania,

publicó un artículo acerca del almacenamiento de

programas. El concepto de programa almacenado

permitió la lectura de un programa dentro de la

memoria de la computadora, y después la ejecución de

las instrucciones del mismo sin tener que volverlas a

escribir. La primera computadora en usar el citado

concepto fue la la llamada EDVAC (Eletronic Discrete-Variable Automatic Computer, es

decir computadora automática electrónica de variable discreta), desarrollada por Von

Neumann, Eckert y Mauchly.

Los programas almacenados dieron a las computadoras una flexibilidad y confiabilidad

tremendas, haciéndolas más rápidas y menos sujetas a errores que los programas

mecánicos. Una computadora con capacidad de programa almacenado podría ser

utilizada para varias aplicaciones cargando y ejecutando el programa apropiado.

Page 5: Trabajo de Teoria de Lenguaje y Compiladores

Grace Murray Hopper: En 1952 una oficial de la Marina de

E.U., desarrolló el primer compilador, un programa que

puede traducir enunciados parecidos al inglés en un código

binario comprensible para la maquina llamado COBOL

(Common Business-Oriented Languaje).

2.- ¿QUIÉN FUE EL PERSONAJE QUE TRABAJO CON CHARLES BABAGGE?

La novia de Babbage, Ada Augusta Byron, luego Condesa de Lovelace, hija del poeta inglés Lord Byron, que le ayuda en el desarrollo del concepto de la Máquina Diferencial, creando programas para la máquina analítica, es reconocida y respetada, como el primer programador de computadoras.

3.- ¿CÓMO ES CONOCIDO CHARLES BABBAGE?

Su increíble concepción, la máquina de Charles Babbage, que se parecía mucho a una computadora, no llegó jamás a construirse. Los planes de Babbage fueron demasiado ambiciosos para su época. Demasiado y demasiado pronto. Este avanzado concepto, con respecto a la simple calculadora, le valió a Babbage ser considerado el precursor de la computadora, es conocido por muchos como “El Padre de la computación”

Page 6: Trabajo de Teoria de Lenguaje y Compiladores

4.- ¿QUÉ PERSONAJE DIO LA IDEA DE PROGRAMACIÓN ALMACENADA?

John von Neumann, en 1945, que había trabajado con Eckert y Mauchly en la Universidad de Pensilvania, publicó un artículo acerca del almacenamiento de programas. El concepto de programa almacenado permitió la lectura de un programa dentro de la memoria de la computadora, y después la ejecución de las instrucciones del mismo sin tener que volverlas a escribir. La primera computadora en usar el citado concepto fue la la llamada EDVAC (Eletronic Discrete-Variable Automatic Computer, es decir computadora automática electrónica de variable discreta), desarrollada por Von Neumann, Eckert y Mauchly.

5.- ¿Cuál es el nombre del primer compilador y el primer Lenguaje de Programación?

Compilador:

Hopper y su equipo ampliaron sus mejoras en el código binario con el desarrollo de su primer compilador, el A-O.

Lenguaje de Programación:

En 1946 Grace Hopper, cientifica en sistemas y oficial de la marina estadounidense creo el FLOW-MATIC, considerado el primer lenguage de computadora útil para resolver problemas de usuarios comerciales, especificamente para la computadora UNIVAC 1. Era ligeramente cercano al idioma inglés y visto como un lenguaje de ‘alto nivel’: fácil de usar por los programadores pero necesitaba ser traducido por otro programa (compilador) en un lenguaje que la computadora pudiera interpretar y llevar a cabo.

6.- ¿EN QUÉ AÑO SE CREARON LOS LENGUAJES DE PROGRAMACION?

.NET [2001]:

.Net es la nueva plataforma de desarrollo que ha lanzado al mercado MicroSoft, y en la que ha estado trabajado durante los últimos años. Sin duda alguna va a ser uno de los entornos de desarrollo que reinen durante los proximos años.

Microsoft .NET es un conjunto de tecnologías de software , compuesto de varios lenguajes de programación que se ejecutan bajo el .NET Framework.

Vamos por partes. Podriamos dividir el entorno .NET en las siguientes partes:

Page 7: Trabajo de Teoria de Lenguaje y Compiladores

.NET Framework, que es el entorno de trabajo de la plataforma .NET y que la engloba completamente. Toda la plataforma .NET forma parte de .NET framework.

Lenguajes .NET. Destacan C# y VB.NET,y recientemente J#, aunque existen más lenguajes y con toda seguridad surgirán nuevos.

El Common Runtime Language CRL, que es el motor de ejecución común a todos los lenguajes .NET.

MSIL, Microsoft Intermedial language, es el lenguaje intermedio al que compilan las apliaciones (Asemmblies) .NET. Este lenguaje intermedio es interpretado por el CRL en tiempo de ejecución.

CLS, common Language Specification, que engloban las pautas que deben cumplir los lenguajes .NET. Es está característica la que va a permitir a otras compañias producir lenguajes compatibles con .NET.

ADO.NET, es la nueva interfaz de bases de datos. No se trata de una evolución de ADO, sino que se trata de una interfaz completamente nueva.

ASP.NET, es la nueva tecnología para páginas web dinámicas completamente integrada dentro del entorno .NET. Representa una autentica revolución en el desarrollo Web (Internet e Intranet).

Biblioteca de clases .NET, es el conjunto de clases que componen el .NET framework y que nos permiten realizar casi cualquier tarea de una manera facil y rápida.

Page 8: Trabajo de Teoria de Lenguaje y Compiladores

Power Builder [1990]:

Desarrollado por PowerSoft, fue creado en 1990 considerado muy limitado en principio, la idea caló hondo y tuvo mucho éxito en EE.UU, sobre todo debido a su especialización en el campo del desarrollo de bases de datos SQL, su perfecta adaptación con Oracle y el éxito de uno de sus objetos: la DataWindow.

Java [1991]:

Java se creó como una herramienta de programación para ser usada en un proyecto de set-top-box en una pequeña operación denominada the Green Project en Sun Microsystems en el año 1991. El equipo (Green Team), compuesto por trece personas y dirigido por James Gosling, trabajó durante 18 meses en Sand Hill Road en Menlo Park en su desarrollo.

Page 9: Trabajo de Teoria de Lenguaje y Compiladores

PHP [1994]:

Fue originalmente diseñado en Perl, con base en la escritura de un grupo de CGI binarios escritos en el lenguaje C por el programador danés-canadiense Rasmus Lerdorf en el año 1994 para mostrar su currículum vítae y guardar ciertos datos, como la cantidad de tráfico que su página web recibía. El 8 de junio de 1995 fue publicado "Personal Home Page Tools" después de que Lerdorf lo combinara con su propio Form Interpreter para crear PHP/FI.

7.- AVERIGUAR DIFERENCIAS ENTRE LENGUAJES CLIENTE-SERVIDOR Y DISTRIBUIDO

Lenguajes Cliente-Servidor

Esta arquitectura consiste básicamente en un cliente que realiza peticiones a otro programa (el servidor) que le da respuesta. En esta arquitectura la capacidad de proceso está repartida entre los clientes y los servidores, aunque son más importantes las ventajas de tipo organizativo debidas a la centralización de la gestión de la información y la separación de responsabilidades, lo que facilita y clarifica el diseño del sistema.

La arquitectura cliente-servidor sustituye a la arquitectura monolítica en la que no hay distribución, tanto a nivel físico como a nivel lógico.

Lenguajes distribuidos

Sistemas cuyos componentes hardware y software, que están en ordenadores conectados en red, se comunican y coordinan sus acciones mediante el paso de mensajes, para el logro de un objetivo. Se establece la comunicación mediante un protocolo prefijado por un esquema cliente-servidor".

Page 10: Trabajo de Teoria de Lenguaje y Compiladores

CARACTERÍSTICAS:

Concurrencia.- Esta característica de los sistemas distribuidos permite que los recursos disponibles en la red puedan ser utilizados simultáneamente por los usuarios y/o agentes que interactúan en la red.

Carencia de reloj global.- Las coordinaciones para la transferencia de mensajes entre los diferentes componentes para la realización de una tarea, no tienen una temporización general, está más bien distribuida a los componentes.

Fallos independientes de los componentes.- Cada componente del sistema puede fallar independientemente, con lo cual los demás pueden continuar ejecutando sus acciones. Esto permite el logro de las tareas con mayor efectividad, pues el sistema en su conjunto continua trabajando.

Procesamiento central (Host).- Uno de los primeros modelos de ordenadores interconectados, llamados centralizados, donde todo el procesamiento de la organización se llevaba a cabo en una sola computadora, normalmente un Mainframe, y los usuarios empleaban sencillos ordenadores personales.

Los problemas de este modelo son:

Cuando la carga de procesamiento aumentaba, se tenía que cambiar el hardware del Mainframe, lo cual es más costoso que añadir más computadores personales clientes o servidores que aumenten las capacidades.

El otro problema que surgió son las modernas interfaces gráficas de usuario, las cuales podían conllevar a un gran aumento de tráfico en los medios de comunicación y por consiguiente podían colapsar.

Grupo de Servidores.-Otro modelo que entró a competir con el anterior, también un tanto centralizado, son un grupo de ordenadores actuando como servidores, normalmente de archivos o de impresión, poco inteligentes para un número de Minicomputadores que hacen el procesamiento conectados a una red de área local.

Los problemas de este modelo son:

Podría generarse una saturación de los medios de comunicación entre los servidores poco inteligentes y los minicomputadores, por ejemplo cuando se solicitan archivos grades por varios clientes a la vez, podían disminuir en gran medida la velocidad de transmisión de información.

Page 11: Trabajo de Teoria de Lenguaje y Compiladores

8.- BUSCAR EJEMPLOS DE CÓDIGO DE MAQUINA (LENGUAJE DE MAQUINA)

El lenguaje máquina es el único que entiende directamente la computadora, utiliza el alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits (abreviatura inglesa de dígitos binarios).

Ejemplo (1)

0000

0001

1010

0001

01 A1

1000

1001

1001

1010

89 9A

0011

1010

1001

1100

3A 9C

0111

0100

0111

0000

74 70

1110

1001

0010

0000

E9 20

Ejemplo (2)

00000 1001110 LOAD 1111000001 10110100 STOR 1010000010 10011110 LOAD 1111000011 11010100 ADD 1010000100 10111111 STOR 1111100101 00000000 HALT 10100

CONCLUSIONES:

El estudio de los lenguajes de programación cada día seguirá avanzando y así también las computadoras, se irán creando nuevos lenguajes de programación y métodos cada vez más avanzados y a la vez mas entendibles o prácticos en nuestro lenguaje.

A través del desarrollo de las preguntas observamos que en años anteriores hubo gente con visiones futuristas que eran muy adelantadas para su época tal vez Babagge no fue el único que las tuvo sin embargo el las llevo a otro nivel el cual era construirlo y eso lo hace realmente importante porque años después se sabría que si funcionaria correctamente como babagge esperaba.

Después Vimos los lenguajes de programación realmente fascinante la forma en como fue desarrollándose y se fueron creando lenguajes fáciles y entendibles prácticamente eso hace que los programadores tengas menos equivocaciones y se les haga más fácil programar y seguir creando software

Page 12: Trabajo de Teoria de Lenguaje y Compiladores

para continuar el desarrollo de procesos cada vez estos se hacen a través de una computadora asi que el desarrollo de software siempre será importante.

BIBLIOGRAFÍA:

- Monografias.com S.A, Lic. Milvia benitez, Dr. Tulio infante. Historia de la computación. Recuperado 28-04-2012, de http://www.monografias.com/trabajos13/histcomp/histcomp.shtml

- Pellini Claudio. Historia de la computación y Conceptos Informáticos. Recuperado 28 Abril 2012, de http://www.portalplanetasedna.com.ar/computacion.htm

- WPMU-DEV. 15 noviembre 2011. Historia de la Informatica, Charles Babbage. Recuperado 28 Abril 2012, de http://histinf.blogs.upv.es/2011/11/15/charles_babbage/

- Escobol.com La increible Grace Hooper. Recuperado 28 Abril 2012 de, http://www.escobol.com/modules.php?name=Sections&op=viewarticle&artid=34-

- es.wikipedia.org. John William Mauchly. Recuperado 28 Abril 2012, de http://es.wikipedia.org/wiki/John_William_Mauchly

- WordPress.com, Luis Alejandro Guzman Busso. 24 abril 2007. ¿Cuál fue el primer lenguaje de programación?. Recuperado 28 Abril 2012, de http://busso.wordpress.com/2007/04/24/%C2%BFcual-fue-el-primer-lenguaje-de-programacion/

- timetoast. Los lenguajes de Programacion, Recuperado 28 Abril 2012, de http://www.timetoast.com/timelines/los-lenguajes-de-programacion

- http://www.todo-programacion.com.ar/archives/2005/04/lenguaje_de_maq.html

- http://www.alegsa.com.ar/Diccionario/C/1719.php

- http://www.devjoker.com/contenidos/programacion/25/Introduccion-a-NET.aspx