En esta nota abordaremos distintos paradigmas de programación, con la finalidad de explicar de forma general su comportamiento y qué tipos de problemas podemos resolver con cada uno.
¿Qué son los paradigmas de programación?
Podemos definir como paradigma de programación al modelo que seguimos para programar. Los paradigmas de programación más utilizados son:
Paradigma de programación Imperativo
Los programas que podemos clasificar como imperativos, son todos aquellos que contienen un grupo de datos acompañados de una serie de instrucciones, con los cuales se le indica a la computadora cómo realizar una tarea específica. Con estos elementos se logra formar una abstracción de los datos y del código en la memoria principal. Este modelo ha tenido gran éxito entre los programadores por su sencillez y cercanía a la arquitectura de las computadoras convencionales.
C es un claro ejemplo de lenguaje de programación imperativo, ya que forma una abstracción de la máquina de Von-Neumann, que se caracteriza por: la memoria principal y la unidad central de proceso.
Paradigma de programación Funcional
Los programas funcionales son aquellos que tienen como objetivo principal el uso de funciones matemáticas puras. El modelo funcional es muy parecido a una calculadora, el usuario introduce una expresión inicial y es evaluada por el lenguaje. En este modelo el programador utiliza definiciones de funciones para obtener un valor irreductible. El modelo funcional se caracteriza por utilizar funciones de orden superior, sistemas de inferencia de tipos, polimorfismo, listas por comprehensión y evaluación perezosa.
Haskell es un lenguaje de programación funcional, en este lenguaje podemos encontrar las características más significativas del paradigma funcional.
Paradigma de programación Lógica
Los programas que podemos clasificar como lógicos, son aquellos que están basados en premisas (hechos) y que a partir de esas reglas (supuestos verdaderos), el programa nos retorna un valor verdadero. Con este paradigma de programación, es muy sencillo modelar un programa, basado en lógica matemática. Además se puede escribir código más legible y eficiente, lo que hace más sencilla la tarea de dar mantenimiento al programa.
Prolog es un lenguaje de programación lógica, este lenguaje se basa en un conjunto de hechos y de reglas. Su forma de trabajo, consiste en realizar una pregunta, para obtener por inferencia los resultados, los cuales deduce a partir de la relación entre las premisas y las reglas.
Paradigma de programación Orientada a Objetos
La programación orientada a objetos, como su nombre lo indica, es toda aquella que se basa en la construcción de objetos y sus métodos, para que puedan interactuar entre ellos. Este tipo de programación se basa principalmente en el diseño del sistema y utiliza varias técnicas; entre las más utilizadas podemos encontrar: herencia, polimorfismo y encapsulamiento.
Java es un lenguaje de programación orientada a objetos, en este lenguaje podemos encontrar muchas de las características que conforman a la programación orientada a objetos.
Fibonacci resuelto en los distintos paradigmas de programación
Supongamos que necesitamos un algoritmo que devuelva un número de Fibonacci dada su posición en la sucesión. A continuación se presentan algunas implementaciones en cada uno de los lenguajes mencionados.
Fibonacci en C
1 2 3 4 5 6 7 8 9 |
int fibonacci ( int n ){ if (n == 0 || n == 1 ) return n; else if( n > 1 ) return fibonacci ( n - 1 ) + fibonacci (n - 2 ); else return -1; /* -1 indica que la función falló */ } |
Fibonacci en Haskell
1 2 3 |
fibonacci 0 = 0 fibonacci 1 = 1 fibonacci n = fibonacci ( n - 1) + fibonacci ( n - 2 ) |
Fibonacci en Prolog
1 2 3 4 5 6 7 |
fibonacci (0,0). fibonacci (1,1). fibonacci (N, F) :- N > 1, N2 is N - 2, fibonacci ( N2 , F2 ), N1 is N - 1, fibonacci ( N1 , F1 ), F is F1 + F2. |
Fibonacci en Java
1 2 3 4 5 6 7 8 9 10 11 12 |
public class fibonacci { static int fibonacci ( int n ) { int f = -1; // -1 indica que la función falló if ( n == 0 || n == 1) f = n; else if ( n > 1 ) f = fibonacci ( n - 1 ) + fibonacci ( n - 2 ); return f; } } |
Samuel Moreno liked this on Facebook.
Jaqui Digión liked this on Facebook.
Skuarch Develop liked this on Facebook.
Esteban Misael liked this on Facebook.
michelle me podria ayudar con una sencillo programa?? es de poner asteriscos en una clave, cuando el usuario la escribe… podría darme esa ayuda?
Quiza podrias detallar mas que es lo que deseas hacer
Paúl Alvarez en los formularios en una página web solo basta con poner el input de tipo password.
El problema aquí es que no se en que lenguaje lo quieres hacer.
no es en c++ …recien empiezo :C
Ing Comp Cucei liked this on Facebook.
Diacus Mágnuz liked this on Facebook.
Daniel Peguero liked this on Facebook.