Est-il possible de concevoir et de construire une application procédurale (impérative) avec succès?

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

  •  06-07-2019
  •  | 
  •  

Question

Pouvez-vous fournir des exemples d'applications aujourd'hui procédurales qui maintiennent un haut niveau d'intégrité et d'efficacité? Existe-t-il des livres, des tutoriels ou des liens qui fournissent des exemples de la construction et de la maintenance réussies d’un système impératif? Si vous deviez donner des conseils dans ce domaine, quels conseils donneriez-vous sur la manière dont il devrait être structuré? Je pose la question parce que la POO est souvent présentée comme une progression naturelle de la programmation procédurale, mais j’ai du mal à croire que c’est toujours le cas.

Était-ce utile?

La solution

Exemples d’applications procédurales réussies ??

Vous voulez dire, par exemple, le noyau Linux? Noyau BSD? Serveur Web Apache? La grande majorité des utilitaires Unix? Des applications comme ça?

Bien sûr, les techniques de POO ont de la valeur dans l’organisation, la facilité de maintenance et les abstractions dans les logiciels, mais même aujourd’hui, la POO est probablement un sous-ensemble minoritaire de tout le code et de toutes les applications écrites aujourd’hui.

Prenez en compte l’ensemble du code Java ou C # ou VB qui, bien qu’il soit écrit dans un langage de programmation compatible avec la POO, n’utilise la plupart du temps que la technique de la POO, c’est pour interagir avec des bibliothèques ou des systèmes externes. Pendant ce temps, les applications elles-mêmes, tout en exploitant les frameworks POO, sont probablement assez procédurales en termes de conception et de mise en œuvre.

La programmation orientée objet est un très bon paradigme, mais en réalité, elle n’est pas vraiment nécessaire pour l’essentiel de la logique dans de nombreux systèmes.

Autres conseils

Bien que je ne puisse pas pointer directement vers un système existant, il existe un grand nombre de systèmes d’entreprise hérités pré-OO écrits en COBOL. De nombreux programmes 4GL classiques sont procéduraux et visent l’ingénierie de systèmes à haute intégrité. Certains sont bien écrits, d’autres moins.

Les livres incluent "COBOL de Micro à Mainframes", "Guide de programmation Enterprise COBOL".

Les astuces sur la structure d'un code impératif correct sont similaires aux techniques OO: nommez les choses correctement, séparez vos préoccupations, ne vous répétez pas, principe de responsabilité unique, ne laissez pas les fenêtres cassées sans être réparées.

En fait, je suggérerais simplement de lire le "Programmeur pragmatique". donnerait à la plupart des gens la bonne idée de tout paradigme.

En tant que raison impérieuse de passer à OO pour des applications orientées métier; les langages procéduraux permettent une script de transaction à la logique de domaine, tandis que les langages OO autorisent la approche de modèle de domaine .

Certes, pour les exercices simples, l'utilisation des langages OO n'est pas vraiment nécessaire, mais dès que la complexité augmente, la maintenabilité des langages OO l'emporte sur les langages procéduraux.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top