You are on page 1of 6

COMPILADORES E

INTERPRETES

INTEGRANTES:
CARBAJAL LALUPU MARCO
NIQUEN ALVARADO JOSE
EXPLIQUE LA EVOLUCION DE LOS LENGUAJES DE PROGRAMACION
TENIENDO EN CUENTA LA EVOLUCION DE LAS COMPUTADORAS POR
GENERACIONES
PRIMERA GENERACION
En 1940 los primeros lenguajes de programacin preceden a la computadora
moderna en un inicio los lenguajes eran cdigos.
EL LENGUAJE MAQUINA: Es el nico que entiende la computadora, digital es
su lenguaje natural. En el solo se pueden utilizar dos smbolos: el 0 y el 1. Por
ello, al lenguaje maquina tambin se le denomina lenguaje binario.

SEGUNDA GENERACION
LENGUAJE ENSAMBLADOR: Es un lenguaje de programacin de bajo nivel.
Consiste en un conjunto de mnemnicos que representan instrucciones bsicas
para los computadores, microprocesadores, microcontroladores y otros circuitos
integrados programables. Implementa una representacin simblica de
los cdigos de mquina binarios y otras constantes necesarias para programar
una arquitectura de procesador y constituye la representacin ms directa
del cdigo mquina especfico para cada arquitectura legible por un
programador.

TERCERA GENERACION
FORTRAN (1956): Es el primer lenguaje de programacin considerado de alto
nivel, originalmente significa sistema de traduccin de frmulas matemticas fue
diseado en IBM durante los aos 50, se convirti en un lenguaje muy popular
en los aos 60 provocando que existieran numerosos compiladores, y versiones
del como la versin FORTRAN 66 y la versin final del FORTRAN 77,
regularizada por ANSI en 1980
BASIC (1964): Lenguaje de programacin desarrollado en la universidad de
Darthmouth en 1964 por J. Kemeny y T. Kurtz. BASIC (Berginners ALL purpose
Symbolic Instruction Code) fue ideado para que los estudiantes empezaran a
programar y poder pasar despus sus programas a lenguajes ms eficientes
como el FORTRAN por lo que se trata de un lenguaje fcil de aprender.
PASCAL (1970): Es un lenguaje de programacin de alto nivel de propsito
general. Fue desarrollado por el profesor Niklaus Wirth (en Suiza). Entre finales
de los aos 60 y principios de los 70. Wirth desarrollo este lenguaje con fines
didcticos, por lo que es un lenguaje muy utilizado para aprender a programar
por su sencillez y carcter estructurado.
C/C++(1980): Es un lenguaje de programacin diseado por Bjarne Stroustrup.
La intencin de su creacin fue el extender al lenguaje de
programacin C mecanismos que permiten la manipulacin de objetos. En ese
sentido, desde el punto de vista de los lenguajes orientados a objetos, el C++ es
un lenguaje hbrido.
JAVA (1995): Java se cre como una herramienta de programacin para ser
usada en un proyecto de set-top-box en una pequea operacin denominada the
Green Project en Sun Microsystems en el ao 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 (california) en su desarrollo.
El lenguaje se denomin inicialmente Oak (por un roble que haba fuera de la
oficina de Gosling), luego pas a denominarse Green tras descubrir que Oak era
ya una marca comercial registrada para adaptadores de tarjetas grficas y
finalmente se renombr a Java.
En 1994, se les hizo una demostracin de HotJava y la plataforma Java a los
ejecutivos de Sun. Java 1.0 a pudo descargarse por primera vez en 1994, pero
hubo que esperar al 23 de mayo de 1995, durante las conferencias de SunWorld,
a que vieran la luz pblica Java y HotJava, el navegador Web.

CUARTA GENERACION
Lenguajes o entornos de programacin orientados bsicamente a aplicaciones
de gestin y bases de datos.
SQL: Es un lenguaje especfico del dominio que da acceso a un sistema de
gestin de bases de datos relacionales que permite especificar diversos tipos de
operaciones en ellos. Una de sus caractersticas es el manejo del lgebra y
el clculo relacional que permiten efectuar consultas con el fin de recuperar, de
forma sencilla, informacin de bases de datos, as como hacer cambios en ellas.
NATURAL: Es un lenguaje de Software AG. que bsicamente es un sistema de
gestin de base de datos transaccional de alto rendimiento

QUINTA GENERACION

LISP: Fue creado originalmente como una notacin matemtica prctica para los
programas de computadora, basada en el clculo lambda de Alonzo Church. Se
convirti rpidamente en el lenguaje de programacin favorito en la investigacin
de la inteligencia artificial (AI). Como lenguajes de programacin precursor, el
Lisp fue pionero en muchas ideas en ciencias de la computacin, incluyendo
las estructuras de datos de rbol, el manejo de almacenamiento
automtico, tipos dinmicos, y el compilador auto contenido.

PROLOG: Es un lenguaje de programacin muy til para resolver problemas que


implican objetos y relaciones entre objetos. Est basado en los siguientes
mecanismos bsicos:
Unificacin
Estructuras de datos basadas en rboles
Back tracking automtico
EXPLIQUE LOS TIPOS O CLASIFICACION DE LENGUAJES DE
PROGRAMACION TENIENDO EN CUENTA DIVERSOS PUNTOS DE VISTA.

Clasificacin de los lenguajes de programacin segn su Nivel de


