Bonjour les zeros ! ou les students selon le nouveau nom du site haha
Je travaille actuellement sur un projet ou je dois parler de l'oriente objet. Je ne sais pas si je me suis mis dans la bonne categorie mais vu que le c++ ets de l'OO... Bref, ma question est la suivante:
Je n'arrive pas a trouver d'interet a la porgrammation procedurale (C par exemple) par rapport a l'OO comme le C++... Je souhaiterai lister les differents domaines d'application de la prog OO et ceux de la prog structuree.
Finalement j'ai bien l'impression que l'oo est le dieu de la programmation mais la programmation structuree est tellement utilisée que je ne vois pas pourquoi.
Plus simplement quand est-ce que l'on utilise du C et quand est ce que l'on utilise du C++. A quel type de programme s'applique le C++ et a quel pour le C.
Merci d'avance,
comme d'habitude vous allez me sauver la vie mdr
merci
tim
Dreamer at heart, builder by nature, and coder by trade. 🚀
Je ne sais pas si je me suis mis dans la bonne categorie mais vu que le c++ ets de l'OO... [...] Je n'arrive pas a trouver d'interet a la porgrammation procedurale (C par exemple) par rapport a l'OO comme le C++...
Non, C++ n'est pas OO. C++ est multi-paradigme : tu peux faire du procédural, de l'OO, du fonctionnel, de la programmation logique, et whatever ... Et surtout mélanger l'ensemble en choisissant le bon en fonction des tâches que tu as à réaliser.
Le procédural à carrément son intérêt. Il y a plein de tâches bien plus facile à effectuer en procédural qu'en objet. Les traitements bas-niveaux des images comme par exemple les filtrages, il y a rien de plus procédural. Filtrage d'un son pareil. Etc ...
siniful a écrit:
Plus simplement quand est-ce que l'on utilise du C et quand est ce que l'on utilise du C++. A quel type de programme s'applique le C++ et a quel pour le C.
On choisit bien souvent C quand on veut faire du très bas-niveau (C++ y est adapté aussi néanmoins), à noter que les outils pour vérifier du C sont plus nombreux que ceux en C++ (C est plus répandu historiquement). De même, certaines architectures n'ont pas de compilateur C++, seulement des compilos C.
Ceci dit, pour les images, les filtres peuvent être vus comme des objets. D'ailleurs, des bibliothèques comme ITK (et son fiston OTB), adobe/boost.GIL sont orientées OO. Et bien d'autres certainement.
Sorti de ça, j'approuve totalement le message de Ksass`Peuk (ça fait même peur que de retrouver mes arguments dans son texte ^^).
Je rajouterai toutefois quelques petites choses.
Il ne faut pas perdre de vu que l'OO dans les langages mainstreams est procédural. On peut se demander alors ce que la partie OO apporte :
- un formalisme pour mettre en oeuvre des abstractions (pas que cela ne soit pas possible en C, cf FILE*)
- un moyen simple pour avoir une substituabilité dynamique -> l'image, à l'exécution, je choisis quels filtres je veux lui appliquer dessus. J'ai un point de variation extensible à l'infini, et je ne sais qu'au dernier moment ce que je vais faire. Cela est le gros avantage/intérêt de l'objet. C'est parfaitement émulable dans des langages non-OO, mais cela demande plus d'huile de coude pour avoir ses points de variations totalement ouverts, dynamiquement, sur des types que l'on ne connait pas encore.
Après, il n'y a pas que l'OO dans la vie. - Il y a le fonctionnel qui a la côte auprès de ceux qui bossent intensément sur du multi-coeurs -- ne serait que pour organiser autrement leur code dans des langages non fonctionnels au départ. - Il y a des points de variations qui n'ont pas besoin d'être décidés dynamiquement, on rejoint la généricité (Ada, Eiffel (je crois), C++). - Dans le domaine des jeux, un "pattern" (je ne sais pas si on peut dire pattern en fait) a la côte -> une organisation qui n'est plus OO: les Entity-Component-System
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C