Está en la página 1de 53

Lenguajes de Programacin

Prof. Jos R. Rojas.


Noviembre, 2.007

Contenido
LENGUAJESDEPROGRAMACION

A.Definicin

B.PropsitosdelosLenguajes
C.CaractersticasdelosLenguajes
D.NivelesdelosLenguajesdeProgramacin
E.DesventajasdelosLenguajesdeAltoNivel.
F.ClasificacinsegnsuAplicacin

Lenguajes de Programacin
Definicin
Un LENGUAJE DE PROGRAMACION
consiste en una serie
especfica de
caracteres que permiten dar instrucciones a
un computador, con la finalidad de lograr que
ella realice ciertas acciones en la solucin de
algn problema computarizado. Cada lenguaje
tiene caractersticas propias en cuanto a su
GRAMATICA Y su SINTAXIS
3

Lenguajes de Programacin
PropsitodelosLenguajes
1.Naturales
Los lenguajes naturales o bien conocidos
como lenguajes humanos no son ms que un
medio para lograr
la comunicacin de
pensamientos

Lenguajes de Programacin
PropsitodelosLenguajes
2.Lenguajes de Programacin
Su propsito es ms restringido,
son
limitados por la capacidad del hardware y del
software. Se orientan ms hacia el mandato
de acciones a ejecutar por el computador

Lenguajes de Programacin
CaractersticasdelosLenguajesdeProg
1.Naturales
Permite la transmisin de muchos pensamientos a
diferentes niveles y con diferentes significados.Una
descripcin de un pensamiento puede ser
impersonal y objetiva o emocional y subjetiva
Puede utilizarse la prosa y la poesa o la
descripcin formal, tcnica, humorstica, etc.
6

Lenguajes de Programacin
CaractersticasdelosLenguajesdeProg
2.Lenguajes de Programacin
No se requiere que comuniquen una gran
variedad de pensamientos, es suficiente que
permitan la transmisin de solo cuatro
pensamientos
bsicos
(cuatro
tipo
de
operaciones)
Es imprescindible que la comunicacin sea
precisa y clara, es decir, no debe admitir
ambigedades
7

Lenguajes de Programacin
Clasificacin

Esposibleclasificarloslenguajesde
programacinsiguiendodiferentescriterios.
Seconsiderarntres:
NiveldeAbstraccin
Finalidaddellenguaje
Caractersticasdellenguaje

Lenguajes de Programacin
Clasificacin

SegnelNiveldeabstraccin:
Lenguajesdebajonivel:
Cercanosalamquina
Bajoniveldeabstraccin
LenguajeMquina
Ensamblador

.Lenguajesdealtonivel:
. Cercanosalproblema
. Altoniveldeabstraccin
9

Lenguajes de Programacin
Clasificacin

Segnlafinalidad,existenlenguajes:
.Cientficos:ALGOL,FORTRAN,...
.Ingenieriles:ADA,DYNAMO,...
.deGestin:COBOL,dBASE,...
.deInteligenciaArtificial:LISP,
PROLOG,...
.Multipropsito:PASCAL,MODULA2,
C,...
10

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin
Los lenguajes de programacin se pueden
clasificar segn su cercana o similitud al
lenguaje mquina o lenguaje binario, a esto se
le conoce como nivel del lenguaje. Mientras ms
parecido sea el lenguaje al lenguaje mquina o
binario su nivel ser menor y contrapuesto se
tendr los lenguajes de alto nivel que se
asemejan a los lenguajes naturales
11

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin

LenguajeNatural

Alto Nivel

LenguajeMquina

BajoNivel
12

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin

1. Bajo Nivel
Este nivel corresponde al lenguaje de
programacin
ASSEMBLER
o
lenguaje
Ensamblador que est asociado a un respectivo
lenguaje mquina. El lenguaje ensamblador es
simplemente una representacin simblica del
lenguaje mquina asociado, lo cual permite una
programacin menos tediosa que con el lenguaje
mquina correspondiente
13

Ejemplo (assembly code)


lda $30,-32($30)
stq $26,0($30)
stq $15,8($30)
bis $30,$30,$15
bis $16,$16,$1
stl $1,16($15)
lds $f1,16($15)
sts $f1,24($15)
ldl $5,24($15)
bis $5,$5,$2
s4addq $2,0,$3
ldl $4,16($15)
mull $4,$3,$2
ldl $3,16($15)
addq $3,1,$4
mull $2,$4,$2
ldl $3,16($15)
addq $3,1,$4
mull $2,$4,$2
stl $2,20($15)
ldl $0,20($15)
br $31,$33
$33:
bis $15,$15,$30
ldq $26,0($30)
ldq $15,8($30)
addq $30,32,$30
ret $31,($26),1

14

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin

1.Bajo Nivel

Este lenguaje requiere que el programador


conozca profundamente la arquitectura del
equipo, adems que presenta una complicacin
de programacin mayor que con los lenguajes de
alto nivel

15

Lenguajes de Bajo Nivel


Arquiteturadelamquina
L
OP
S

