Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de Programación
Historia de los Lenguajes de
Programación(1)
Charles Babbage fue un
matemático que se dedicó a la
docencia e investigación en la U. de
Cambridge, Inglaterra
Babbage no pudo
concretar su proyecto
por diversos motivos.
Historia (3)
Computador
Aplicaciones de los LP
Aplicaciones Científicas
Aplicaciones Comerciales
Inteligencia Artificial
Programación de Sistemas
Otros:
Programación Dirigida por Eventos
Programación Imperativa
Se basa en el modelo de Von Neumman.
Una instrucción tras otra en forma secuencial.
Se opera sobre datos almacenados en variables.
Un programa imperativo parte de valores
almacenados en variables, los transforma y el
resultado se deja en las mismas u otras
variables.
Ej: C, Pascal, Fortran
Puro: Híbrido:
- Menos dogmático (permite
-Dogmático asignación a variables e
-Potencia expresiva instrucciones secuenciales)
- Menos potencia expresiva
-Transparencia referencial - Transparencia referencial
no se cumple siempre.
Programación Lógica
Se trabaja de forma descriptiva, estableciendo
relaciones entre entidades, indicando no cómo
hacerlo, sino qué hacer.
La idea esencial de la programación lógica es:
algoritmos = lógica + control.
Un algoritmo se construye especificando
conocimiento en un lenguaje formal (lógica de
primer orden), y el problema se resuelve
mediante un mecanismo de inferencia (control)
que actúa sobre aquél.
Está basado en el cálculo de predicados de primer
orden.
Ej: Prolog (clásico de la Inteligencia Artificial)
Programación Orientada a Objetos
Extensión de los lenguajes imperativos.
Se basa en el concepto de Clases y
Objetos.
Una clase tiene atributos y métodos que
permiten accesar dichos atributos.
Un objeto es una instancia de una clase.
Ej: C++, JAVA, C#
Permite abordar aplicaciones de mayor
envergadura.
Los programas son más fáciles de
escribir, mantener y reutilizar.
Programación Dirigida por Eventos
La estructura y la ejecución de los
programas están determinados por
los sucesos que ocurran en el
programa durante su ejecución.
Es el usuario el que dirige el flujo de
ejecución del programa.
Ej: Visual Basic, Visual C
Evolución
Fortran- 1958
Lenguaje “FORmula TRANslation” (Diseñado por Johan
Backus en IBM)
No-procedural.
Hechos: Consultas:
padre(juan,amanda)
?- padre(X,juan)
madre(ximena,amanda)
padre(andres,juan)
padre(patricio,bonifacio) Reglas:
padre(juan,patricio)
¿Quién es abuelo?
padre(juan,ana)
madre(ximena,ana) abuelo(X,Y):-padre(X,Z),padre(Z,Y)
madre(laura,juan) abuelo(X,Y):-padre(X,Z),madre(Z,Y)
Traductores
Compiladores
Intérpretes
Compilador
Recibecomo entrada un programa
fuente, lo traduce y obtiene como
resultado un programa objeto.
Programa Programa
Fuente Compilador Objeto
(Leng. Alto (Leng. Maq)
Nivel)
Etapas en la compilación
Programa
Análisis Léxico
Fuente
Análisis Tabla de
Sintáctico símbolos
Análisis
Semántico Código Objeto de
otras Compilaciones