Zusammenfassung der Ressource
PROGRAMACIÓN LÓGICA Y
FUNCIONAL
- CARACTERÍSTICAS DE LOS LENGUAJES CONVENCIONALES
- Lenguajes Convencionales:También llamados «imperativos», son lenguajes inspirados
en la arquitectura de von Neumann. Los lenguajes de programación convencionales,
son en esencia una extensión del lenguaje máquina.
- Estos lenguajes utilizan las variables imitando las celdas de la MC, las
instrucciones de control (instrucciones de salto condicional o incondicional)
del lenguaje máquina y la instrucción de asignación que engloba las
instrucciones de carga (LOAD) y almacenamiento (STORE) del lenguaje
máquina y también las de movimiento (MOVE).
- Programación Imperativa: implementa los programas como una serie
de órdenes que la máquina tiene que cumplir. Es el tipo de
programación más extendida y los lenguajes de programación
imperativa suelen ser de ámbito general.
- Historia del lenguaje
imperativo
- Programación procedural.- Uso
de procedimientos y subrutinas.
Programación estructurada.- Los
programas sean correctos,
modulares y mantenibles.
Programación Orientada a
Objetos.- Modularidad,
mantenibilidad y estado local.
- Ventajas y desventajas del lenguaje convencional
- Ventajas: Eficiencia en la ejecución. Herramientas para la
compilación separada Herramientas para la depuración de errores.
Desventajas: Falta de generalidad Gestión explicita de la MC,
utilizando función malloc(), así como punteros, lo que es gran
fuente de errores. La lógica y el control se mezclan
- PROGRAMACIÓN DECLARATIVA :La programación declarativa (a veces
llamada programación inferencial) puede entenderse como un estilo de
programación en el que el programador especifica qué debe computarse, no
cómo deben realizarse los cómputos.
- VENTAJAS DE LA PROGRAMACIÓN DECLARATIVA
Descripciones compactas y muy expresivas. No hay necesidad
de emplear esfuerzo en diseñar un algoritmo que resuelva el
problema.La variedad de preguntas que se pueden responder con
una única descripción del dominio de problemas concreto suele
ser muy elevada.
- LENGUAJES DECLARATIVOS
- Lenguajes lógicos
Prolog (Programación
Lógica), ML
(Programación
funcional), Lisp
(Programación
funcional), Curry
(Programación
Lógico-Funcional)
F-Prolog (Programación
Lógica Difusa)
- Lenguajes algebraicos
Maude, SQL
- Lenguajes funcionales
Haskell, (Programación
funcional)
- APLICACIONES DE LA PROGRAMACIÓN DECLARATIVA:
Industriales en campos como las bases de datos Ingeniería del
software. Procesadores de lenguajes. Investigación operativa.
Seguridad de redes
- CONCEPTO DE PROGRAMACIÓN LÓGICA.
Los programas se ejecutan verificando la
presencia de una cierta condición habilitadora y,
cuando se satisface, ejecutan una acción
apropiada. También se le conoce como
lenguaje con base en reglas.
- IDEA ESENCIAL DE LA PROGRAMACIÓN LÓGICA
- CARACTERISTICAS DE LA PROGRAMACIÓN LÓGICA
Unificación de términos, Mecanismos de inferencia automática,
Recursión como estructura de control básica y Visión lógica de la
computación
- LENGUAJE DE PROGRAMACIÓN LÓGICA.
- Es un Lenguaje de Programación diseñado para
representar y utilizar el conocimiento que se tiene
sobre un determinado dominio.
- CAMPOS DE APLICACIÓN:
Sistemas
Expertos,Demostración
automática de
teoremas,Reconocimiento de
lenguaje natural ,Inteligencia
artificial ,Sistemas de
información .
- CONCEPTO DE PROGRAMACIÓN FUNCIONAL:
Es un modelo basado en la evaluación de funciones
matemáticas, entendidas como mecanismos para
aplicar ciertas operaciones sobre algunos valores o
argumentos, para obtener un resultado o valor de la
función para tales argumentos.
- CARACTERÍSTICAS DE LA PROGRAMACIÓN FUNCIONAL:
Funciones como abstracciones de 1er nivel, Los programas se
ejecutan evaluando expresiones, Las funciones son puras: sin
efectos colaterales, Típicamente se evita el mantener estados
mutables
- Características opcionales:
Especificación de listas
Reconocimiento de patrones
Evaluación retardada
- VENTAJAS:Carácter declarativo,
Transparencia referencial, Funciones de
alto nivel (high-order functions)
,Productividad,Polimorfismo
- DESVENTAJAS: Menor
eficiencia, Falta de experiencia
de los programadores
- Lenguajes Funcionales:
Haskell,Scala y Scheme
- Aplicaciones de la Programación Funcional:
Industriales. Por ejemplo: Merchant System y Peval.
Herramientas y aplicaciones de redes. Por ejemplo:
Clientes FTP anonimos de las universidades CMU y
Gasglow,Numéricas. Por ejemplo: MC-SYM WEB
HTML, XML Por ejemplo: XSLT, S.O Por ejemplo:
Smart-Card
- COMPARACIÓN CON LOS LENGUAJES
CONVENCIONALES Y ÁREAS DE APLICACIÓN:
La programación declarativa como la imperativa
presentan ventajas que pueden ser muy útiles en
las áreas de aplicación apropiadas.