Upload
truongquynh
View
219
Download
2
Embed Size (px)
Citation preview
1
Dirección General de Educación Superior Tecnológica
INSTITUTO TECNOLÓGICO DE SALINA CRUZ
TEMA: PARADIGMAS DE LA PROGRAMACIÓN
MATERIA: FUNDAMENTOS DE LA INVESTIGACIÓN
NOMBRE DE ALUMNO: NOE SANCHEZ SANTIAGO.
SEMESTRE Y GRUPO: 1 E1
CARRERA
ING. TECNOLOGIAS DE INFORMACION Y COMUNICACIONES.
SALINA CRUZ, OAXACA A 7 DE SEPTIEMBRE DEL 2012
Subsecretaría de Educación Superior
2
INDICE
INTRODUCCIÓN .........................................................................3
PARADIGMAS DE LA PROGRAMACIÓN ......................................4
PROGRAMACIÓN IMPERATIVA…………………………………….…..6
PROGRAMACIÓN FUNCIONAL…………………………………...........7
VENTAJAS DE USAR UN PARADIGMA FUNCIONAL………….........9
LENGUAJES FUNCIONALES……………………………………………….9
PROGRAMACIÓN DECLARATIVA………………………………….....10
PROGRAMACIÓN LÓGICA…………………………………………..….10
CAMPOS DE APLICACIÓN……………………………………………...11
FUNDAMENTOS…………………………………………………………....11
LENGUAJES…………………………………………………………….…..12
PROGRAMACION ORIENTADA A OBJETOS………………………...12
ORIGEN………………………………………………………………………14
CONCEPTOS FUNDAMENTALES………………………………….…….15
CARACTERÍSTICAS DE LA POO (PROGRAMACIÓN ORIENTADA A
OBJETOS)…………………………………………………………………..17
PROGRAMACIÓN DIRIGIDA POR EVENTOS……………………….18
PROGRAMACIÓN MODULAR ………………………………………….20
CONCLUSION……………………………………………………………….21
BIBLIOGRAFIA…………………………………………………………….22
3
INTRODUCCIÓN
En la siguiente investigación abordaremos el tema de paradigmas de la
programación, que clasifica a los distintos tipos de programación como lo es la
programación lógica, programación imperativa, programación funcional,
programación estructurada, programación declarativa, programación modular,
programación dirigida por evento.
Estos tipos de programación se clasifican de acuerdo al lenguaje y forma en que se
desarrollan, dentro de esta variedad de programación se encuentran algunos de los
programas o también algunos autores lo definen como sub-paradigmas que son
utilizados para el desarrollo de otros programas y algunos de estos son conocidos,
aunque hay otros que no son tan familiares pero de igual manera lo iremos
adaptando para nuestro conocimiento ya que nos es de gran importancia conocer los
tipos de programación para que cuando podamos o queramos desarrollar algún
programa sabremos donde clasificarlo de acuerdo a los conocimientos adquiridos en
esta investigación que mas adelante nos mostrara su contenido, espero que sea de
agrado para cualquier lector y que le proporcione información útil.
4
PARADIGMA DE PROGRAMACIÓN
Un paradigma de programación es una propuesta tecnológica que es adquirida por
una comunidad de programadores cuyo núcleo central es incuestionable en cuanto a
que unívocamente trata de resolver uno o varios problemas claramente delimitados.
La resolución de estos problemas debe suponer consecuentemente un avance
significativo en al menos un parámetro que afecte a la ingeniería de software. Tiene
una estrecha relación con la formalización de determinados lenguajes en su momento
de definición. Un paradigma de programación está delimitado en el tiempo en cuanto
a aceptación y uso ya que nuevos paradigmas aportan nuevas o mejores soluciones
que la sustituyen parcial o totalmente.
Ejemplo:
Probablemente el paradigma de programación que actualmente es el más usado a
todos los niveles es la orientación a objeto. El núcleo central de este paradigma es la
unión de datos y procesamiento en una entidad llamada "objeto", relacionable a su
vez con otras entidades "objeto".
Tradicionalmente datos y procesamiento se han separado en áreas diferente del
diseño y la implementación de software. Esto provocó que grandes desarrollos
tuvieran problemas de fiabilidad, mantenimiento, adaptación a los cambios y
escalabilidad. Con la orientación a objetos y características como el encapsulado,
polimorfismo o la herencia se permitió un avance significativo en el desarrollo de
software a cualquier escala de producción.
La orientación a objeto parece estar ligado en sus orígenes con lenguajes como Lisp y
Simula aunque el primero que acuño el título de programación orientada a objetos
fue Smalltalk
5
Tipos de paradigmas de programación
más comunes
Imperativo o por
procedimiento
Funcional Lógico Declarativo Orientado a objetos
C,BASIC, PASCAL
SCHEME, HASKELL
PROLOG
CONVINACION LOGICO -
FUNCIONAL
SMALLTALK
Representado por
6
PROGRAMACIÓN IMPERATIVA
La programación imperativa, en contraposición a la programación declarativa es un
paradigma de programación que describe la programación en términos del estado del
programa y sentencias que cambian dicho estado. Los programas imperativos son un
conjunto de instrucciones que le indican al computador cómo realizar una tarea.
La implementación de hardware de la mayoría de computadores es imperativa;
prácticamente todo el hardware de los computadores está diseñado para ejecutar
código de máquina, 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
Máquinas 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 máquina nativo del computador (por ejemplo el lenguaje ensamblador).
Los lenguajes imperativos de alto nivel usan variables y sentencias más complejas,
pero aún siguen el mismo paradigma. Las recetas y las listas de revisión de procesos,
a pesar de no ser programas de computadora, son también conceptos familiares
similares en estilo a la programación imperativa; cada paso es una instrucción, y el
mundo físico guarda el estado (Zoom).
Los primeros lenguajes imperativos fueron los lenguajes de máquina de los
computadores originales. En estos lenguajes, las instrucciones fueron muy simples, lo
cual hizo la implementación de hardware fácil, pero obstruyendo la creación de
programas complejos. Fortran, cuyo desarrollo fue iniciado en 1954por John
Backusen IBM, fue el primer gran lenguaje de programación en superar los
obstáculos presentados por el código de máquina en la creación de programas
complejos
ALGUNOS LENGUAJES IMPERATIVOS: BASIC,C,Fortran,Pascal,Perl,PHP.
7
PROGRAMACIÓN FUNCIONAL
En ciencias de la computación, la programación funcional es un paradigma de
programación declarativa basado en la utilización de funciones aritméticas que no
maneja datos mutables o de estado. Enfatiza la aplicación de funciones, en contraste
con el estilo de programación imperativa, que enfatiza los cambios de estado. La
programación funcional tiene sus raíces en el cálculo lambda, un sistema formal
desarrollado en los 1930 para investigar la definición de función, la aplicación de las
funciones y la recursión. Muchos lenguajes de programación funcionales pueden ser
vistos como elaboraciones del cálculo lambda.
En la práctica, la diferencia entre una función matemática y la noción de una
"función" utilizada en la programación imperativa es que las funciones imperativas
pueden tener efectos secundarios, al cambiar el valor de cálculos realizados
previamente. Por esta razón carecen de transparencia referencial, es decir, la misma
expresión sintáctica puede resultar en valores diferentes en diferentes momentos
dependiendo del estado del programa siendo ejecutado. Con código funcional, en
contraste, el valor generado por una función depende exclusivamente de los
argumentos alimentados a la función. Al eliminar los efectos secundarios se puede
entender y predecir el comportamiento de un programa mucho más fácilmente, y
esta es una de las principales motivaciones para utilizar la programación funcional.
Los lenguajes de programación funcional, especialmente los que son puramente
funcionales, han sido enfatizados en el ambiente académico principalmente y no
tanto en el desarrollo de software comercial. Sin embargo, lenguajes de
programación importantes tales como Scheme, Erlang, Objective Caml y Haskell, han
sido utilizados en aplicaciones comerciales e industriales por muchas organizaciones.
La programación funcional también es utilizada en la industria a través de lenguajes
de dominio específico como R (estadística), Mathematica (matemáticas simbólicas), J
y K (análisis financiero), F# en Microsoft.NET y XSLT (XML). Lenguajes de uso
específico usados comúnmente como SQL y Lex/Yacc, utilizan algunos elementos de
8
programación funcional, especialmente al procesar valores mutables. Las hojas de
cálculo también pueden ser consideradas lenguajes de programación funcional.
La programación funcional también puede ser desarrollada en lenguajes que no están
diseñados específicamente para la programación funcional. En el caso de Perl, por
ejemplo, que es un lenguaje de programación imperativo, existe un libro que describe
como aplicar conceptos de programación funcional. JavaScript, uno de los lenguajes
más ampliamente utilizados en la actualidad, también incorpora capacidades de
programación funcional.
En el siguiente esquema podemos observar la clasificación de los lenguajes funcionales.
TIENEN MAYOR CONSERVA SU
PUROS POTENCIA EXPRESIVA TRANSPARENCIA
REFERENCIAL
LENGUAJES
FUNCIONALES
SON MENOS ADMITE CONCEPTOS
HIBRIDOS DOGMATICOS DE LENJUAJES
IMPERATIVOS
9
VENTAJAS DE USAR UN PARADIGMA FUNCIONAL
Entre las ventajas que suelen citarse de usar un paradigma funcional en la
programación de computadoras, están las siguientes:
Ausencia de efectos colaterales
Proceso de depuración menos problemático
Pruebas de unidades más confiables
Mayor facilidad para la ejecución concurrente
LENGUAJES FUNCIONALES
Entre los lenguajes funcionales puros, cabe destacar a haskell y miranda. los
lenguajes funcionales híbridos más conocidos son scala, Lisp, Scheme, ocaml, sap y
standard ml (estos dos últimos, descendientes del lenguaje ml). Erlang es otro
lenguaje funcional de programación concurrente. Mathematica permite la
programación en múltiples estilos, pero promueve la programación funcional.
También es un lenguaje funcional dedicado a la estadística.2 recientemente Microsoft
research está trabajando en el lenguaje f# (functional#).
entre otros lenguajes que se podrían utilizar para programación funcional se podrían
incluir a Perl, pues, aunque es un lenguaje de propósito muy general, se pueden
realizar programas usando exclusivamente funciones definidas por el usuario; así
como python, como lenguaje que incorpora el paradigma funcional; o ruby.
10
PROGRAMACIÓN DECLARATIVA
La Programación Declarativa, es un paradigma de programación 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 solución. La solución es obtenida mediante
mecanismos internos de control, sin especificar exactamente cómo encontrarla (tan
sólo se le indica a la computadora que es lo que se desea obtener o que es lo que se
está buscando).
PROGRAMACIÓN LÓGICA
La programación lógica consiste en la aplicación del corpus de conocimiento sobre
lógica para el diseño de lenguajes de programación; no debe confundirse con la
disciplina de la lógica computacional.
La programación lógica es un tipo de paradigmas de programación dentro del
paradigma de programación declarativa. El resto de los subparadigmas de
programación dentro de la programación declarativa son: programación funcional,
programación basada en restricciones, programas DSL (de dominio específico) e
híbridos. La programación lógica gira en torno al concepto de predicado, o relación
entre elementos. La programación funcional se basa en el concepto de función (que
no es más que una evolución de los predicados), de corte más matemático.
.
11
CAMPOS DE APLICACIÓN
La programación lógica encuentra su hábitat natural en aplicaciones de inteligencia
artificial o relacionada: Sistemas expertos, donde un sistema de información imita las
recomendaciones de un experto sobre algún dominio de conocimiento.
Demostración automática de teoremas, donde un programa genera nuevos
teoremas sobre una teoría existente.
Reconocimiento de lenguaje natural, donde un programa es capaz de
comprender (con limitaciones) la información contenida en una expresión
lingüística humana.
Etc.
La programación lógica también se utiliza en aplicaciones más "mundanas" pero de
manera muy limitada, ya que la programación tradicional es más adecuada a tareas
de propósito general.
FUNDAMENTOS
La mayoría de los lenguajes de programación lógica se basan en la teoría lógica de
primer orden, aunque también incorporan algunos comportamientos de orden
superior como la lógica difusa. En este sentido, destacan los lenguajes funcionales,
ya que se basan en el cálculo lambda, que es la única teoría lógica de orden superior
que es demostradamente computable (hasta el momento).
12
LENGUAJES
El lenguaje de programación lógica por excelencia es Prolog, que cuenta con diversas
variantes. La más importante es la programación lógica con restricciones (véase
artículo sobre programación con restricciones), que posibilita la resolución de
ecuaciones lineales además de la demostración de hipótesis.
PROGRAMACIÓN ORIENTADA A OBJETOS
La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un
paradigma de programación que usa los objetos en sus interacciones, para diseñar
aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo
herencia, cohesión, abstracción, polimorfismo, acoplamiento y encapsulamiento. Su
uso se popularizó a principios de la década de los años 1990. En la actualidad, existe
variedad de lenguajes de programación que soportan la orientación a objetos.
Los objetos son entidades que tienen un determinado estado, comportamiento
(método) e identidad:
El estado está compuesto de datos o informaciones, será uno o varios
atributos a los que se habrán asignado unos valores concretos (datos).
El comportamiento está definido por los métodos o mensajes a los que sabe
responder dicho objeto, es decir, qué operaciones se pueden realizar con él.
La identidad es una propiedad de un objeto que lo diferencia del resto, dicho
con otras palabras, es su identificador (concepto análogo al de identificador de
una variable o una constante).
Un objeto contiene toda la información que permite definirlo e identificarlo frente a
otros objetos pertenecientes a otras clases e incluso frente a objetos de una misma
clase, al poder tener valores bien diferenciados en sus atributos. A su vez, los objetos
13
disponen de mecanismos de interacción llamados métodos, que favorecen la
comunicación entre ellos. Esta comunicación favorece a su vez el cambio de estado
en los propios objetos. Esta característica lleva a tratarlos como unidades indivisibles,
en las que no se separa el estado y el comportamiento.
Los métodos (comportamiento) y atributos (estado) están estrechamente
relacionados por la propiedad de conjunto. Esta propiedad destaca que una clase
requiere de métodos para poder tratar los atributos con los que cuenta. El
programador debe pensar indistintamente en ambos conceptos, sin separar ni darle
mayor importancia a alguno de ellos. Hacerlo podría producir el hábito erróneo de
crear clases contenedoras de información por un lado y clases con métodos que
manejen a las primeras por el otro. De esta manera se estaría realizando una
programación estructurada camuflada en un lenguaje de programación
orientado a objetos.
La POO difiere de la programación estructurada tradicional, en la que los datos y los
procedimientos están separados y sin relación, ya que lo único que se busca es el
procesamiento de unos datos de entrada para obtener otros de salida. La
programación estructurada anima al programador a pensar sobre todo en términos
de procedimientos o funciones, y en segundo lugar en las estructuras de datos que
esos procedimientos manejan. En la programación estructurada solo se escriben
funciones que procesan datos. Los programadores que emplean POO, en cambio,
primero definen objetos para luego enviarles mensajes solicitándoles que realicen sus
métodos por sí mismos.
14
Origen
Los conceptos de la programación orientada a objetos tienen origen en Simula 67, un
lenguaje diseñado para hacer simulaciones, creado por Ole-Johan Dahl y Kristen
Nygaard del Centro de Cómputo Noruego en Oslo. En este centro, se trabajaba en
simulaciones de naves, que fueron confundidas por la explosión combinatoria de
cómo las diversas cualidades de diferentes naves podían afectar unas a las otras. La
idea surgió al agrupar los diversos tipos de naves en diversas clases de objetos,
siendo responsable cada clase de objetos de definir sus propios datos y
comportamientos. Fueron refinados más tarde en Smalltalk, desarrollado en Simula
en Xerox PARC (cuya primera versión fue escrita sobre Basic) pero diseñado para ser
un sistema completamente dinámico en el cual los objetos se podrían crear y
modificar "sobre la marcha" (en tiempo de ejecución) en lugar de tener un sistema
basado en programas estáticos.
La programación orientada a objetos se fue convirtiendo en el estilo de programación
dominante a mediados de los años ochenta, en gran parte debido a la influencia de
C++, una extensión del lenguaje de programación C. Su dominación fue consolidada
gracias al auge de las Interfaces gráficas de usuario, para las cuales la programación
orientada a objetos está particularmente bien adaptada. En este caso, se habla
también de programación dirigida por eventos.
Las características de orientación a objetos fueron agregadas a muchos lenguajes
existentes durante ese tiempo, incluyendo Ada, BASIC, Lisp, Pascal, entre otros. La
adición de estas características a los lenguajes que no fueron diseñados inicialmente
para ellas condujo a menudo a problemas de compatibilidad y en la capacidad de
mantenimiento del código. Los lenguajes orientados a objetos "puros", por su parte,
carecían de las características de las cuales muchos programadores habían venido a
depender. Para saltar este obstáculo, se hicieron muchas tentativas para crear
nuevos lenguajes basados en métodos orientados a objetos, pero permitiendo
algunas características imperativas de maneras "seguras". El Eiffel de Bertrand Meyer
15
fue un temprano y moderadamente acertado lenguaje con esos objetivos pero ahora
ha sido esencialmente remplazado por Java, en gran parte debido a la aparición de
Internet, y a la implementación de la máquina virtual de Java en la mayoría de
navegadores. PHP en su versión 5 se ha modificado, soporta una orientación
completa a objetos, cumpliendo todas las características propias de la orientación a
objetos.
Conceptos fundamentales
La programación orientada a objetos es una forma de programar que trata de
encontrar una solución a estos problemas. Introduce nuevos conceptos, que superan
y amplían conceptos antiguos ya conocidos. Entre ellos destacan los siguientes:
Clase: definiciones de las propiedades y comportamiento de un tipo de objeto
concreto. La instanciación es la lectura de estas definiciones y la creación de
un objeto a partir de ellas.
Herencia: (por ejemplo, herencia de la clase C a la clase D) Es la facilidad
mediante la cual la clase D hereda en ella cada uno de los atributos y
operaciones de C, como si esos atributos y operaciones hubiesen sido
definidos por la misma D. Por lo tanto, puede usar los mismos métodos y
variables públicas declaradas en C. Los componentes registrados como
"privados" (prívate) también se heredan, pero como no pertenecen a la clase,
se mantienen escondidos al programador y sólo pueden ser accedidos a través
de otros métodos públicos. Esto es así para mantener hegemónico el ideal de
OOP.
Objeto: entidad provista de un conjunto de propiedades o atributos (datos) y
de comportamiento o funcionalidad (métodos) los mismos que
16
consecuentemente reaccionan a eventos. Se corresponde con los objetos
reales del mundo que nos rodea, o a objetos internos del sistema (del
programa). Es una instancia a una clase.
Método: Algoritmo asociado a un objeto (o a una clase de objetos), cuya
ejecución se desencadena tras la recepción de un "mensaje". Desde el punto
de vista del comportamiento, es lo que el objeto puede hacer. Un método
puede producir un cambio en las propiedades del objeto, o la generación de
un "evento" con un nuevo mensaje para otro objeto del sistema.
Evento: Es un suceso en el sistema (tal como una interacción del usuario con
la máquina, o un mensaje enviado por un objeto). El sistema maneja el evento
enviando el mensaje adecuado al objeto pertinente. También se puede definir
como evento, a la reacción que puede desencadenar un objeto, es decir la
acción que genera.
Mensaje: una comunicación dirigida a un objeto, que le ordena que ejecute
uno de sus métodos con ciertos parámetros asociados al evento que lo generó.
Propiedad o atributo: contenedor de un tipo de datos asociados a un objeto
(o a una clase de objetos), que hace los datos visibles desde fuera del objeto y
esto se define como sus características predeterminadas, y cuyo valor puede
ser alterado por la ejecución de algún método.
Estado interno: es una variable que se declara privada, que puede ser
únicamente accedida y alterada por un método del objeto, y que se utiliza
para indicar distintas situaciones posibles para el objeto (o clase de objetos).
No es visible al programador que maneja una instancia de la clase.
Componentes de un objeto: atributos, identidad, relaciones y métodos.
Identificación de un objeto: un objeto se representa por medio de una
tabla o entidad que esté compuesta por sus atributos y funciones
correspondientes.
17
En comparación con un lenguaje imperativo, una "variable", no es más que un
contenedor interno del atributo del objeto o de un estado interno, así como la
"función" es un procedimiento interno del método del objeto.
CARACTERÍSTICAS DE LA POO (PROGRAMACIÓN ORIENTADA A
OBJETOS)
Existe un acuerdo acerca de qué características contempla la "orientación a objetos",
las siguientes características que podemos observar en la figura son las más
importantes:
FIG.NO.1 CARACTERISTICAS DE LA PROGRAMACION ORIENTADA A OBJETOS
18
PROGRAMACIÓN DIRIGIDA POR EVENTOS
La programación dirigida por eventos es un paradigma de programación en el que
tanto la estructura como la ejecución de los programas van determinados por los
sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos
provoquen.
Para entender la programación dirigida por eventos, podemos oponerla a lo que no
es: mientras en la programación secuencial (o estructurada) es el programador el que
define cuál va a ser el flujo del programa, en la programación dirigida por eventos
será el propio usuario o lo que sea que esté accionando el programa el que dirija el
flujo del programa. Aunque en la programación secuencial puede haber intervención
de un agente externo al programa, estas intervenciones ocurrirán cuando el
programador lo haya determinado, y no en cualquier momento como puede ser en el
caso de la programación dirigida por eventos.
El creador de un programa dirigido por eventos debe definir los eventos que
manejarán su programa y las acciones que se realizarán al producirse cada uno de
ellos, lo que se conoce como el administrador de evento. Los eventos soportados
estarán determinados por el lenguaje de programación utilizado, por el sistema
operativo e incluso por eventos creados por el mismo programador.
En la programación dirigida por eventos, al comenzar la ejecución del programa se
llevarán a cabo las inicializaciones y demás código inicial y a continuación el
programa quedará bloqueado hasta que se produzca algún evento. Cuando alguno de
los eventos esperados por el programa tenga lugar, el programa pasará a ejecutar el
código del correspondiente administrador de evento. Por ejemplo, si el evento
consiste en que el usuario ha hecho click en el botón de play de un reproductor de
películas, se ejecutará el código del administrador de evento, que será el que haga
que la película se muestre por pantalla.
Un ejemplo claro lo tenemos en los sistemas de programación Léxico y Visual Basic,
en los que a cada elemento del programa (objetos, controles, etcétera) se le asignan
19
una serie de eventos que generará dicho elemento, como la pulsación de un botón
del ratón sobre él o el redibujado del control.
La programación dirigida por eventos es la base de lo que llamamos interfaz de
usuario, aunque puede emplearse para desarrollar interfaces entre componentes de
Software como módulos del núcleo también.
En los primeros tiempos de la computación, los programas eran secuenciales,
también llamados Batch. Un programa secuencial arranca, lee parámetros de
entrada, procesa estos parámetros, y produce un resultado, todo de manera lineal y
sin intervención del usuario mientras se ejecuta.
Con la aparición y popularización de los pc, el software empezó a ser demandado
para usos alejados de los clásicos académicos y empresariales para los cuales era
necesitado hasta entonces, y quedó patente que el paradigma clásico de
programación no podía responder a las nuevas necesidades de interacción con el
usuario que surgieron a raíz de este hecho.
PROGRAMACIÓN MODULAR
La programación modular es un paradigma de programación que consiste en dividir
un programa en módulos o subprogramas con el fin de hacerlo más legible y
manejable.
Se presenta históricamente como una evolución de la programación estructurada
para solucionar problemas de programación más grandes y complejos de lo que ésta
puede resolver.
Al aplicar la programación modular, un problema complejo debe ser dividido en
varios sub-problemas más simples, y estos a su vez en otros subproblemas más
simples. Esto debe hacerse hasta obtener subproblemas lo suficientemente simples
como para poder ser resueltos fácilmente con algún lenguaje de programación. Ésta
técnica se llama refinamiento sucesivo, divide y vencerás ó análisis descendente
20
(Top-Down).
Un módulo es cada una de las partes de un programa que resuelve uno de los
subproblemas en que se divide el problema complejo original. Cada uno de estos
módulos tiene una tarea bien definida y algunos necesitan de otros para poder
operar. En caso de que un módulo necesite de otro, puede comunicarse con éste
mediante una interfaz de comunicación que también debe estar bien definida.
Si bien un modulo puede entenderse como una parte de un programa en cualquiera
de sus formas y variados contextos, en la práctica es común representarlos con
procedimientos y funciones. Adicionalmente, también pueden considerarse módulos
las librerías que pueden incluirse en un programa o, en programación orientada a
objetos, la implementación de un tipo de dato abstracto.
21
CONCLUSION
Los paradigmas de la programación es un tema con mucha información no solo en la
red sino en libros y otras fuentes donde podemos adquirir conocimiento útil en
nuestra preparación.
Dentro de los paradigmas de la programación se encuentra la programación
imperativa que nos dice que en esta los programas te indican los procesos paso por
paso o te habla de como operarlos ejemplos de este tipo es c, pascal, Basic.
La programación funcional como su nombre lo dice son programas que tratan de
resolver funciones matemática y un ejemplo de este tipo de programación es la hoja
de calculo o Excel.
La Programación Declarativa, se apoya en el desarrollo de programas especificando
o "declarando" un conjunto de condiciones, afirmaciones, restricciones.
Luego la programación orientada a objetos nos habla que hace uso de objetos u
cosas ya sea para diseñar o hacer algún programa.
Bueno hay otros tipos de programación como la estructurada que es una forma de
escribir programas de ordenadores también esta la programación modular que divide
al programa en módulos en fin es algo amplia la temática de paradigmas.
En fin cada uno de estos paradigmas tiene sus características particulares que los
diferencia de otros aun que hay programas que hacen uso de dos o más paradigmas
aunque el resultado no es el mismo.
22
BIBLIOGRAFÍA
Las siguientes referencias bibliográficas corresponden a literatura en inglés:
Foundations of Logic Programming, J.W. Lloyd, Springer-Verlag, 1991.
Essentials of Logic Programming, C. Hogger, Clarendon Press, Oxford,
1990.
Logic for Computer Science: Foundations of Automatic Theorem
Proving, J.H. Gallier, John Wiley and Sons, 1987.
REFERENCIAS
1. ↑http://ademirar.wordpress.com/2010/08/28/programacion-funcional-para-el-resto-
de-nosotros/
2. ↑Barrapunto | Programación funcional para el resto de nosotros
: