Los paradigmas de programación son diferentes estilos, diferentes «formas» de programar. Hay muchos paradigmas diferentes, incluyendo algunos populares como la programación procedimental, la programación orientada a objetos, la programación funcional, etc. Y otros que no son tan populares, como la programación imperativa, la programación declarativa, la programación dirigida por eventos, etc. Si tienes curiosidad, hay un muy buen resumen de los paradigmas de programación aquí. En este post, hablaremos de uno muy popular, que es la Programación Procedimental.
Tl; dr;
La programación procedimental es uno de los paradigmas de programación más populares que existen. Siguiendo la programación procedimental, dividimos el código en unidades más pequeñas llamadas funciones o procedimientos para que sea más fácil de reutilizar y el flujo de ejecución sea de arriba a abajo. Este estilo es fácil de entender e implementar. Como resultado, a menudo se enseña en los cursos de introducción a la programación.
Otras entradas del blog en la serie:
Paradigmas de programación – ¿es mejor la programación orientada a objetos?
¿Qué es la programación procedimental?
La programación procedimental es un método de la programación que tiene un soporte de dividir las funcionalidades en un número de procedimientos. En la programación procedimental, un programa grande se divide en partes más pequeñas y manejables llamadas procedimientos o funciones. Aquí se da prioridad a las funciones en lugar de a los datos. En un lenguaje de programación procedimental, un programa consiste básicamente en una secuencia de instrucciones, cada una de las cuales le dice al ordenador que haga algo como leer las entradas del usuario, hacer el cálculo necesario, mostrar la salida.
def add_number(a, b): return a + b# workflow starts here# call function add_number() to add 1 and 2 together and print the result to screenprint(add_number(1, 2))# execute add_number() function 5 times and print the result to screenfor i in range(5): print(add_number(i, 1))# workflow ends here
Cuando un programa se hace más grande, entonces se divide en unidades más pequeñas llamadas procedimiento o funciones. Se supone que se escriben varias funciones para la realización de una tarea específica. Estas funciones no permiten la duplicación de código a causa de la misma llamada a la función desde varios lugares. Esta técnica sólo es adecuada para aplicaciones de software de tamaño medio
En la programación procedimental se utilizan dos tipos de datos locales y globales. Los datos dentro de la función se llaman datos locales y los datos y que no están dentro de ninguna función se llaman datos globales. Los datos locales son accesibles a la única función donde se declaran. Así que cada función puede acceder a sus datos locales, así como los datos globales.
// this is a global variable$globalVar = 1;function addNumber($a, $b) { // this is a local variable $randomNumber = rand(); return $globalVar + $randomNumber + $a + $b;}
Los datos locales de una función no es accesible a otras funciones. Si algún dato va a ser accedido por dos o más funciones debe hacerse global. Sin embargo, los datos globales son vulnerables a que otro programador los cambie sin saberlo. La disposición separada de los datos y las funciones hace un mal trabajo para modelar las cosas en el mundo real. Por eso el enfoque de la programación procedimental no modela perfectamente un sistema del mundo real.
COBOL, FORTRAN, C, Pascal son algunos lenguajes de programación que pueden implementar la programación procedimental.
Características de la programación procedimental
Un programa grande se divide en pequeños procedimientos o funciones manejables. Esto reduce la duplicación de código, lo que mejora la legibilidad y la mantenibilidad del código.
Diferentes funciones pueden compartir datos a través de variables globales. Las funciones están completamente aisladas, por lo que si queremos compartir datos, debemos declararlos en el ámbito superior.
Las funciones pueden modificar los datos globales. Dado que los datos globales se transfieren de función a función; durante el curso de la transformación, los datos globales pueden ser alterados en las cadenas de funciones.
Metodología descendente. Como se mencionó anteriormente, la programación procedimental sigue la metodología de arriba hacia abajo, el flujo de trabajo va de arriba hacia abajo.
Ventajas de la programación procedimental
- La codificación es fácil y sencilla.
- Los códigos tienen la capacidad de ser reutilizados en varias partes del programa.
- El paradigma de programación consume menos memoria en el ordenador.
- Es más fácil para el seguimiento del flujo de los códigos en el programa escrito en el paradigma de programación procedimental.
- El paradigma de programación se considera mejor para la programación general para aprender y poner en práctica.
Limitaciones o desventajas de la programación procedimental
- Se centra en las funciones en lugar de los datos.
- En programas grandes, es difícil identificar la pertenencia de los datos globales.
- El uso de datos globales es propenso a errores y podría ser un obstáculo en caso de mantenimiento y mejoras.
- La modificación de los datos globales requiere la modificación de aquellas funciones que los utilizan.
- Mantener y mejorar el código del programa sigue siendo difícil debido a los datos globales.
- El paradigma de la programación procedimental no modela muy bien el problema del mundo real ya que las funciones están orientadas a la acción y no se corresponden realmente con los elementos del problema.
Resumen
La programación procedimental ofrece ciertamente muchas ventajas, una de ellas es que es fácil de aprender e implementar. Los nuevos programadores pueden comenzar su viaje aprendiendo a escribir código en estilo procedimental. Eso les ayudará a entender cómo funciona cierto lenguaje de programación.
Sin embargo, debido a su limitación, las aplicaciones del mundo real no utilizan la programación procedimental. Por lo tanto, los estudiantes tendrán que aprender otros paradigmas con el fin de exponerse a los problemas de la vida real.
Gracias por leer. Puedes navegar por más posts sobre tecnología aquí.
Por Tuan Nguyen