Attention à ne pas confondre la COO (OOD en anglais) : Conception Orientée Objet et POO : programmation orientée objet.+1, la POO, ce n'est pas une syntaxe de langage,
On peut tout à fait faire de la COO sans ensuite utiliser un langage orienté objet. Mais faire de la POO sans utiliser de langage orienté objet, là, ça devient vachement inquiétant.
A sa grande époque, Thomson CSF avait développé une méthode de COO adaptée pour le langage ADA complètement procédural.
Pinaillons un peu. Un langage 100% orienté objet est un langage dans lequel il n'y a strictement aucune possibilité de faire autre chose que de l'objet. C++ est l'un des pire langages objets qu'il soit, car on peut complètement faire du C avec C++. Une déclinaison beaucoup plus objet de C est ObjectiveC. On peut dire que Java est à 99% objet, mais à ma connaissance, seul Smalltalk est 100% objet, puisque même les structures de contrôle du langage sont des méthodes de classes (par exemple, ifTrue: ifFalse: est une méthode de la classe Boolean et while est une méthode de la classe BlockClosure)Ensuite, un langage 100% orienté objet, ce serait plutôt Java par exemple.
Personnellement, je ne classerais pas Prolog dans les langages procéduraux (Pascal, Basic, C) mais dans les langages logiques d'intelligence artificiellede problèmes ne peuvent se résoudrent qu'en procédural (voir le langage Prolog),
En PHP, ça peut se faire sans problème. du HTML et des templates pour la Vue, des bibliothèques de fonctions complètement procédurales pour le modèle et un code PHP qui lit les deux pour le contrôleur. Alors pour faire joli, on peut empaqueter toutes ces fonctions dans un objet, mais cela n'apporte scrictement rien.Je vois mal un MVC en procédural..