Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Introducción A Los Lenguajes de Programción PDF
Introducción A Los Lenguajes de Programción PDF
programación
Sesión 2: Lenguajes de Programación
1
Referencias
• Tema 1 de apuntes
2
Indice
• Abstracción
• Paradigmas de programación
• Compiladores e intérpretes
3
Historia de los lenguajes de programación
4
Historia de los lenguajes de programación
Much of my work has come from being lazy. I didn't like writing programs, and so,
when I was working on the IBM 701, writing programs for computing missile
trajectories, I started work on a programming system to make it easier to write
programs.
5
Historia de los lenguajes de programación
6
Aspectos que provocan la evolución de los LP
• Estudios teóricos
• Estandarización
7
¿Por qué estudiar lenguajes de programación?
8
Los LP en continua evolución
• Ruby:
9
Los LP en continua evolución
• Scala:
10
Definición de lenguaje de programación
A powerful programming language is more than just a means for instructing a computer
to perform tasks. The language also serves as a framework within which we organize
our ideas about processes. Thus, when we describe a language, we should pay
particular attention to the means that the language provides for combining simple ideas
to form more complex ideas.
11
Características de los lenguajes de programación
12
Elementos de los lenguajes de programación
14
Paradigmas de programación
• Paradigma funcional
• Paradigma lógico
15
Paradigma funcional
• Definición de funciones
(define (factorial x)
• Programación declarativa (if (= x 0)
1
(* x (factorial (- x 1)))))
16
Paradigma lógico
• Definición de reglas
• Programación declarativa
padrede('pablo', 'juan'). % pablo es padre de juan
padrede('pablo', 'marcela').
padrede('carlos', 'debora').
hijode(A,B) :- padrede(B,A).
• Lenguajes: Prolog, Mercury, Oz. abuelode(A,B) :- padrede(A,C), padrede(C,B).
hermanode(A,B) :- padrede(C,A) , padrede(C,B), A \== B.
familiarde(A,B) :- padrede(A,B).
familiarde(A,B) :- hijode(A,B).
familiarde(A,B) :- hermanode(A,B).
?- hermanode('juan', 'marcela').
yes
?- hermanode('carlos', 'juan').
no
?- abuelode('pablo', 'maria').
yes
?- abuelode('maria', 'pablo').
no
17
Paradigma imperativo
• Definición de procedimientos
tRango = record
f,c: tDimension value 1;
end;
• Pasos de ejecución de un proceso tpMatriz = ^eMatriz;
• Ejemplo en Java
19
public class Bicicleta {
public int marcha;
public int velocidad;
21
Compilación
• Ejemplos: C, C++
• Mayor eficiencia
22
Interpretación
23
Ejecución en máquina virtual
24
Enlazado de rutinas y librerías
25
Preprocesamiento
26