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
Esposibleclasificarloslenguajesde programacinsiguiendodiferentescriterios. Seconsiderarntres:
NiveldeAbstraccin Finalidaddellenguaje Caractersticasdellenguaje Clasificacin

Lenguajes de Programacin
SegnelNiveldeabstraccin: Lenguajesdebajonivel:
Cercanosalamquina Bajoniveldeabstraccin
LenguajeMquina Ensamblador

Clasificacin

.Lenguajesdealtonivel:
. Cercanosalproblema
. Altoniveldeabstraccin
9

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

Clasificacin

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
LenguajeNatural
NivelesdelosLenguajesdeProgramacin

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
1.Bajo Nivel
NivelesdelosLenguajesdeProgramacin

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

Memoria

Load
R0 R1

Store

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

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
LenguajeNatural
NivelesdelosLenguajesdeProgramacin

AltoNivel

LenguajeMquina

BajoNivel
19

Lenguajes de Programacin
LenguajeNatural
NivelesdelosLenguajesdeProgramacin
Declarativos 3era. Generacin ediano Nivel M

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 (compilacin). No se aprovechan las posibles ventajas de la arquitectura interna de la mquina (caso especial los de mediano nivel).
27

Tienen un alto tiempo de traduccin

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
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

ClasificacinsegnsuAplicacin

Lenguajes de Programacin

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

Elisp: Emacs lisp Dylan:Dylan is a new Object


Oriented Dynamic Language (OODL). Dylan combines the features of static and dynamic languages

purelyobjectoriented languageintendedto supportrapidconstruction ofhighquality,extensible software

Eclipse:

COBOL:COmercial

BuisnessOrientedLanguage

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.

Erlang: Concurrent functional


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

Elfisaconstraintlogic

Forth :Forth is an embeded stack language. FORTRAN Lisp Occam programming language
based on CSP Parallel Computing

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

Oz is a concurrent constraint
programming language
37

Lenguajes de Programacin

PerlApowerfulscripting
andstringmanipulation language.

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

Postscript.Internet
PostScriptResources

Prolog:TheLogic

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