2014-06-26 2 views
0

Pouvons-nous utiliser la programmation procédurale pour résoudre tout problème pouvant être résolu à l'aide de concepts de programmation orientés objet? Mon problème est qu'il y a des problèmes particuliers qui ne peuvent être résolus qu'en utilisant des concepts de POO.Programmation orientée objet vs programmation procédurale

S'il vous plaît aidez-moi à comprendre cela.

+2

Le paradigme de programmation n'affecte pas les problèmes que vous pouvez résoudre, il peut seulement rendre plus facile (ou plus difficile) d'écrire le code pour le faire. Vous pouvez résoudre les mêmes problèmes en langage assembleur ou en C#, mais le premier va généralement prendre beaucoup plus de temps. –

+0

Ce que @ S.L.Barth est vrai. De même, le bon paradigme permet à une équipe de développer et de maintenir facilement le code source. Le bon paradigme vous permet d'étendre votre projet avec plus d'efficacité. Le bon paradigme vous permet d'écrire moins de bogue dans un code. Mais vous pouvez choisir ce que vous voulez. –

Répondre

1

Oui. Tout ce qui peut être résolu à l'aide de la POO peut être résolu à l'aide de la programmation procédurale. À la fin, le compilateur transforme votre code POO en assemblage, ce qui est procédural.

Tout se résume à ce que la combinaison de la CPU/RAM etc. de votre ordinateur peut faire. Depuis votre ordinateur est Turing Complete il peut résoudre n'importe quel problème qui sera résolu par n'importe quelle autre langue ou machine qui est également complète de Turing.

1

Presque tous les langages de programmation sont "Turing complete". Cela signifie que les programmes écrits dans un paradigme (disons le fonctionnel) peuvent toujours être convertis en un autre (disons le logique). Un compilateur est juste un outil qui traduit le code d'une langue/paradigme à l'autre. Ainsi, au moment où une langue est complète, vous pouvez résoudre n'importe quoi dans cette langue dans n'importe quelle autre langue, bien que la performance et l'élégance du code puissent varier.

Actuellement sur le plan matériel, le seul paradigme implémenté est le paradigme procédural (il y a eu quelques expériences avec le fonctionnel et le logique et même OO a déjà été implémenté sur une CPU).

Questions connexes