IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C++ Discussion :

développer en C++ sans faire de l'objet


Sujet :

C++

  1. #1
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2016
    Messages
    278
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2016
    Messages : 278
    Par défaut développer en C++ sans faire de l'objet
    Bonjour,

    j'ai réécrit récemment en objet un bout de code qui fonctionnait très bien en impératif (par souci de cohérence, le reste de l'application étant codé en objet) et je trouve que cela n'a rien apporté de positif (au contraire).
    Ma question est: est-ce que cela se fait de développer en C++ sans faire de l'objet, où est-ce considéré comme un crime de lèse-majesté?

    cordialement

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Décembre 2015
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Décembre 2015
    Messages : 1 599
    Par défaut
    Salut,

    Dans un langage orienté objet, je pense que ça serait un crime de lèse majesté d'avoir un module non objet. Ça serait difficile voire impossible.

    La question devient : est-ce que le C++ est un langage orienté objet?
    Je ne le pense pas, l'objet est un des paradigmes du C++, et donc on peut tout à fait considérer l'objet comme un des moyens; Mais pas le moyen obligatoire.

  3. #3
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 633
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 633
    Par défaut
    Salut,

    Je suis tout à fait du même avis que daflab :

    C++ est un langage qui permet -- entre autres -- d'avoir une approche orientée objets. Par contre, il n'impose absolument pas cette approche, permettant également l'approche purement impérative (des fonctions libres) et l'approche générique.

    Il n'y a donc aucune raison de s'imposer quoi que ce soit, et surtout pas d'avoir une approche orientée objets

    Mieux encore, une approche impérative ou même générique peut apporter énormément de bénéfices, y compris avec des données pensées selon une approche objets, en termes -- par exemple -- de respect des deux principes SOLID les "moins mis en avant" que sont l'ISP (principe de ségrégation des interfaces) et le DIP (principe d'inversion des dépendances).

    De plus, trop de gens croient encore que le principe de base de l'approche orientée objets est l'encapsulation. Or, c'est totalement faux, le gros principe de l'orienté objets étant la substituabilité (le fait de pouvoir faire passer une donnée "d'un type particulier" comme étant d'un type "plus générique").

    Si bien que, si tu n'a aucune raison valable de mettre une mécanique de substituabilité en place (par exemple : de faire passer une voiture pour une donnée de type véhicule), ben, tu n'as pas vraiment besoin de sortir l'artillerie de l'orienté objets.
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  4. #4
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 175
    Par défaut
    Je ne fais pas de développement, donc avis de simple amateur.

    Je vois déjà 2 intérêts à utiliser du C++ :
    - le ramasse miette qui permet d’éviter les fuites mémoires
    - les vecteurs

    Et bien sûr l'objet si on en a l'utilité.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

  5. #5
    Expert confirmé
    Homme Profil pro
    Analyste/ Programmeur
    Inscrit en
    Juillet 2013
    Messages
    4 750
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Analyste/ Programmeur

    Informations forums :
    Inscription : Juillet 2013
    Messages : 4 750
    Par défaut
    Citation Envoyé par Chezkele Voir le message
    est-ce que cela se fait de développer en C++ sans faire de l'objet, où est-ce considéré comme un crime de lèse-majesté?
    La question plutôt à se poser : est-ce que le C++ est utile sans les objets (ni la méta-programmation parce que c'est lié) ?

    Bof, le Python, peut-être le Rust pour faire du code vite fait/ sans vraiment se prendre la tête, semblent plus à même que du C++ nu.


    Citation Envoyé par chrtophe Voir le message
    - le ramasse miette qui permet d’éviter les fuites mémoires
    Le C++ comme l'Objective-C n'ont pas de ramasse miettes ... mais des spécificités pour gérer la notion de propriété, la gestion des ressources et les fuites de mémoire (entre autres)


    Citation Envoyé par chrtophe Voir le message
    - les vecteurs
    LOUL la STL c'est mignon, mais 1) ce n'est pas top performance 2) c'est assez complexe à comprendre et à utiliser.
    Par exemple tu as la notion d'itérateurs, d'algorithme et de traits.

  6. #6
    Responsable Systèmes


    Homme Profil pro
    Gestion de parcs informatique
    Inscrit en
    Août 2011
    Messages
    18 175
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Gestion de parcs informatique
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Août 2011
    Messages : 18 175
    Par défaut
    Le C++ comme l'Objective-C n'ont pas de ramasse miettes
    Je pensais.

    Je comprend pas la référence à la STL.

    J'avais oublié le système des exceptions.
    Ma page sur developpez.com : http://chrtophe.developpez.com/ (avec mes articles)
    Mon article sur le P2V, mon article sur le cloud
    Consultez nos FAQ : Windows, Linux, Virtualisation

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 16
    Dernier message: 06/06/2007, 12h42
  2. Comment faire pour faire glisser un objet dans une form ?
    Par Olun dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/09/2005, 17h49
  3. Executer barre de taches sans faire click droit
    Par kikica dans le forum Autres Logiciels
    Réponses: 15
    Dernier message: 11/08/2005, 12h59
  4. Réponses: 3
    Dernier message: 08/08/2005, 11h24
  5. Réponses: 2
    Dernier message: 05/07/2005, 17h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo