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 :

Pourquoi la communauté C++ s'intéresse plus à la technique et ignore la conception?


Sujet :

C++

  1. #161
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par white_tentacle Voir le message
    Il y a des modèles de développement qui disent tout et n'importe quoi .
    Il y a des forumeurs aussi qui disent tout et n'importe quoi

  2. #162
    Membre éprouvé
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    189
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 189
    Par défaut
    Citation Envoyé par hegros Voir le message
    En même temps est-ce que enseigner la partie C du C++ est une erreur d'enseignement du C++ ? Pour moi non puisque cela en fait partie.
    Si on recherche le meilleur enseignement, je pense que AC++ est un bon début. Si on se pose la question - de manière objective bien sûr, sinon ça n'a aucun intérêt - " est-ce que donner les bases du C++ en commençant par le C est la meilleur solution ? " , on peut y répondre par "non". AC++ le montre très bien.

    Pour ma part, en tant qu'amateur ( pour l'instant ) , AC++ m'a appris à code assez rapidement ( dans le sens : utiliser les bons outils pour gagner du temps ) et à ne pas me préoccuper de certains détails qui compliquent inutilement le code ( principalement des choses que le C++ à hérité du C ) . Du coup, j'ai plus de plaisir à programmer.

    La question touchant l'enseignement me touche(ra) beaucoup d'ici quelques semaines. Mais pour être honnête, il ne faut pas reporter ( AMHA ) toute la faute sur les profs : ils ont certes un rôle à jouer, mais leurs employeurs en ont aussi un. Ils y gagneraient beaucoup ( satisfaction du niveau des élèves en sortant, ou la renomé si ça les intéresse ) à fournir des cours pertinents pour les ( anciens ) professeurs et les mettre à niveau.

  3. #163
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par hiura Voir le message
    Si on recherche le meilleur enseignement, je pense que AC++ est un bon début. Si on se pose la question - de manière objective bien sûr, sinon ça n'a aucun intérêt - " est-ce que donner les bases du C++ en commençant par le C est la meilleur solution ? " , on peut y répondre par "non". AC++ le montre très bien.
    Non ce n'est pas la meilleure solution de commencer comme cela mais ce n'est pas ce que je disais non plus.

    Je disais que dans un programme d'enseignement C++ s'arrêter sur le C un temps n'est pas pour moi une erreur ne serait-ce que pour voir les différences fondamentales. Et cela devrait faire parti de l'enseignement de montrer que ce sont 2 langages différents autant le faire dans un cours C++ non ? Probablement pas d'intro mais de conclusion ?

  4. #164
    Membre très actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par défaut
    Il ne faudrait pas oublier que c++ a un sérieux problème (tout comme perl 6) :
    Il faut des années, si ce n'est des décades pour que des compilateurs implémentants correctement le dernier standard en date soient au point. Ce n'est pas le cas des autres grands langages (à part, ok, perl 6). Des "bonnes pratiques" tant en terme d'idômes que de conception ne peuvent dès lors pas se répendre le jour même de la release. En gros, tout le monde nage dans le flou, à commencer par le commité de standardisation (qui, soit dit en passant, doit faire un boulôt parmis les plus complexes que l'intellecte humain puisse supporter). Le récent retrait des concepts en est la preuve flagrante: tout ça est chaudard, très très chaudard à gérer. Il ne faut dès lors pas s'étonner que ça parte dans toutes les directions, à commencer par les premiers visés: les utilisateurs. Heureusement, certains courants se dégagent (à grand coup de hacks, tricks et macros si nécessaire, du vrai c++ quoi) : boost, Qt que certains citent, même si quand on y réfléchit, c'est un peu de la triche quelque part..
    On notera tout de même que malgré ces formidables obstacles, c++ a gardé une longueur d'avance sur ses concurrents directes (non, lisp est hors catégorie ). La STL, la programmation générique, c'est quand même plus ambitieux que le model tout objet à base de classe, finalement vieillo, que l'on retrouve chez ses voisins.

  5. #165
    Membre Expert

    Inscrit en
    Mai 2008
    Messages
    1 014
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 1 014
    Par défaut
    Citation Envoyé par hegros Voir le message
    Non ce n'est pas la meilleure solution de commencer comme cela mais ce n'est pas ce que je disais non plus.

    Je disais que dans un programme d'enseignement C++ s'arrêter sur le C un temps n'est pas pour moi une erreur ne serait-ce que pour voir les différences fondamentales. Et cela devrait faire parti de l'enseignement de montrer que ce sont 2 langages différents autant le faire dans un cours C++ non ? Probablement pas d'intro mais de conclusion ?
    Certes, et Stroustrup y consacre d'ailleurs tout un chapitre, complet et très détaillé, dans son dernier livre destiné aux novices "Programming and Principles using C++". Sauf que ce chapitre "The C programming language" est le chapitre 27, pas le chapitre zéro.

  6. #166
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Pour reprendre la question originale (oui, je sais, ca fait loin) le coté multi-paradigme m'a toujours semblé plus une conséquence imprévue des évolutions techniques du langage, plutôt qu'une cause première de ces dites évolutions.

    En fait, j'ai l'impression qu'il y a 3 "sous-langages" en C++ : le C, L'Orienté-Objet et le Template.

    Ce qui induit le problème d'avoir une seule "conception technique" qui utilise jusqu'a 3 concepts différents.

    Dans les projets que j'ai côtoyé, on a toujours essayer de mettre des règles strictes pour se cantonner à un seul concept (généralement l'orienté-objet). Je ne sais pas si c'est pareil pour les "pros" du C++, mais jongler avec ces 3 concepts est assez délicat dans un projet.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #167
    Membre extrêmement actif

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Par défaut
    Citation Envoyé par Arzar Voir le message
    Certes, et Stroustrup y consacre d'ailleurs tout un chapitre, complet et très détaillé, dans son dernier livre destiné aux novices "Programming and Principles using C++". Sauf que ce chapitre "The C programming language" est le chapitre 27, pas le chapitre zéro.

    merci de confirmer mes idées par le concepteur du langage

  8. #168
    Membre très actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    En fait, j'ai l'impression qu'il y a 3 "sous-langages" en C++ : le C, L'Orienté-Objet et le Template.

    Ce qui induit le problème d'avoir une seule "conception technique" qui utilise jusqu'a 3 concepts différents.

    Dans les projets que j'ai côtoyé, on a toujours essayer de mettre des règles strictes pour se cantonner à un seul concept (généralement l'orienté-objet). Je ne sais pas si c'est pareil pour les "pros" du C++, mais jongler avec ces 3 concepts est assez délicat dans un projet.
    Oui, c'est l'analyse de Scott Meyers (et ses acolytes). En plus du "Template" pour la généricité, il y un pan tout entier pour la génération de code. L'aspect fascinant c'est qu'on ne finit pas de découvrir ce qui peut ressortir de l'imbrication de ces 4 conceptes. C'est pas java ou c# qui peuvent se vanter de ça (avec troll )

  9. #169
    Membre très actif Avatar de nikau6
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Février 2008
    Messages : 406
    Par défaut
    Le c++ est un langage téchiniquement difficile, donc il est normal que les développeurs qui l'utilisent, passent plus de temps à parler technique que les développeurs java et .net
    C++ langage élitiste?

  10. #170
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    Dans les projets que j'ai côtoyé, on a toujours essayer de mettre des règles strictes pour se cantonner à un seul concept (généralement l'orienté-objet). Je ne sais pas si c'est pareil pour les "pros" du C++, mais jongler avec ces 3 concepts est assez délicat dans un projet.
    En fait, cela fait même davantage si l'on prend en compte (pour la partie générique) les bibliothèques utilisées (avec ou sans boost, iostream intensif ou non), et (pour la partie POO) des habitudes divergentes (héritage multiple ou non, grandes hiérarchies abstraites ou petits héritages indépendants, surcharge ou non d'opérateurs).

    C'est un problème tout à fait réel en entreprise... Quand on embauche un développeur C++, on doit s'assurer au préalable qu'il parle le même dialecte que celui utilisé dans le projet en cours... Sinon on est partis pour des heures de débats stériles, des réécritures et leur cortège de régressions, et souvent une démission à la clef.

    En fin de compte, on a presque autant de dialectes que de programmeurs, ce qui fait du C++ une option dangereuse si l'on doit programmer en équipe.

    Dans ce contexte, la voie C/C++ (c'est à dire la branche conservant un fort passif C) est souvent la solution de sécurité, ou alors, c'est la voie "orientée bibliothèque", par exemple autour d'un framework "à tout faire", genre Borland, ou MFC.

    Francois

  11. #171
    Membre très actif Avatar de nikau6
    Homme Profil pro
    Inscrit en
    Février 2008
    Messages
    406
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Etats-Unis

    Informations forums :
    Inscription : Février 2008
    Messages : 406
    Par défaut
    Citation Envoyé par fcharton Voir le message
    En fin de compte, on a presque autant de dialectes que de programmeurs, ce qui fait du C++ une option dangereuse si l'on doit programmer en équipe.
    C'est ce qui fait la beauté de ce langage.C'est un langage que l'on s'approprie de façon très intime.

  12. #172
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Par défaut
    non mais à vous écouter on dirait que c'est super compliqué.

    J'ai été formé à faire du C++ standard ( pas à l'école ) et j'ai moi même formé toute une équipe et ça n'a pas posé de problème.

    Je fais du C++ en milieu industriel et.. ça marche. ( et je n'utilise pas de "framework" à tout faire externe )

    Je cotoie des développeurs JAVA ( il y en a des sympas ) et eux aussi ont leurs problèmes qui me paraissent totalement ésotériques.

  13. #173
    Membre chevronné
    Avatar de Florian Goo
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    680
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2008
    Messages : 680
    Par défaut
    C'est vrai qu'on devrait forcer les récents embauchés à lire Meyers, Alexandrescu et/ou Sutter avant de les lâcher dans une équipe de développement…

    … dans un monde idéal .


    À mon avis, la « complexité » du C++ vient des gens qui ne s'adaptent pas. C'est aussi simple que ça.
    Cours : Initiation à CMake
    Projet : Scalpel, bibliothèque d'analyse de code source C++ (développement en cours)
    Ce message a été tapé avec un clavier en disposition bépo.

  14. #174
    Membre émérite
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    780
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 780
    Par défaut
    Citation Envoyé par Florian Goo Voir le message
    C'est vrai qu'on devrait forcer les récents embauchés à lire Meyers, Alexandrescu et/ou Sutter avant de les lâcher dans une équipe de développement…

    … dans un monde idéal .
    .
    non mais ça me parait pas aberrant dans une équipe de dev qu'il y ait au moins une personne ( le responsable technique? ) qui s'intéresse au langage qu'il utilise. Si ça c'est de l'utopie, on est mal barré.

  15. #175
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Citation Envoyé par Florian Goo Voir le message

    À mon avis, la « complexité » du C++ vient des gens qui ne s'adaptent pas. C'est aussi simple que ça.
    c'est pas un langage de sociopathe quand même

  16. #176
    Membre très actif Avatar de metagoto
    Profil pro
    Hobbyist programmateur
    Inscrit en
    Juin 2009
    Messages
    646
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Hobbyist programmateur

    Informations forums :
    Inscription : Juin 2009
    Messages : 646
    Par défaut
    Citation Envoyé par Florian Goo Voir le message
    C'est vrai qu'on devrait forcer les récents embauchés à lire Meyers, Alexandrescu et/ou Sutter avant de les lâcher dans une équipe de développement…

    … dans un monde idéal .


    À mon avis, la « complexité » du C++ vient des gens qui ne s'adaptent pas. C'est aussi simple que ça.
    Je ne suis pas un pro, mais avoir lu les 3 ou 4 bouquins qui font autorité me paraît être le stricte minimum pour une personne censée gagner sa vie avec le c++. Lire Alexandrescu ça devrait être obligatoire dès l'école.

  17. #177
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2009
    Messages : 237
    Par défaut
    Citation Envoyé par metagoto Voir le message
    Je ne suis pas un pro, mais avoir lu les 3 ou 4 bouquins qui font autorité me paraît être le stricte minimum pour une personne censée gagner sa vie avec le c++. Lire Alexandrescu ça devrait être obligatoire dès l'école.
    et en parlant des bonnes références, la première fois ou j'ai découvert le site http://www.gotw.ca/gotw/ de herb sutter ou le but est résoudre quelques problèmes, je me suis rendu compte que je n'est jamais fais du vrai C++ avant.

    je crois aussi que lors de l'enseignement on doit aborder des problèmes réels et qui sont formulés par des gens qui ont pas mal côtoyé l'entreprise pas ceux qui ont passer la majorité de leur temps a l'université entre thèse de doctorat et cours.

  18. #178
    Membre Expert Avatar de jabbounet
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juin 2009
    Messages
    1 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Citation Envoyé par metagoto Voir le message
    Je ne suis pas un pro, mais avoir lu les 3 ou 4 bouquins qui font autorité me paraît être le stricte minimum pour une personne censée gagner sa vie avec le c++. Lire Alexandrescu ça devrait être obligatoire dès l'école.
    je ne les ai jamais lu, mais l'expérience dans tout un tas de langage/domaines (10 ans maintenant) me permettent de bien voir les conneries a ne pas faire et dans plus d'une techno...

    ensuite il faut savoir être logique et pragmatique. un bon esprit cartésien aide pas mal.

  19. #179
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Florian Goo Voir le message
    C'est vrai qu'on devrait forcer les récents embauchés à lire Meyers, Alexandrescu et/ou Sutter avant de les lâcher dans une équipe de développement…
    Seulement si le reste de l'équipe les a déjà lus, non? Parce que sinon, ça risque d'être un peu sportif, à la cantoche le midi... (et je ne donne pas cher du nouveau...)

    Non, sérieusement, la vraie difficulté, c'est cette évolution entre le C/C++ des programmes qui tournent aujourd'hui, et le C++ moderne qu'on voudrait voir dans ceux de demain (sachant qu'il sera probablement déjà ringard à l'époque).

    L'université et la recherche auront toujours une longueur d'avance sur l'entreprise. Le problème de l'informatique en entreprise, c'est d'améliorer progressivement ses méthodes de programmation, et ceci demande des ingénieurs qui connaissent à la fois les anciennes pratiques et les modernes (et, si possible, ont assez souffert sous les anciennes pour avoir eu envie des modernes...).

    Pas facile...

    Francois

  20. #180
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    pas ceux qui ont passer la majorité de leur temps a l'université entre thèse de doctorat et cours.
    Je dirais qu'au contraire, ce sont ceux qui sont les plus enclins à lire les bonnes références.
    Plusieurs de mes profs de maths ont un excellent niveau en C++ (maitrise de la POO en C++ et de la programmation générique, l'un ayant écrit du code utilisant du code utilisant les expressions templates).

    Enfin, dans tous les cas, je pense que tu as une vision ... assez particulière du monde de l'entreprise et de la recherche.

Discussions similaires

  1. Pourquoi mon image ne s'affiche plus
    Par Gouyon dans le forum 2D
    Réponses: 5
    Dernier message: 18/03/2011, 14h51
  2. Réponses: 6
    Dernier message: 27/12/2010, 16h40
  3. Réponses: 10
    Dernier message: 22/12/2009, 20h58
  4. Réponses: 6
    Dernier message: 26/06/2006, 16h52
  5. Pourquoi n'y a-t-il plus de "délestage" massif sur le forum ?
    Par Eusebius dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 7
    Dernier message: 26/05/2006, 00h16

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