Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
LENGUAJESDEPROGRAMACION
A.Definicin
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
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
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
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
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
Elfisaconstraintlogic
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.
Sisal: A high-performance
functional language with implicit parallelism for scientific programming . .
Postscript.Internet
PostScriptResources
Prolog:TheLogic
ProgrammingLanguage
Pythonisanobject
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