Está en la página 1de 22

TEORIA DE LENGUAJ ES-2014-I

Ing. Sandra C. Rodrguez Avila


INTRODUCCION
SCRA TEORIA DE LENGUAJ ES
Procesadores de lenguaje es el nombre genrico que
reciben todas las aplicaciones informticas en las cuales
uno de los datos fundamentales de entrada es un
lenguaje. La definicin anterior afecta a una gran variedad
de herramientas software:
Traductores (translators)
Compiladores (compilers)
Ensambladores (assemblers)
Montadores de enlaces o enlazadores (linkers)
Cargadores (loaders)
Intrpretes (interpreters)
Desensambladores (dissemblers)
Decompiladores (decompilers), etc
SCRA TEORIA DE LENGUAJ ES
1. Lenguajes de Programacin
Lenguaje natural:
Las relaciones humanas
se llevan a cabo a travs
del lenguaje. Una lengua
permite la expresin de
ideas y de
razonamientos, y sin ella
la comunicacin sera
imposible
Traduccin
Leng. de Programacin
Notacin que se usa para
describir Algoritmos y
Estructuras de Datos y que
se puede implementar en
una Computadora.
La programacin de
ordenadores se realiza en
los llamados lenguajes de
programacin que
posibilitan la comunicacin
de rdenes a la
computadora u ordenador.
Compilador
SCRA TEORIA DE LENGUAJ ES
Un lenguaje de programacin se puede definir
de distintas formas:
es una notacin formal para describir algoritmos o
funciones que sern ejecutadas por un ordenador.
es un lenguaje para de comunicar instrucciones al
ordenador.
es una convencin para escribir descripciones que
puedan ser evaluadas.
Tambin se utilizan en Informtica otros
lenguajes que no son de programacin y que
tienen otras aplicaciones, por ejemplo puede
haber lenguajes para describir formatos
grficos, de texto, de descripcin de pginas, de
descripcin de sonidos y msica, etc...
SCRA TEORIA DE LENGUAJ ES
Clasificacin de los lenguajes de
programacin
Los lenguajes de programacin se pueden
clasificar desde distintos puntos de vista:
Segn su grado de independencia de la
mquina
Lenguaje mquina
Lenguaje ensamblador (en ingls assembly)
Lenguajes de medio nivel
Lenguajes de alto nivel o lenguajes orientados a
usuarios
Lenguajes orientados a problemas concretos
SCRA TEORIA DE LENGUAJ ES
Segn la forma de sus instrucciones
Lenguajes imperativos o procedimentales
Lenguajes declarativos: lgicos y funcionales
Lenguajes concurrentes
Lenguajes orientados a objetos
Por generaciones
Primera generacin
Segunda generacin
Tercera generacin
Cuarta generacin
Quinta generacin
Generacin orientada a objetos
Generacin visual
Generacin internet
SCRA TEORIA DE LENGUAJ ES
SCRA TEORIA DE LENGUAJ ES
Grado de independencia de la
mquina: Lenguaje mquina
Son aquellos que estn escritos en lenguajes
directamente inteligibles por la mquina, ya que
sus instrucciones son cadenas binarias que
especifican una operacin y las posiciones o
direcciones de memoria implicadas en la
operacin.
Las instrucciones en lenguaje de mquina
dependen del hardware de la computadora y,
por tanto, diferirn de una computadora a otra.
SCRA TEORIA DE LENGUAJ ES
Grado de independencia de la
mquina: Lenguaje ensamblador
Son ms fciles de utilizar que los lenguaje de mquina, pero
dependen de la mquina en particular.
El lenguaje por excelencia en esta clasificacin es el
ensamblador.
Las instrucciones en lenguaje ensamblador son instrucciones
conocidas como mnemotcnicos (mnemonics).
Un programa escrito en lenguaje ensamblador no puede ser
ejecutado directamente por la computadora en esto se
diferencia esencialmente del lenguaje mquina, sino que
requiere una fase de traduccin al lenguaje mquina.
El programa original se denomina programa fuente y el
programa traducido en lenguaje mquina se llama programa
objeto. El traductor de programas fuente a objeto es un
programa llamado ensamblador (assembler) y existe en casi
todas las computadoras.
SCRA TEORIA DE LENGUAJ ES
Grado de independencia de la
mquina: Lenguajes de medio nivel
Tienen algunas de las caractersticas de los
lenguajes de bajo nivel (posibilidad de acceso
directo a posiciones de memoria, indicaciones
para que ciertas variables se almacenen en los
registros del microprocesador, etc...) aadidas a
las posibilidades de manejo de estructuras de
control y de datos de los lenguajes de alto nivel.
Ejemplos de este tipo de lenguajes son el C y el
FORTH.
SCRA TEORIA DE LENGUAJ ES
Grado de independencia de la mquina:
Lenguajes de alto nivel
Tienen caractersticas superiores a los lenguajes de tipo
ensamblador, aunque no tienen algunas posibilidades
de acceso directo al sistema. FORTRAN, COBOL y
Pascal.
Facilitan la escritura de programas con estructuras de
datos complejas, la utilizacin de bloques, y
procedimientos o subrutinas.
Son fciles de aprender por los programadores. En la
mayora de lenguajes se emplean palabras en ingls.
El proceso de Traduccin es complejo.
El programa original se denomina programa fuente y el
programa traducido en lenguaje mquina se llama
programa objeto. El traductor de programas fuente a
objeto es un programa llamado compilador o
interprete.
SCRA TEORIA DE LENGUAJ ES
Dentro de los lenguajes de alto nivel se pueden destacar
un tipo de lenguajes, orientados a objetos, que permiten
definir tipos abstractos de datos (habitualmente
denominados clases) que agrupan datos y mtodos
(operadores, funciones y procedimientos).
Los objetos son la instanciacin de una clase. Las
clases se definen en tiempo de compilacin, y los
objetos son definidos en ejecucin. Las clases pueden
heredar propiedades de otras clases (herencia).
El acceso a los datos de un objeto tan slo se hace a
travs de sus mtodos (encapsulacin). Los mtodos
con un mismo nombre pueden manejar distintos tipos de
objetos (polimorfismo), detectando el mtodo en tiempo
de ejecucin la operacin que debe realizar sobre el
objeto (asociacin dinmica).
Ejemplos de este tipo de lenguajes son Smalltalk, C++,
Eiffel, Object Pascal y Turbo Pascal
SCRA TEORIA DE LENGUAJ ES
Forma de sus instrucciones: Lenguajes
imperativos o procedimentales
Son lenguajes orientados a instrucciones, es decir la
unidad de trabajo bsica de estos lenguajes es la
instruccin o sentencia.
Ejemplos de lenguajes imperativos son: Pascal, C, C++,
Ada, FORTRAN, COBOL, Modula-2, Oberon, etc...
Histricamente son los primeros lenguajes: FORTRAN,
COBOL y ALGOL son los precursores y su influencia se
ha propagado hasta la actualidad
Este tipo de lenguajes se caracteriza por:
Uso intensivo de variables.
Estructura de programas basada en instrucciones.
Manejo frecuente de las instrucciones de asignacin.
Resolucin de algoritmos por medio de estructuras de
control secuenciales, alternativas y repetitivas.
Incorporacin de mecanismos de manejo de bloques.
SCRA TEORIA DE LENGUAJ ES
SCRA TEORIA DE LENGUAJ ES
Forma de sus instrucciones: Los lenguajes
declarativos
Son lenguajes de muy alto nivel cuya notacin es muy
prxima al problema real del algoritmo que resuelven. Hay
dos tipos de lenguajes declarativos: lenguajes funcionales y
lenguajes lgicos.
Los lenguajes funcionales o aplicativos tienen todas sus
construcciones como llamadas a funciones matemticas.
Ejemplos de lenguajes funcionales: LISP,CLOS], Scheme,
APL, ML, Miranda, Hope, Haskell, Concurrent Clean,, etc...
Los lenguajes lgicos definen sus instrucciones siguiendo un
tipo de Lgica. El lenguaje de programacin lgica ms
utilizado es el PROLOG, que utiliza la lgica causal. La
programacin lgica maneja relaciones (predicados) entre
objetos (datos). Las relaciones se especifican con reglas y
hechos. La ejecucin de programas lgicos consiste en la
demostracin de hechos sobre las relaciones por medio de
preguntas. Ejemplos de lenguajes lgicos: PROLOG,
Concurrent, PROLOG, Prolog++, GHC, Parlog, Vulcan, Polka.
SCRA TEORIA DE LENGUAJ ES
Forma de sus instrucciones
Los lenguajes concurrentes
Son los que permiten la ejecucin simultnea ("paralela"
o "concurrente") de dos o varias tareas. La concurrencia
puede ser una caracterstica propia del lenguaje, o el
resultado de ampliar las instrucciones de un lenguaje no
concurrente. Ejemplos: Ada, Concurrent C, Concurrent
Pascal, Concurrent Prolog, CSP, Argus, Actors, Linda,
Monitors, Ccc32 compilador de C concurrente para
Windows, etc...
Los lenguajes orientados a objetos (LOO). Actualmente
existen ms de 2.000 lenguajes de alto nivel diferentes,
de los cuales alrededor de un centenar son lenguajes
orientados a objetos o lenguajes basados en objetos.
Ejemplos: Smalltalk, C++, Object Pascal, Turbo Pascal,
Delphi, CLOS, Prolog++, J ava y Eiffel.
SCRA TEORIA DE LENGUAJ ES
SCRA TEORIA DE LENGUAJ ES
Por generaciones
La primera generacin est constituida por los
lenguajes mquina y ensamblador desarrollados en los
aos cuarenta y cincuenta.
La segunda generacin comienza con el desarrollo del
primer compilador de FORTRAN en el ao 1958 y
continua hasta mediados de los aos sesenta con la
normalizacin por el American National Standard
Institute (ANSI) de los lenguajes de programacin,
ligados hasta ese momento a marcas comerciales. Se
caracteriza por los lenguajes con asignacin esttica de
memoria, es decir toda la memoria se asigna en tiempo
de compilacin. Estos lenguajes no tenan ni
recursividad, ni manejaban estructuras dinmicas de
datos. Ejemplos de estos lenguajes son FORTRAN y
COBOL.
SCRA TEORIA DE LENGUAJ ES
La tercera generacin est ligada al trmino
programacin estructurada, y se desarrolla entre
mediados de los aos sesenta y mediados de los aos
setenta, aunque a nivel de lenguajes sus races estn en
el lenguaje Algol 60 (desarrollado a principios de los
aos sesenta). Como caractersticas principales de los
lenguajes de esta generacin son: uso de mdulos o
subprogramas, variables locales, recursividad, y
estructuras dinmicas. Ejemplos de estos lenguajes son:
Algol 60, PL/I, Algol 68, Pascal, Modula, y C.
La cuarta generacin est caracterizada por lenguajes
de muy alto nivel dedicados a tareas especficas, en
muchos casos denominados herramientas. Gran parte
de ellos estn dedicados a la gestin de bases de datos
y a la generacin de aplicaciones con herramientas
CASE. El desarrollo de estos lenguajes se produce
desde mediados de los aos setenta hasta finales de los
ochenta. Ejemplos: SQL, DB2, DBASE, Ingress, Natural,
Ideal, Application Factory, etc...
SCRA TEORIA DE LENGUAJ ES
La quinta generacin est asociada a los lenguajes de
Inteligencia Artificial. La mayor parte de este tipo de
lenguajes son versiones actualizadas o descendientes
de los lenguajes Lisp y Prolog. El desarrollo intenso de
estos lenguajes se produce desde principios de los aos
ochenta a principios de los noventa. Ejemplos: Common
Lisp, Prolog, Parlog, ML, Haskell, Miranda, etc...
Generacin orientada a objetos. surge a mediados de
los aos ochenta, aunque el primer lenguaje orientado a
objetos fue el Simula 67. Smalltalk se comenz a
desarrollar a principios de los aos setenta,
desembocando en el Smalltalk 80. El desarrollo del
lenguaje Ada (basado en objetos, no orientado a
objetos) a finales de los 70 y la proliferacin de las
Interfaces Grficas de Usuario (IGU) a finales de los
ochenta ha implicado la creacin de nuevos lenguajes o
la ampliacin de lenguajes para introducir el paradigma
de orientacin a objetos. Ejemplos: Simula, Smalltalk,
C++, Object Pascal, Turbo Pascal, CLOS, ObjectLisp,
Eiffel, y Oberon.
SCRA TEORIA DE LENGUAJ ES
2. Sistemas Formales
Consisten en un conjunto de palabras llamadas
axiomas y un conjunto finito de relaciones,
llamadas reglas de produccin o inferencias
Ejemplos de Sistemas Formales: la Teora de
conjuntos, el lgebra de Boole y la Forma
Normal de Backus.
Son importantes para el diseo, la
implementacin y el estudio de los lenguajes de
programacin. Se utilizan en particular para
especificar la sintaxis y la semntica de los
lenguajes de programacin.
SCRA TEORIA DE LENGUAJ ES
3. Compiladores
Un lenguaje de programacin se implementa
construyendo un traductor, el cual traduce
programas que estn en el lenguaje de
programacin en lenguaje de maquina que
pueden ser ejecutados directamente por una
computadora.