Cuando eres nuevo en la programación, los paradigmas de programación no tienen mucha importancia. Pero a medida que subes la escalera y empiezas a crear programas y software complejos, es vital entender qué paradigma de programación es el más adecuado para tu proyecto. Antes de empezar, es importante saber qué es exactamente un paradigma. Según muchas definiciones citadas, un paradigma es «un conjunto de supuestos, conceptos, valores y prácticas que constituyen una forma de ver la realidad para la comunidad que los comparte, especialmente en una disciplina intelectual».

Esta definición es acertada, ya que lo que diferencia al paradigma es la forma diferente de ver la realidad para la comunidad. Los paradigmas son importantes, ya que a menudo viajan junto con una cultura específica de escribir programas y pensar en ellos. En este artículo hablaremos de los principales paradigmas de programación, centrándonos especialmente en el paradigma de la programación procedimental.

¿Qué es la programación procedimental?

La Programación Procedimental puede ser el primer paradigma de programación que un nuevo desarrollador aprenderá. Fundamentalmente, el código procedimental es el que instruye directamente a un dispositivo sobre cómo terminar una tarea en pasos lógicos. Este paradigma utiliza un enfoque lineal descendente y trata los datos y los procedimientos como dos entidades diferentes. Basada en el concepto de llamada a procedimiento, la programación procedimental divide el programa en procedimientos, que también se conocen como rutinas o funciones, que simplemente contienen una serie de pasos a realizar.

En pocas palabras, la programación procedimental consiste en escribir una lista de instrucciones para indicarle al ordenador lo que debe hacer paso a paso para terminar la tarea en cuestión.

Características clave de la programación procedimental

Las características clave de la programación procedimental se dan a continuación:

  • Funciones predefinidas: Una función predefinida es típicamente una instrucción identificada por un nombre. Normalmente, las funciones predefinidas se incorporan a los lenguajes de programación de alto nivel, pero se derivan de la biblioteca o del registro, en lugar del programa. Un ejemplo de función predefinida es ‘charAt()’, que busca la posición de un carácter en una cadena.
  • Variable local: Una variable local es una variable que se declara en la estructura principal de un método y se limita al ámbito local que se le da. La variable local sólo puede utilizarse en el método en el que está definida, y si se utilizara fuera del método definido, el código dejaría de funcionar.
  • Variable global: Una variable global es una variable que se declara fuera de cualquier otra función definida en el código. Debido a esto, las variables globales pueden ser utilizadas en todas las funciones, a diferencia de una variable local.
  • Modularidad: La modularidad es cuando dos sistemas disímiles tienen dos tareas diferentes a la mano pero se agrupan para concluir una tarea mayor primero. Cada grupo de sistemas tendría entonces sus propias tareas terminadas una tras otra hasta que todas las tareas estén completas.
  • Paso de Parámetros: El paso de parámetros es un mecanismo utilizado para pasar parámetros a funciones, subrutinas o procedimientos. El paso de parámetros se puede hacer a través de ‘pasar por valor’, ‘pasar por referencia’, ‘pasar por resultado’, ‘pasar por valor-resultado’ y ‘pasar por el nombre’.

Ventajas y desventajas de la programación procedimental

La programación procedimental viene con su propio conjunto de pros y contras, algunos de los cuales se mencionan a continuación.

Ventajas

  • La Programación Procedimental es excelente para la programación de propósito general
  • La simplicidad codificada junto con la facilidad de implementación de compiladores e intérpretes
  • Una gran variedad de libros y material de curso en línea disponible sobre algoritmos probados, lo que facilita el aprendizaje en el camino
  • El código fuente es portátil, por lo tanto, puede ser utilizado para apuntar a una CPU diferente también
  • El código puede ser reutilizado en diferentes partes del programa, sin la necesidad de copiarlo
  • A través de la técnica de programación procedimental, el requisito de memoria también se reduce
  • El flujo del programa puede ser rastreado fácilmente

Desventajas

  • El código del programa es más difícil de escribir cuando se emplea la Programación Procedimental
  • El código Procedimental a menudo no es reutilizable, lo que puede plantear la necesidad de recrear el código si se necesita utilizarlo en otra aplicación
  • Difícil de relacionar con objetos del mundo real
  • Se da más importancia a la operación que a los datos, lo que podría plantear problemas en algunos casos sensibles a los datos
  • Los datos están expuestos a todo el programa, lo que hace que no sea tan amigable para la seguridad

Hay diferentes tipos de paradigma de programación como hemos mencionado antes, que no son más que un estilo de programación. Es importante entender que el paradigma no atiende a un lenguaje específico sino a la forma de escribir el programa. A continuación se muestra una comparación entre la Programación Procedimental y la Programación Orientada a Objetos.

