Si la programación procesal fuera la única forma de programar, no tendría ventajas ni desventajas. No hay otra forma de hacerlo; No tienes elección.
Sin embargo, hay muchos, muchos paradigmas de programación. Y muchas, muchas formas diferentes de compararlos.
La programación de procedimientos es básicamente una colección abierta de procedimientos y funciones que consisten en secuencias de enunciados de diversos tipos (como selección e iteración ). En el mejor de los casos, la única herramienta organizativa que tiene para administrar su base de código es el concepto de módulo (en C, “módulos” se implementarían como archivos de código y archivos de encabezado). Esto es aceptable para proyectos de tamaño modesto.
- Cómo obtener un trabajo de prueba de software más rápido en Bangalore
- ¿Cómo es trabajar para Code for America como diseñador?
- Cómo agregar la función gráfica a un software de punto de venta para PC
- Cómo conseguir un trabajo de software en Google India
- ¿Cuál es la diferencia entre informática, ingeniería informática e ingeniería de software? ¿Cómo es el alcance de TI en comparación con SE o CS? ¿Es la informática una buena opción para especializarse en el desarrollo de aplicaciones móviles?
Sin embargo, para aplicaciones verdaderamente complejas, necesita una forma más sofisticada de modelar el problema (y, por lo tanto, administrar su código). El más utilizado hoy en día es la programación orientada a objetos (o POO). Otro método que está ganando popularidad es la programación funcional (o FP).
En este contexto, la desventaja de la programación de procedimientos sería la falta de una estructura cognitiva para comprender las relaciones entre todos sus procedimientos y funciones y sus datos. Todo se vería como una masa enorme y amorfa. Los “módulos” ayudarían, pero pueden no ser suficientes.
Personalmente, me gusta pensar en términos de “objetos” que poseen atributos y comportamiento. Hace que sea más fácil ver el panorama general de una aplicación. Ver ¿La programación funcional está superando a la industria de TI?