Partage
  • Partager sur Facebook
  • Partager sur Twitter

C++ Oriente objet ou C procedural

    28 septembre 2013 à 17:45:47

    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 

    • Partager sur Facebook
    • Partager sur Twitter
    Dreamer at heart, builder by nature, and coder by trade. 🚀
      28 septembre 2013 à 18:22:10

      Lu'!

      siniful a écrit:

      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.

      • Partager sur Facebook
      • Partager sur Twitter

      Posez vos questions ou discutez informatique, sur le Discord NaN | Tuto : Preuve de programmes C

        28 septembre 2013 à 20:35:33

        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

        -
        Edité par lmghs 29 septembre 2013 à 13:36:15

        • Partager sur Facebook
        • Partager sur Twitter
        C++: Blog|FAQ C++ dvpz|FAQ fclc++|FAQ Comeau|FAQ C++lite|FAQ BS| Bons livres sur le C++| PS: Je ne réponds pas aux questions techniques par MP.
          29 septembre 2013 à 13:27:11

          Merci beaucoup pour vos reponses qui m'ont beaucoup aidées.

          C'est désormais plus clair dans ma petite tete ^^

          tim

          • Partager sur Facebook
          • Partager sur Twitter
          Dreamer at heart, builder by nature, and coder by trade. 🚀
            30 septembre 2013 à 8:13:44

            Le C est aussi énormément utilisé dans l'embarqué.

            Toutes les applications s'exécutant sur des micro-processeurs embarqués sont codés en C.

            D'ailleurs, une grosse majorité de ces processeurs n'ont pas de compilateurs C++.

            Ces petits trucs (qui ne tournent parfois qu'à 10 MHz), on en trouve partout :

            - dans les souris => pour analyser les données du capteur optique et renvoyer ça sous forme de déplacement X/Y en USB

            - dans les alimentations => pour commander les transistors en fonctions des mesures et des consignes (tensions, courants)

            Et pour en avoir la preuve sous les yeux, on en retrouve même dans les cafetières Dolce Gusto :D

            -
            Edité par lorrio 30 septembre 2013 à 8:14:49

            • Partager sur Facebook
            • Partager sur Twitter

            C++ Oriente objet ou C procedural

            × 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.
            • Editeur
            • Markdown