Abstraccin:
1. Lenguajes de Bajo Nivel: son Lenguajes de cdigo mquina, son un
conjunto de instrucciones en cdigo binario que el ordenador es capaz de
ejecutar directamente, especficos de cada tipo de procesador o CPU.
Ejemplos: Lenguaje de mquina y lenguajes ensambladores.
2. Lenguajes de Alto Nivel: ms parecidos al lenguaje natural, cercanos al
problema, nos olvidamos de la estructura interna del
ordenador. Ejemplos: C, Basic, Java.

Clasificacin de los lenguajes de programacin segn su Propsito:


1. Lenguajes de Propsito General: permiten la implementacin de
prcticamente cualquier algoritmo, el nivel de abstraccin es ms
uniforme, proporciona razonable rendimiento. Ejemplos: Pascal, C, C++,
Java, Delphi.
2. Lenguajes de Propsito Especfico: tienen por lo general un conjunto muy
restringido de caractersticas y un alto nivel de abstraccin para cumplir
tareas especficas como el procesamiento de textos, grficos, audio, video
e ingeniera. Ejemplos: Snobol, SQL, Matlab.

Clasificacin de los lenguajes de programacin segn su mtodo de


Ejecucin:
1. Lenguajes Compilados: traducen el cdigo fuente del programa a cdigo
mquina o cdigo objeto. Ejemplos: C, Pascal
2. Lenguajes Interpretados: ejecutan lnea a lnea las instrucciones de un
programa. Requieren del cdigo fuente para ejecutar el programa.
Ejemplos: Perl, Lisp.

Clasificacin de los lenguajes de programacin segn su Paradigma de


Programacin:
1. Lenguajes Imperativos: son abstracciones de alguna secuencia de
instrucciones que especifican con detalle el orden de ejecucin del
programa. Ejemplos: Fortran, Algol, Ada, Pascal, C, C++
2. Lenguajes Declarativos: expresan lo que el programa debe lograr sin
prescribir cmo hacerlo, en trminos de secuencias de acciones que
deben tomarse. Ejemplos: SQL, HTML, RPG
3. Lenguajes Funcionales: constan de un conjunto de funciones
predefinidas. Ejemplos: Lisp, Scheme, Common Lisp, ML, CAML
4. Lenguajes de Lgicos: expresan tareas utilizando la lgica formal
matemtica. Ejemplo: Prolog.
5. Lenguajes Orientados a Objetos: crean un sistema de clases y objetos
siguiendo el esquema del mundo real para definir los objetos, acciones y
forma de comunican entre objetos. Ejemplos: C++, Java.

EXPLIQUE EL FUNCIONAMIENTO DE LENGUAJE DE PROGRAMACION


POR ARQUITECTURAS RISC Y CISC.
RISC
Los procesadores RISC slo usan instrucciones sencillas que se puedan
ejecutar rpidamente. Por este motivo suelen ser arquitecturas basadas en
registros de propsito general que operan siempre sobre operandos que se
encuentran almacenados en el procesador, cerca de la unidad de ejecucin.
Instruccin de un solo ciclo. Las instrucciones RISC son sencillas y se ejecutan
en un ciclo de reloj. De esta forma, tienen poca o ninguna necesidad de
microcdigo; las instrucciones mquina suelen estar cableadas.
Operaciones registro a registro. La mayora de las instrucciones realizan
operaciones registro a registro, con la excepcin de las instrucciones LOAD y
STORE, que se utilizan para acceder a memoria. Esto simplifica el conjunto de
instrucciones y, por tanto, simplifica an ms la unidad de control.
Modos de direccionamiento sencillos. Casi todas las instrucciones utilizan el
modo de direccionamiento a registro, aunque haya otros ms complejos como el
de desplazamiento o el relativo al contador.
Formatos de instruccin sencillos. Generalmente, las arquitecturas RISC usan
uno o pocos formatos de instruccin.
La longitud de las instrucciones es siempre fija. El nmero de bits del campo de
cdigo de operacin tambin es fijo. Esto tiene varias ventajas, como el tamao
de los campos es fijo, la decodificacin del cdigo y el acceso a los operandos
en los registros se puede realizar simultneamente.
CISC
Arquitectura de microprocesador caracterizada por ejecutar un conjunto de
instrucciones complejas, estas instrucciones pueden realizar funciones muy
especficas, en contraposicin a la arquitectura RISC.
La tendencia hacia arquitecturas CISC fue motivada por el deseo de realizar
mquinas que proporcionaran un mejor soporte a los HLL, simplificando los
compiladores, mejorando las prestaciones ante el giro de los programadores
hacia los HLL (lenguajes de alto nivel).
Para ello, la tendencia inicial consisti en generar una instruccin mquina para
cada sentencia de HLL. Sin embargo, esto tropez con una realidad, las
instrucciones mquina complejas son difciles de utilizar, ya que el compilador
debe encontrar los casos a los que se ajusta su utilizacin. El resultado final es
que los compiladores raramente encuentran ocasiones en las que utilizar las
instrucciones complejas, y que la mayora de instrucciones que genera un
programa compilado son, en su mayora, las ms sencillas.
EJEMPLO:
SPARC (Scalable Processor Architecture, arquitectura de procesador escalable)
es una arquitectura de Sun Microsystems inspirada en la mquina RISC de
Berkeley. De ella toma fielmente su conjunto de instrucciones y organizacin de
registros en ventanas.
En este apartado se describe muy brevemente las organizaciones de registros y
formatos de instruccin de esta arquitectura comercial, sirviendo como ejemplo
de arquitectura RISC.