R1, operando1
R1 o R0 , operando2
R1, resultado

<OP> ----> A| R | M | D

Memoria

Load

Store
R0
R1

16

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin

2. Alto Nivel
Son los lenguajes de programacin ms
modernos, presentan una gran facilidad para el
programador en cuanto a la facilidad de realizar
programas
debido
a
que
poseen
MACROINSTRUCCIONES.
Una MACROINSTRUCCION es una instruccin escrita
en un lenguaje de diferente al mquina que mediante
traduccin es convertida en otro grupo de instrucciones,
en lenguaje mquina
17

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin

2. Alto Nivel
Los lenguajes de alto nivel pueden ser divididos
en distintos grupo, siendo ellos los siguiente:
Lenguajes de Alto Nivel de 4ta. Generacin o

Lenguajes Declarativos.
Lenguajes de Alto Nivel de 3era. Generacin.
Lenguajes de Alto Nivel Especiales o de Mediano
Nivel.
18

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin

LenguajeNatural

AltoNivel

LenguajeMquina

BajoNivel
19

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin

LenguajeNatural

Declarativos
3era. Generacin
ediano Nivel

LenguajeMquina

BajoNivel
20

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin

2.1. Lenguajes Declarativos


Gran parecido con los lenguajes formales
en cuanto a su potencia expresiva y
funcional.
Son lenguajes de ordenes, indican "lo que
hay que hacer" y no "como hacerlo".
21

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin

2.1. Lenguajes Declarativos


Son fciles de aprender y de programar,
no requiere de alto conocimiento de
computacin.
Requiere traductor.

22

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin

2.2. Lenguajes 3era. Generacin


Fcil legibilidad y comprensin entre
programadores.
Tienen una alta transportabilidad, son
independientes de la mquina.
Programacin rpida, gracias a las
macroinstrucciones.
23

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin

2.2. Lenguajes 3era. Generacin


Requiere traductor.
No requiere que el programador conozca
de la arquitectura de la mquina
Como ejemplo de estos lenguajes tenemos:
PASCAL, ADA, MODULA, COBOL, BASIC,
ALGOL, PROLOG, LISP, ETC., en la actualidad
existen ms de 200 lenguajes, muchos de ellos
con un elevado nmero de variantes o dialectos. 24

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin
2.3. Lenguajes de Mediano Nivel
Estos lenguajes presentan caractersticas
iguales a los lenguajes de alto nivel de 3era
generacin, pero incluyen una caracterstica
especial que los a ayudado a tener una gran
importancia en la actualidad como es la de
permitir el acceso a la arquitectura de la
mquina con un potencial similar al de los
lenguajes de bajo nivel, pero con la facilidad de
los de alto nivel.
25

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin
2.3. Lenguajes de Mediano Nivel

Una de las aplicaciones principales que


es la de construccin de sistemas
operativos (UNIX), manejadores de bases
de datos Y otros lenguajes de
programacin . Un ejemplo de este tipo de
lenguajes es el LENGUAJE C en todas
sus variantes.
26

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin

Desventajas de los Lenguajes De Alto


Nivel

Tienen un alto tiempo de traduccin

(compilacin).
No se aprovechan las posibles ventajas
de la arquitectura interna de la mquina
(caso especial los de mediano nivel).
27

Lenguajes de Programacin
NivelesdelosLenguajesdeProgramacin
Desventajas de los Lenguajes De Alto Nivel
Se incrementa la ocupacin de memoria
interna.
El tiempo de ejecucin es mayor puesto que
las instrucciones generadas por el compilador
son ms numerosas que las correspondientes al
mismo programa escrito directamente en
ASSEMBLER o lenguaje mquina.
28

Lenguajes de Programacin
ClasificacinsegnsuAplicacin
Segn sea la utilizacin u orientacin que
posean la mayora de las
aplicaciones
elaboradas, los lenguajes de programacin se
pueden clasificar de la siguiente manera:
Cientfico (FORTRAN, C)
Procesamiento de Datos (PL/1, Cobol, Leng. Xbase)
Procesamiento de Texto (snobol, XML)
Inteligencia Artificial (LISP, PROLOG)
Programacin de Sistemas (C, ADA,MODULA)
29

Lenguajes de Programacin
ClasificacinsegnsuAplicacin
a.Cientfico
Son lenguajes que permiten las solucin de
problemas donde existe una alta manipulacin de
nmeros y arreglos de nmeros usando principios
matemticos y estadsticos. Usualmente la cantidad
de
datos en tales problemas es relativamente
pequea y su estructura es relativamente simple.
Frecuentemente los problemas cientficos requieren
de alto procesamiento y bajo proceso de E/S
30

Lenguajes de Programacin
ClasificacinsegnsuAplicacin
b. Procesamiento de Datos
Son lenguajes con el propsito de permitirle al
programador elaborar programas donde el fin
principal es el de crear, mantener y extraer datos
contenidos en registros y archivos. El volumen de
datos que se manipula es generalmente grande,
pero por lo contrario la realizacin de procesos
aritmticos es baja, incrementndose el nmero de
procesos de E/S. Por lo general los procesos son de
tipo BATCH en vez de iterativo
31