Qué es la Programación Orientada a Objetos (POO)

La POO es un enfoque de la programación que reconoce la vida, tal y como la conocemos, como una colección de objetos, que trabajan en conjunto para resolver un problema concreto. Lo primordial que hay que saber de la POO es la encapsulación, que es la idea de que cada objeto que contiene el programa es autosuficiente, lo que significa que todos los componentes que forman el objeto están dentro del propio objeto. Ahora bien, como cada módulo dentro de este paradigma es autosostenible, los objetos pueden tomarse de un programa y usarse para resolver otro problema que se tenga a la mano con poca o ninguna alteración.

Ventajas

  • Debido a la modularidad y al encapsulamiento, la POO ofrece facilidad de gestión
  • La POO imita el mundo real, lo que facilita su comprensión
  • Dado que los objetos son enteros en sí mismos, son reutilizables en otros programas

Desventajas

  • Los programas orientados a objetos tienden a ser más lentos y a utilizar una gran cantidad de memoria
  • Sobregeneralización
  • Los programas construidos con este paradigma pueden tardar más en crearse

Programación procedimental frente a programación orientada a objetos: Comparación cara a cara

Por otro lado, la Programación Procedimental, a diferencia de la POO, se centra en los pasos que se van a realizar para completar una tarea, más que en la interacción entre los objetos. Las tareas se dividen en subrutinas, variables y estructuras de datos. En cualquier momento, estos procedimientos pueden ser llamados dentro de la ejecución del programa.

.Orientada a Objetos

Programación de Procedimientos Programación Orientada a Objetos
Utiliza datos inmutables Utiliza datos mutables
Sigue el modelo de programación declarativa Sigue el modelo de programación imperativa modelo de programación
Extiende el soporte a la programación paralela No es adecuado para la programación paralela
El orden de ejecución de las sentencias no es el objetivo principal El orden de ejecución de las sentencias es muy importante
El control de flujo se realiza mediante llamadas a funciones El control de flujo se realiza mediante sentencias condicionales y bucles
Utiliza el concepto de recursión para iterar datos colectivos Utiliza el concepto de bucle para iterar datos de colección
No tiene esosefectos secundarios de sus funciones El método puede tener ciertos efectos secundarios
El enfoque de la Programación Procedimental está en ‘Lo que estás haciendo’ El enfoque de la Programación Orientada a Objetos está en ‘Cómo lo estás haciendo’

Otro paradigma de programación muy utilizado es la Programación Funcional. La Programación Funcional se diferencia tanto de la Programación Procedimental como de la Programación Orientada a Objetos ya que hace uso de funciones matemáticas. A través de ella, las operaciones se realizan sólo en base a las entradas que se introducen, y no dependen de variables temporales u ocultas.

Ventajas

  • La Programación Funcional ofrece un entorno protegido
  • Mientras que muchos otros lenguajes requieren una cantidad sustancial de información para realizar las operaciones correctamente, la programación de funciones elimina la necesidad de una gran cantidad de código necesario para definir estados
  • Como este paradigma sólo depende de los argumentos de entrada, no hay efectos secundarios

Desventajas

  • Utilizar la programación funcional únicamente en el desarrollo de software comercial no es recomendable ni se hace
  • Requiere una gran cantidad de memoria y tiempo
  • Puede resultar menos eficiente que otros paradigmas

Conclusión

Como hemos dicho a lo largo de este artículo, La programación procedimental es más de lo que se hace que de cómo se hace. Es el enfoque estándar utilizado en muchos lenguajes informáticos como C, Pascal y BASIC. Aunque no hay un paradigma de programación perfecto, es importante entender que el paradigma correcto siempre dependerá del tipo de lenguaje que utilices y del programa que desees crear. Se aconseja que, para obtener los máximos resultados y una cartera sólida, uno debería dominar los tres principales paradigmas de programación. La mejor manera de intentar mejorar en los paradigmas de programación es probar, y Hackr puede ayudarte con eso.

La gente también está leyendo:

  • ¿Qué es la programación?
  • ¿Qué son los lenguajes de programación?
  • Los mejores libros de programación
  • Las mejores preguntas de entrevista sobre programación
  • Los lenguajes de programación para conseguir un trabajo
  • ¿Qué es la programación procedimental?
  • ¿Cómo aprender a programar?
  • Botcamp de codificación gratuito
  • Términos de programación y definición
  • 10 mejores IDE de desarrollo web

Deja una respuesta

Tu dirección de correo electrónico no será publicada.