Unidad 1 Programacion Logica y Funcional
Unidad 1 Programacion Logica y Funcional
Unidad 1 Programacion Logica y Funcional
1.4
En los lenguajes de programacin con disciplina de tipos, cada tipo representa una
coleccin de valores o datos similares. El conocer los tipos de las funciones ayuda a
documentar los programas y evitar errores en tiempo de ejecucin.
Un lenguaje tiene disciplina de tipos si los errores de tipos se detectan siempre es
necesario determinar los tipos de todos los operandos, ya sea en tiempo de compilacin o
de ejecucin
Tipos de datos.
Tipo de dato
Especificacin de un dominio (rango de valores) y de un conjunto
vlido de operaciones a los que normalmente los traductores
asocian un esquema de representacin interna propio.
Clasificacin de los tipos de datos
En funcin de quin los define:
Tipos de datos estndar
Tipos de datos definidos por el usuario
En funcin de su representacin interna:
Tipos de datos escalares o simples
Tipos de datos estructurados
Programacin Imperativa
La programacin imperativa, en contraposicin a la
programacin declarativa es un paradigma de programacin que
describe la programacin en trminos del estado del programa y
sentencias que cambian dicho estado. Los programas imperativos
son un conjunto de instrucciones que le indican al computador
cmo realizar una tarea.
La implementacin de hardware de la mayora de
computadores es imperativa; prcticamente todo el hardware de los
computadores est diseado para ejecutar cdigo de mquina, que
es nativo al computador, escrito en una forma imperativa. Esto se
debe a que el hardware de los computadores implementa el
paradigma de las Mquinas de Turing. Desde esta perspectiva de
bajo nivel, el estilo del programa est definido por los contenidos
de la memoria, y las sentencias son instrucciones en el lenguaje de
mquina nativo del computador (por ejemplo el lenguaje
ensamblador).
Los lenguajes imperativos de alto nivel usan variables y
sentencias ms complejas, pero an siguen el mismo paradigma.
Las recetas y las listas de revisin de procesos, a pesar de no ser
programas de computadora, son tambin conceptos familiares
similares en estilo a la programacin imperativa; cada paso es una
instruccin, y el mundo fsico guarda el estado (Zoom).
Los primeros lenguajes imperativos fueron los lenguajes
de mquina de los computadores originales. En estos lenguajes, las
instrucciones fueron muy simples, lo cual hizo la implementacin
de hardware fcil, pero obstruyendo la creacin de programas
complejos. Fortran, cuyo desarrollo fue iniciado en 1954 por John
Backus en IBM, fue el primer gran lenguaje de programacin en
superar los obstculos presentados por el cdigo de mquina en la
lambda.
Los lenguajes de programacin funcional,
especialmente los que son puramente funcionales, han sido
enfatizados en el ambiente acadmico principalmente y no tanto en
el desarrollo de software comercial. Sin embargo, lenguajes de
programacin importantes tales como Scheme, Erlang, Objective
Caml y Haskel, han sido utilizados en aplicaciones comerciales e
industriales por muchas organizaciones. La programacin
funcional tambin es utilizada en la industria a travs de lenguajes
de dominio especfico como R (estadstica), Mathematica
(matemticas simblicas), J y K (anlisis financiero), F# en
Microsoft.NET y XSLT (XML). Lenguajes de uso especfico
usados comnmente como SQL y Lex/Yacc, utilizan algunos
elementos de programacin funcional, especialmente al procesar
valores mutables. Las hojas de clculo tambin pueden ser
consideradas lenguajes de programacin funcional.
La programacin funcional tambin puede ser
desarrollada en lenguajes que no estn diseados especficamente
para la programacin funcional. En el caso de Perl, por ejemplo,
que es un lenguaje de programacin imperativo, existe un libro que
describe cmo aplicar conceptos de programacin funcional.
JavaScript, uno de los lenguajes ms ampliamente utilizados en la
actualidad, tambin incorpora capacidades de programacin
funcional.
Programacin declarativa
La Programacin Declarativa, es un paradigma de
programacin que est basado en el desarrollo de programas
especificando o "declarando" un conjunto de condiciones,
proposiciones, afirmaciones, restricciones, ecuaciones o
transformaciones que describen el problema y detallan su solucin.
los anteriores.
Programacin orientada a componentes
La programacin orientada a componentes (que tambin es
llamada basada en componentes) es una rama de la ingeniera del
software, con nfasis en la descomposicin de sistemas ya
conformados en componentes funcionales o lgicos con interfaces
bien definidas usadas para la comunicacin entre componentes.
Se considera que el nivel de abstraccin de los componentes
es ms alto que el de los objetos y por lo tanto no comparten un
estado y se comunican intercambiando mensajes que contienen
datos.
Programacin Orientada a Aspectos
La Programacin Orientada a Aspectos (POA) es un
paradigma de programacin relativamente reciente cuya intencin
es permitir una adecuada modularizacin de las aplicaciones y
posibilitar una mejor separacin de incumbencias. Gracias a la
POA se pueden encapsular los diferentes conceptos que componen
una aplicacin en entidades bien definidas, eliminando las
dependencias entre cada uno de los mdulos. De esta forma se
consigue razonar mejor sobre los conceptos, se elimina la
dispersin del cdigo y las implementaciones resultan ms
comprensibles, adaptables y reusables. Varias tecnologas con
nombres diferentes se encaminan a la consecucin de los mismos
objetivos y as, el trmino POA es usado para referirse a varias
tecnologas relacionadas como los mtodos adaptativos, los filtros
de composicin, la programacin orientada a sujetos o la
separacin multidimensional de competencias.
https://www.academia.edu/6553813/Unidad_1_Prog_Log_y_
Funcional
http://karlaprogramacionfuncional.blogspot.mx/2014/02/unid
ad-1-conceptos-fundamentales.html
https://es.scribd.com/doc/273112849/Resumen-Unidad-1Programacion-logica-y-funcional