Lenguajes de Programacin
ClasificacinsegnsuAplicacin
c. Procesamiento de Texto
Su principal caracterstica es la de procesar
texto en lenguaje natural. El texto procesado no
tiene ninguna restriccin en cuanto al lenguaje
de programacin utilizado para el desarrollo de
aplicaciones de textos.

32

Lenguajes de Programacin
ClasificacinsegnsuAplicacin
d.Inteligencia Artificial
La condicin principal de estos lenguajes es la
de permitir la implementacin de aplicaciones
que simulan un comportamiento inteligente.
Estos lenguajes son muy utilizados en
aplicaciones como juegos de ajedrez, programas
de compresin del lenguaje natural, robtica y
sistemas expertos.
33

Lenguajes de Programacin
ClasificacinsegnsuAplicacin
e.Programacin de Sistemas
Son lenguajes de programacin que permiten
el desarrollo de programas que hacen interfaz
entre
la
computadora
(hardware),
el
programador y/o el operador. Dentro de las
aplicaciones comnmente desarrolladas en
estos
lenguajes
tenemos:
Compiladores,
Ensambladores, Traductores, Rutinas de E/S,
Facilidades de Gestin, Sistemas
Operativos,
etc.
34

Lenguajes de Programacin
ClasificacinsegnsuAplicacin

e.Programacin de Sistemas
Dos de las caractersticas que poseen
las aplicaciones que se pueden desarrollar
con estos lenguajes son: la necesidad de
tratar con sucesos impredecibles o
excepcionales y la necesidad de coordinar
actividades de varios programas o tareas
ejecutndose asincronamente.
35

Lenguajes de Programacin

ADA
Basic,Visual
Beta
C,C++,VisualC
Java
Cecil:Cecilisanew

purelyobjectoriented
languageintendedto
supportrapidconstruction
ofhighquality,extensible
software

COBOL:COmercial

BuisnessOrientedLanguage

Elisp: Emacs lisp


Dylan:Dylan is a new Object
Oriented Dynamic Language
(OODL). Dylan combines the
features of static and dynamic
languages

Eclipse:

combines Sepia's
extended Prolog technology with
MegaLog's persistent knowledge
base functionality, a substantial
subset of CHIP's constraints
handling facilities, several new
constraints libraries, and soon orparallelism as featured in ElipSys.
36

Lenguajes de Programacin

Eiffelisanadvanced

objectorientedprogramming
languagethatemphasizesthe
designandconstructionof
highqualityandreusable
software.

Elfisaconstraintlogic

programminglanguagebased
ontheLFLogical
Framework.Itisintendedas
auniformmetalanguagefor
specifying,implementing,
andprovingpropertiesof
programminglanguagesand
logics

Erlang: Concurrent functional


programming language for large
industrial real-time systems.
Dynamically typed.

Forth :Forth is an embeded stack


language.
FORTRAN
Lisp
Occam programming language
based on CSP Parallel Computing

Oz is a concurrent constraint
programming language
37

Lenguajes de Programacin

PerlApowerfulscripting
andstringmanipulation
language.

Postscript.Internet
PostScriptResources

Prolog:TheLogic

Sisal: A high-performance
functional language with implicit
parallelism for scientific
programming
.
.

ProgrammingLanguage

Pythonisanobject

orientedscriptingand
prototypinglanguagewhich
somepreferoverPerl,TCL
orScheme
38

Lenguajes de Programacin

39

Lenguajes de Programacin

40

Lenguajes de Programacin

41

Lenguajes de Programacin

42

Lenguajes de Programacin

43

Lenguajes de Programacin

44

45

Lenguajes de Programacin

46

47

Lenguajes de Programacin

48

Lenguajes de Programacin

49

50

Lenguajes de Programacin
Lenguajes de alto nivel Lenguajes imperativos

1. FORTRAN

|
COBOL
ALGOL 60
--------|
--------|----------------------------------------------------------------|
|
|
||
|
|
|
IC
ALGOL 68
Pascal
PL/I
|
SIMULA
BCPL
---------------------------|--------|--------|------------|
|---|-----|------|---|
|
|
|
|
|
CLU |
Modula
|
|
|
Smalltalk 72
|
C
|
|
|
|
-----|------------|---|--------Ada
|
|
|
| Smalltalk 80
|---|--------|
Object Pascal
|
|
|
|----------------|
|
|
|Eiffel Smalltalk V
Objective C
C++
|--------|----------------------------------|
|
|
OOPL/I
OOCOBOL

51

Lenguajes de Programacin
Lenguajes aplicativos o
funcionales
2. LISP
--------------------------|
|
|
|
LOOPS Plasma INTERLISP Scheme

52

Lenguajes de Programacin
Actividad Grupal
Por equipo, conciba un
computador simple hipottico,
Conciba un lenguaje para darle
instrucciones a esa mquina.
Entregar por equipo en la
prxima clase.

53

También podría gustarte