Hace algunas semanas había leído unas entradas en un blog donde el autor en una serie de 8 entradas explica lo que son los paradigmas de programación, y bueno, la verdad es que está muy bien explicado, pero en algunos aspectos quisiera hacer algunos aportes, por esa razón, he decidido también hacer una serie de artículos explicando qué son los paradigmas de programación, así que bueno, empecemos :)
En muchas ocasiones cuando escuchamos sobre un lenguaje de programación o la forma de programar hemos escuchado con cosas como por ejemplo "Programación Orientada a Objetos", "Programación Estructurada", entre otros, que en muchas ocasiones hacen que nos hagamos barreras mentales a la hora de aprender programación.
Inclusive, recuerdo que en segundo semestre vi una materia llamada "Paradigmas de Programación", la cual nos la dictó el Viejo Gus :) pero incluso antes en primer semestre ya había oído algo sobre programación estructurada, y pues aunque en ese entonces no tenía muy claros ciertos conceptos, poco a poco y gracias a la experiencia los he podido comprender de mejor manera.
Por esta razón, en esta serie de artículos, creo que sería muy constructivo para aquellos que inician en el mundo de la programación conocer los conceptos primarios acerca de los paradigmas de programación, entre los cuáles veremos la filosofía de la Programación Orientada a Objetos, la cual a más de uno hasta su asimilación le cuesta implementar durante el desarrollo de software.
Antes de nada, debemos aclarar a qué nos referimos cuando hablamos de un paradigma en el mundo de la programación, y bueno, Santa Wikipedia nos dice que un paradigma de programación "es una propuesta tecnológica que es adoptada por una comunidad de programadores cuyo núcleo central es incuestionable en cuanto a que únicamente trata de resolver uno o varios problemas claramente delimitados".
Básicamente podemos decir que un paradigma es entonces un estilo de programar, es la adopción de una forma para analizar, estructurar y resolver problemas, y como no todos los problemas se resuleven de la misma forma es por esta razón que las comunidades desarrolladora han establecido una clasificación y definición de estas formas, filosofías o paradigmas que más que nada, se centran en resolver uno o varios problemas en el sector de la informática.
A pesar de que son muchos los paradigmas de programación conocidos, el más usado hoy en día por la comunidad de programadores a nivel mundial es definitivamente el de Programación Orientada a Objetos (POO), de la cual hablaremos a más detalle en otro artículo.
Cabe destacar el hecho de que algunos lenguajes de programación, soportan por su naturaleza y diseño lógico, varios paradigmas, por ejemplo C++ el cual admite POO y programación puramente estructurada, pero por supuesto, es el programador quien decide a qué paradigma o metodología ceñirse, como lo es también la decisión de decidir que lenguaje de programación utilizar.
Relación de Algunos lenguajes de Programación con Paradigmas soportados
- Python y Ruby: Imperativo, Orientado a objetos, Reflexivo y Funcional
- C++: Imperativo, Orientado a objetos, Funcional y Genérico
- C#: Imperativo, Orientado a objetos, Funcional (lambda), Reflexivo y Genérico
- Scala: Imperativo, Orientado a objetos, Funcional, Genérico y Concurrente
- JavaScript: Imperativo, Orientado a objetos (prototipos) y Funcional
- Java: Imperativo, Orientado a objetos, Reflexivo y Genérico
- Erlang: Funcional, Concurrente y Distribuido
- Perl: Imperativo, Orientado a objetos y Funcional
- PHP: Imperativo, Orientado a objetos, Funcional y Reflexivo
Clasificación Principal de los Paradigmas de Programación
- Programación Imperativa
Éste paradigma se centra en la definición de sentencias capaces de cambiar el estado de un programa, siendo además, en muchísimos aspectos la programación más acorde con el funcionamiento de la propia CPU, por su simple funcionamiento.
El paradigma plantea las posibles soluciones de un problema mediante la especificación de una serie de acciones ordenadas de forma secuencial a través de uno o más procedimientos; dichos procedimientos son llamados subrutinas o funciones.
En ésta categoría encontramos las siguientes:
- Programación estructurada
- Programación modular
- Programación orientada a objetos.
Programación Declarativa
En inversa a la programación imperativa existe la declarativa, en la que se opera de manera puramente lógica para resolver un problema sin especificar flujo de control alguno, por lo que se prescinde de definir algoritmos para la solución del problema, sustituyéndolos por una declaración directa de la solución en lugar de datar el proceso para llegar hasta ella.
En otras palabras, en éste paradigma, prescindimos del procedimiento para llegar a la solución, y en su lugar las expresiones son sustituidas por valores de forma dinámica y la semántica del código permanece inamovible durante el proceso.
Éste paradigma engloba las siguientes:
- Programación funcional
- Programación lógica
- Programación restringida
Fuente:
Bueno, con esto finalizo esta primera entrada sobre paradigmas de programación. En el siguiente artículo de la serie empezaremos con la programación Estructurada.
==> Artículo 2: Paradigmas de Programación II: Programación Estructurada
==> Artículo 2: Paradigmas de Programación II: Programación Estructurada
No hay comentarios.:
Publicar un comentario