É possível projetar e construir um (imperativo) aplicação procedural baseada com sucesso?

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

  •  06-07-2019
  •  | 
  •  

Pergunta

Você pode fornecer exemplos de aplicações hoje que são processuais e manter um alto nível de integridade e eficiência? Existem quaisquer livros, tutoriais ou links que fornecem exemplos de como construir e manter com sucesso um sistema imperativo? Se você fosse dar orientação nesta área, o que dicas você daria sobre como deve ser estruturado? Eu pergunto porque OOP é muitas vezes apresentada como uma progressão natural da programação procedural, mas tenho dificuldade em acreditar que é sempre o caso.

Foi útil?

Solução

Exemplos de aplicações processuais sucesso ??

Quer dizer, como, por exemplo, o kernel do Linux? do kernel BSD? servidor web Apache? A grande maioria do Unix UserLand utilitários? Aplicações assim?

Claro técnicas OOP têm valor na organização, manutenção e abstrações em software, mas mesmo OOP, hoje, é provável que um subconjunto minoria de todo o código e aplicativos escritos hoje.

Considere todo o Java ou C # ou VB código que, embora escrito em uma linguagem de programação OOP capaz, a única razão que eles estão usando a técnica de OOP muito em tudo é interagir com bibliotecas ou sistemas externos. Enquanto isso os próprios aplicativos, ao mesmo tempo aproveitando estruturas OOP, é provável bastante processual na concepção e implementação.

OOP é um bom paradigma, mas na verdade não é realmente necessário para a maior parte da lógica em muitos sistemas.

Outras dicas

Enquanto eu não posso apontar diretamente em direção a qualquer sistema existente, há uma quantidade enorme de sistemas legados da empresa escritos pré-OO COBOL. Muitos programas clássicos 4GL são processuais e são destinadas a engenharia de alta sistemas de integridade. Alguns são bem escritos, outros nem tanto.

Os livros incluem "COBOL de Micro para Mainframes", "Empresa COBOL Guia de Programação".

dicas estruturais no bom código imperativo são semelhantes às técnicas OO: nome bem as coisas, separar suas preocupações, do not repeat yourself, princípio da responsabilidade individual, a licença não faça janelas quebradas unmended.

Na verdade eu simplesmente sugerir a leitura do "programador pragmático" daria a maioria das pessoas a idéia certa em qualquer paradigma.

Tanto quanto uma razão convincente para se mudar para OO para aplicações de negócios orientados; linguagens procedurais permitem a abordagem de um script transação a lógica do domínio, enquanto linguagens OO permitir a modelo de domínio abordagem.

Certamente para exercícios simples, não há necessidade real para o uso de linguagens OO, mas assim como a complexidade aumenta, a manutenção da OO idiomas vitórias sobre linguagens procedurais baixa sobrecarga.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top