¿Es posible diseñar y construir una aplicación basada en procedimientos (imperativo) con éxito?

StackOverflow https://stackoverflow.com/questions/257873

  •  06-07-2019
  •  | 
  •  

Pregunta

¿Puede proporcionar ejemplos de aplicaciones actuales que sean procesales y mantengan un alto nivel de integridad y eficiencia? ¿Hay libros, tutoriales o enlaces que brinden ejemplos de cómo construir y mantener con éxito un sistema imperativo? Si tuviera que dar orientación en esta área, ¿qué consejos le daría sobre cómo debería estructurarse? Pregunto porque OOP a menudo se presenta como una progresión natural de la programación de procedimientos, pero tengo problemas para creer que siempre es así.

¿Fue útil?

Solución

¿Ejemplos de aplicaciones procesales exitosas?

¿Quieres decir, por ejemplo, el kernel de Linux? BSD kernel? Servidor web Apache? ¿La gran mayoría de las utilidades de tierra de usuario de Unix? ¿Aplicaciones como esa?

Por supuesto, las técnicas de OOP tienen valor en la organización, la capacidad de mantenimiento y las abstracciones dentro del software, pero incluso hoy en día OOP es probablemente un subconjunto minoritario de todo el código y las aplicaciones escritas hoy.

Considere todo el código Java o C # o VB que, si bien está escrito en un lenguaje de programación compatible con OOP, la única razón por la que utilizan mucha técnica OOP es para interactuar con bibliotecas o sistemas externos. Mientras tanto, las aplicaciones mismas, al tiempo que aprovechan los marcos de OOP, es probable que sean bastante procesales en diseño e implementación.

OOP es un excelente paradigma, pero en realidad no es realmente necesario para la mayor parte de la lógica en muchos sistemas.

Otros consejos

Si bien no puedo apuntar directamente a ningún sistema existente, hay cantidades masivas de sistemas empresariales heredados escritos pre-OO COBOL. Muchos programas 4GL clásicos son de procedimiento y están destinados a la ingeniería de sistemas de alta integridad. Algunos están bien escritos, otros no tanto.

Los libros incluyen " COBOL de Micro a Mainframes " ;, " Enterprise COBOL Programming Guide. "

Los consejos estructurales sobre un buen código imperativo son similares a las técnicas OO: nombre bien las cosas, separe sus preocupaciones, no repita, principio de responsabilidad única, no deje ventanas rotas sin reparar.

De hecho, simplemente sugiero leer el "Programador pragmático" daría a la mayoría de las personas la idea correcta en cualquier paradigma.

En cuanto a una razón convincente para pasar a OO para aplicaciones orientadas a negocios; los lenguajes de procedimiento permiten un script de transacción a la lógica de dominio, mientras que los idiomas OO permiten el enfoque del modelo de dominio .

Ciertamente, para ejercicios simples, no hay una necesidad real del uso de lenguajes OO, pero tan pronto como aumenta la complejidad, la mantenibilidad de los lenguajes OO gana sobre los lenguajes de procedimiento de baja sobrecarga.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top