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

  1. #321
    Membre expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Points : 3 344
    Points
    3 344
    Par défaut
    Je vois aussi cela comme un avantage mais effectivement coté éducation/adoption des dévelopeurs, ça aide pas. La plupart des développeurs ont tendance à penser qu'ils agissent quasimment toujours à au niveau sauf si le besoin d'en fait ressentir. Seulement on leur apprend souvent le C with classes qui est encore loin du C++ "moderne". Enfin c'est une discussion qu'on a déjà eu dans le coin.

    C'est assez difficile de faire comprendre a quelqu'un que ce n'est pas parcequ'une feature de language existe qu'elle est là pour être utilisé de manière systématique. Du coup expliquer que l'orienté objet n'est qu'une petite partie de la solution a un problème est loin d'être une partie de plaisir.


    Il me semble que Stroustrup a dit que son plus grand regret était qu'il n'y a pas vraiment de communauté centrale autour de C++ et c'est vrai : la connaissance du language est sacrément diluée sur le net, même si ça tend globalement a aller vers le correcte. Je me souviens avoir appris les bases du C with classes sur des tutoriaux sur le net et aujourd'hui je déconseil fortement cette aproche. Les livres sont souvent bien mieux.

    Tout ça pour dire que le problème d'education est en grande partie responsable de la vision négative d'avoir un language qui permet d'ecrire du code "à tous les niveaux"...
    Si on se contente à un moment donné du niveau requis pour le problème immédiat à résoudre, il n'y a aucun souci avec ça. On a même l'avantage de ne pas avoir a changer de langage.

  2. #322
    Nouveau membre du Club
    Inscrit en
    Juillet 2010
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    Citation Envoyé par davcha Voir le message
    Pour moi, c'est ça LE gros défaut de C++ : c'est un langage qui a le cul entre deux chaises. Proche de la machine, mais abstrait quand même...
    Faut savoir ce qu'on veut. Soit on manipule des concepts, soit on manipule des bits.
    Je dirais que c'est un langage un peu schizophrène (mais vous avez votre propre façon de dire les choses ^^).

    C'est un langage qui a tous les avantages du C, plus les avantages qui lui sont propres . Finalement, que demander de plus ?

    Citation Envoyé par Klaim Voir le message
    Du coup expliquer que l'orienté objet n'est qu'une petite partie de la solution a un problème est loin d'être une partie de plaisir.
    Parce que c'est faux tout simplement, la programmation orientée objet, même en C++ (qui permet de faire des programmes optimisés), est un élément assez omni-présent (théoriquement).

  3. #323
    Membre régulier
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 154
    Points : 124
    Points
    124
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Le fait qu'on est jamais sûr de ce que fait une ligne de code... merci les #define, la surcharge d'opérateur, les transtypages implicites, ...
    Selon le créateur du C++, Bjarne Stroustrup, le #define ne devrait servir que pour des options pour le préprocesseur, donc pas de macro mais des inlines.

    Avec Visual studio 2005 et plus pas de problème pour voir le code qui est actif et non actif entre des #ifdef, #else et #endif.

  4. #324
    Expert éminent sénior
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 612
    Points : 30 612
    Points
    30 612
    Par défaut
    Citation Envoyé par alexis b Voir le message
    JParce que c'est faux tout simplement, la programmation orientée objet, même en C++ (qui permet de faire des programmes optimisés), est un élément assez omni-présent (théoriquement).
    Tu ne semble pas encore avoir assez manipulé la STL ou boost, pour avoir une telle réaction.

    Dans les deux cas que je cite, on a affaire bien plus souvent à une approche générique qu'à une approche OO, même si l'orienté objet n'est souvent pas très loin.

    De plus, c'est un argument que l'on a très difficile à faire passer auprès des javaistes ou des C#istes, même si l'orienté objet présente de très sérieux avantages, il ne faut pas en oublier les limites.

    L'approche purement séquentielle, basée sur des fonctions libres permet dans bien des cas au développeur d'écrire un code moins verbeux mais tout aussi compréhensible.

    L'approche générique quant à elle permet de créer des hiérarchies de classe bien moins complexes et donc... beaucoup plus flexibles en évitant d'introduire dans une hiérarchie des branches entières qui n'auraient sans doute rien à y faire.

    Il ne s'agit pas de remettre en cause les bienfaits de l'orienté objet, comprenons nous bien, il s'agit simplement de faire prendre conscience que l'orienté objet n'est pas forcément la panacée pour laquelle on essaye de le faire passer.

    De tous temps, il s'est trouvé des charlatans pour essayer de nous vendre des remèdes prétendant tout soigner, du simple rhume au cancer, en passant par la goutte ou les morpions, et soit-disant totalement exempts d'effets secondaires mais tous en avaient effectivement, et très peu étaient réellement efficaces.

    L'orienté objet apporte certes un grand nombre de solutions à certains problème, mais, comme tout remède, il faut être conscient des effets secondaires qu'il entraine.

    Les autres paradigmes permettent d'atténuer ces effets secondaires lorsqu'ils sont utilisés à bon escient, et c'est de cela que le C++istes essayent de faire prendre conscience aux autres
    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

Discussions similaires

  1. Réponses: 32
    Dernier message: 26/03/2010, 10h22
  2. Quel est pour vous le meilleur éditeur xml ?
    Par neo.51 dans le forum XML/XSL et SOAP
    Réponses: 87
    Dernier message: 20/02/2010, 20h04
  3. Quel est selon vous le plus gros flop d'Apple ?
    Par Katleen Erna dans le forum Actualités
    Réponses: 90
    Dernier message: 13/09/2009, 16h16
  4. Quel est, selon vous, le plus gros flop de Google ?
    Par Katleen Erna dans le forum Actualités
    Réponses: 14
    Dernier message: 10/09/2009, 23h35
  5. Quel est le langage de programmation le plus pertinent pour du traitement audio ?
    Par LeTouriste dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 02/11/2006, 11h42

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