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++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 Pourquoi la communauté C++ s'intéresse plus à la technique et ignore la conception?
    Bonjour,

    Depuis la naissance de C++ et la communauté se focalise plus sur la technique et ces astuces.

    Or s'intéresser a la conception simplifie beaucoup de choses et contribue a rendre l'utilisation de C++ très simple.

    Malheureusement les sociétés commencent à fuir c++ à cause de sa complexité puisqu'on perd beaucoup de temps au niveau des couches techniques or l'essentiel c'est la couche métier.

    La communauté DotNet et Java s'intéressent plus a la conception et ça se voient dans la facilité d'utilisation de leurs frameworks.

    Quand la communauté C++ s'intéressera plus a la conception ?

  2. #2
    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 : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    partiellement vrai, Il existe des framework et des environnement métiers même en C++. j'ai même développé sur un EAI telecom (orienté métier) ou tu définissait un modèle UML sous rational rose et qui te générais et compilait le code C++ derrière, et sur ce projet personne n'a jamais été modifié a la main une seul fois le code généré.

  3. #3
    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 jabbounet Voir le message
    j'ai même développé sur un EAI telecom (orienté métier) ou tu définissait un modèle UML sous rational rose et qui te générais et compilait le code C++ derrière, et sur ce projet personne n'a jamais été modifié a la main une seul fois le code généré.
    Effectivement si l'équipe est orienté conception on arrivera a un résultat pareil, mais malheureusement c'est pas toujours le cas.

    d'une part les frameworks techniques de C++ sont encore compliqués surtout pour un débutant donc il passera plus de temps juste pour faire une interface graphique simple.

    d'autre part il n y a pas de culture de conception pour la communauté C++ il suffit juste de comparer les forums C++ a ceux de Dotnet et java ou on remarque qu'on parle plus de la conception.

    J'ai l'impression qu'en C++ on bataille encore avec l'aspect technique or pour un langage mature on doit dépasser cette étape et ce concentrer sur le métier.

  4. #4
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    d'autre part il n y a pas de culture de conception pour la communauté C++ il suffit juste de comparer les forums C++ a ceux de Dotnet et java ou on remarque qu'on parle plus de la conception.
    Je ne vois surtout pas pourquoi on viendrait sur le forum C++ (ou tout autre forum orienté langage) pour parler conception, de telles discutions ont plus leur place dans un forum conception.

    Les problématiques de conception sont, en grande partie, indépendantes des langages, mélanger les deux me semble être une erreur.


    PS : ceci étant, je suis d'accord avec toi pour dire que se focaliser uniquement sur les aspects techniques est une erreur.

  5. #5
    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 gl Voir le message
    Les problématiques de conception sont, en grande partie, indépendantes des langages, mélanger les deux me semble être une erreur.
    Normalement pour un projet on passe un tiers du temps au niveau analyse et conception l'autre tiers au niveau codage et le dernier tiers on teste.

    Par contre si je bataille pour coder des choses simples forcement je piétine sur le temps de la conception et aussi de test.

    c'est vrai que la conception est général a tous les langages, mais si les frameworks et le langage ne me facilite pas la tache au niveau codage ça sera en dépend de la conception.

  6. #6
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    Par contre si je bataille pour coder des choses simples forcement je piétine sur le temps de la conception et aussi de test.
    Mais justement, dans ce cas, c'est bien un problème technique et non de conception, même si au final cela peut se ressentir sur le temps affecté à la conception.
    Et cette problématique est identique pour tout les langages, même si elle sera fatalement moins fréquente pour toi dans un langage où tu es à l'aise.

  7. #7
    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
    Juste pour donner des exemples concrets des dangers d'être trop technique et ignorer la conception.

    pendant mon expérience en c++, la majorité des développeurs avec qui j'ai bosser considère la technologie COM très compliquée et voila a mon avis une raison:

    la couche COM pour un projet mal conçu est utilisé pour implémenter les objets metiers, donc on traine toute la complexité du COM avec tout ces types BSTR,SAFFEARRAY, le probléme de marshaling ainsi de suite.

    or pour un projet bien conçu les objets metiers sont des classes très simples(POCO) et a la fin on peut créer des wrappers COM autour de ces classes, donc un seul développeur qui maitrise COM suffit, on va gagner beaucoup de temps au niveau développement et surtout on facilitera la tache aux ressources humaines pour lui eviter de chercher plusieurs profils qui maitrisent la technologie COM.

    Or si on pense pas a bien concevoir l'application on contribuera forcement a l'idée que C++ est très compliqué.

  8. #8
    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
    Ben à part que la complexité des COM n'est nullement lié au langage C++, euh.. ok.

    Il faut bien distinguer ce qui est du C++, ce qui est du Windows, ce qui est du C et ce qui est du Linux.

  9. #9
    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 nikko34 Voir le message
    Ben à part que la complexité des COM n'est nullement lié au langage C++, euh.. ok.

    Il faut bien distinguer ce qui est du C++, ce qui est du Windows, ce qui est du C et ce qui est du Linux.
    lorsque je dis que ca rend le C++ plus compliqué , je parle d'un point de vue décideur, il ne va pas rentrer dans les détails pour savoir que COM est une couche indépendante du langage, par contre il va voir que le planing est dépassé , qu'on arrive pas a trouver des ressources, ect...

    et l'exemple de COM est juste pour montrer les dangers de la mauvaise conception.

    je ne suis pas contre C++ , d'ailleurs je code toujours avec, mais je suis pour le principe de "Keep it Simple" pour essayer de remettre le C++ a sa vrai place qui commence a la perdre de plus en plus.

  10. #10
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 526
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    pendant mon expérience en c++, la majorité des développeurs avec qui j'ai bosser considère la technologie COM très compliquée et voila a mon avis une raison:
    Je fais partie de ceux-là
    COM c'est vraiment pas évident et intuitif on dirait que seuls les initiés et les gourous de chez MS peuvent être capables de maitriser cette architecture.
    Mais ceci dit tu maitrises COM tu maitrises une architecture fantastique, puissante et assez bien faite au final.
    Le problème n*1 c'est ce que c'est pas intuitif du tout ; Microsoft a refait les paradigmes ( est-ce le mot approprié ? ) de la POO à sa propre sauce.

    or pour un projet bien conçu les objets metiers sont des classes très simples(POCO) et a la fin on peut créer des wrappers COM autour de ces classes, donc un seul développeur qui maitrise COM suffit, on va gagner beaucoup de temps au niveau développement et surtout on facilitera la tache aux ressources humaines pour lui eviter de chercher plusieurs profils qui maitrisent la technologie COM.
    Oui absolument ; COM est excellent pour faire des "plug-ins" pour un programme "client"
    C'est un peu dans cette optique là que Microsoft a conçu cette technologie


    Citation Envoyé par Issam_Lahlali Voir le message
    Ça fait 10 ans que je fais du c++ et je sais qu'un débutant en C# va terminer avant moi une interface graphique en c# si moi je la code en c++
    Oui mais l'interface C# sera plus lente que celle en C++
    Attention troll C#/vs C++ en vue

  11. #11
    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 : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    Effectivement si l'équipe est orienté conception on arrivera a un résultat pareil, mais malheureusement c'est pas toujours le cas.

    d'une part les frameworks techniques de C++ sont encore compliqués surtout pour un débutant donc il passera plus de temps juste pour faire une interface graphique simple.
    dans l'exemple dont je te parle, je ne vois pas ce qu'il y'a de compliqué a faire un diagramme UML, poser des rectangle et des ronds et les relier avec des traits (je sais c'est un peu plus complexe que ça uml, mais la je grossis un peu le traits) je ne vois pas comment on peux faire plus simple.

    d'autre part il n y a pas de culture de conception pour la communauté C++ il suffit juste de comparer les forums C++ a ceux de Dotnet et java ou on remarque qu'on parle plus de la conception.
    je me demande si les personne qui ont développé apache ont commencé par faire le code à l'arrache et ont ensuite fait le reste (la doc,....) car c'est quand même écrit en C++ a la base si je me souviens.

    je pense que tu ne te rend pas compte mais il y'a un paquet d'application développées en C/C++ dans n'importe quel environnement, pidgin, Firefox, Thunderbird, pour ne citer que des open sources ont été écrits en C/C++, et je ne pense pas que leurs concepteur sont ont fait le code à l'arrache.

    Bref les démarche dans les projets et la façon dont sont conçue les softs sont très indépendant des langage à la base, ensuite c'est surtout une question de culture d'entreprise. la ou je travaille on ne pond pas une ligne de code avant d'avoir validé les documents de conceptions par exemple et ce quelque soit le langage dans lequel sera faite implémentation.


    J'ai l'impression qu'en C++ on bataille encore avec l'aspect technique or pour un langage mature on doit dépasser cette étape et ce concentrer sur le métier.
    Quel métier, C++ est capable de répondre a pratiquement toutes les problématique de programmation allant de l'embarqué (petit systemes) au Application tres haut niveau il faut effectivement voir dans quel niche tu te situe tu n'aura pas le même niveau d'avancement des différents encironnement de dev (framewok disponible, ...) en fonction du métier dans lequel tu te situe.


    Exemple pour les téléphones mobile tu as beaucoup de SDK en C/C++ par exemple et si ce n'est pas orienté métier (pour ceux qui développent des applis sur téléphone je ne vois pas comment il feraient)


    Apres effectivement tout n'est pas rose non plus dans le monde du C++. mais dire qu'il n'y a pas de démarche de conception dans ce domaine est un bêtise.
    la démarche de conception dépend beaucoup de la culture projet que tu as dans ton entreprise.

  12. #12
    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 jabbounet Voir le message
    dans l'exemple dont je te parle, je ne vois pas ce qu'il y'a de compliqué a faire un diagramme UML, poser des rectangle et des ronds et les relier avec des traits (je sais c'est un peu plus complexe que ça uml, mais la je grossis un peu le traits) je ne vois pas comment on peux faire plus simple.
    Effectivement c'est simple mais ça demande un effort de conception,pour cela il faut faire comprendre aux developpeurs C++ de ne pas rester focaliser sur la technique.

    Pour un développeur C++ débutant qui cherche des ressources au niveau WEB il va être noyer par des articles techniques, et forcement il aura une vision proche de la tuyauterie technique.

    autant plus que C++ est trop permissif, il englobe des concepts qu'il faut maitriser avant de les utiliser a tord et a travers comme le mot clé Friend par exemple.

    Citation Envoyé par jabbounet Voir le message
    Quel métier, C++ est capable de répondre a pratiquement toutes les problématique de programmation
    Tout a fait raison mais encore une fois c'est pas le langage qui est en cause mais la culture de développement C++ qui reste bas niveau qui est en cause.

    C++ est trop similaire a C# ou java donc on doit pouvoir avoir des frameworks aussi facile que ces 2 langages.

  13. #13
    Membre averti
    Inscrit en
    Août 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Août 2006
    Messages : 36
    Par défaut
    Cet article suppose que la partie conception fonctionnelle et la partie développement du produit se font par les mêmes personnes.
    C'est le cas pour les petites structures, pratiquement jamais pour les grandes.
    J'ai été responsable de composant C++ pendant 2 ans, avant j'étais spécialisé dans le Java et la recherche fondamentale. Je retire de cette expérience que en travaillant dans un gros framework C++ sans documentation, il est extrêmement time consuming de faire tenir le produit dans ses spécifications à cause de la complexité du langage et de ses API. Mais aussi de la complexité des outils et environnements autour du produit.

    Travailler sur un code C++ multi-environnement sans équipe de design fonctionnel revient à vouloir créer un produit certe innovant et plus rapide que les autres, mais aussi horriblement lent à maintenir et faire évoluer, et souvent bardé de user scenarios aussi simples que remonter un moteur de moto 4 cylindres sans manuel.

    Encore une fois, tout est histoire de choix. Je suis persuadé qu'on peut faire un super produit au niveau fonctionnel et user friendly en C++, à condition de bien voir les pièges dans les lesquel tomber et pouvoir y mettre les ressources.

  14. #14
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Par défaut
    Citation Envoyé par Vilmir Voir le message
    C'est le cas pour les petites structures, pratiquement jamais pour les grandes.
    J'ai été responsable de composant C++ pendant 2 ans, avant j'étais spécialisé dans le Java et la recherche fondamentale. Je retire de cette expérience que en travaillant dans un gros framework C++ sans documentation, il est extrêmement time consuming de faire tenir le produit dans ses spécifications à cause de la complexité du langage et de ses API. Mais aussi de la complexité des outils et environnements autour du produit.
    Ca marche aussi avec d'autres langages. Un gros framework sans volonté de documentation ou de tests, c'est courant en recherche et très casse-gueule.

  15. #15
    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 : 49

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juin 2009
    Messages : 1 909
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Ca marche aussi avec d'autres langages. Un gros framework sans volonté de documentation ou de tests, c'est courant en recherche et très casse-gueule.
    c'est vrai que l'on ne trouve jamais de soft pas ou mal documenté dans nos métier

  16. #16
    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 Vilmir Voir le message
    Encore une fois, tout est histoire de choix. Je suis persuadé qu'on peut faire un super produit au niveau fonctionnel et user friendly en C++, à condition de bien voir les pièges dans les lesquel tomber et pouvoir y mettre les ressources.
    le gros probléme que je vois venir de plus en plus est justement celui des ressources,vu que l'école enseigne de plus en plus d'autres langages, on a moins de moins de jeunes qui s'orientent vers C++ et pour les Ressources humaines ça devient un casse tète de trouver des profils C++.

    comme conséquence directe c'est que pour un projet au lieu d'avoir 6 personnes on ne peut avoir que 3 même si on a les moyens d'embaucher d'autres mais ça commence a devenir une perle rare.

    juste une anecdote : est ce que vous avez rencontrer des boites qui choisissent la techno a utiliser par rapport surtout a possibilité de trouver rapidement des ressources ou pas

    moi oui et notamment pour C++ ou ils ont choisit même d'entamer une migration pour être sur d'éviter la pénurie de développeurs C++ après quelques années , question d'anticipation

    donc le probléme de ressource est un gros probléme qu'il ne faut pas prendre a la légère, et c'est vrai pour d'autres langages mais c'est plus flagrant pour C++.

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2006
    Messages : 134
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    Bonjour,

    Depuis la naissance de C++ et la communauté se focalise plus sur la technique et ces astuces.

    Or s'intéresser a la conception simplifie beaucoup de choses et contribue a rendre l'utilisation de C++ très simple.

    Malheureusement les sociétés commencent à fuir c++ à cause de sa complexité puisqu'on perd beaucoup de temps au niveau des couches techniques or l'essentiel c'est la couche métier.

    La communauté DotNet et Java s'intéressent plus a la conception et ça se voient dans la facilité d'utilisation de leurs frameworks.

    Quand la communauté C++ s'intéressera plus a la conception ?

    Pour faire du c,c++ dans l'embarqué, la conception est primordiale voir plus que la technique. Je vois et j'ai toujours vu les langages quel qu'il soit comme des outils permettant de réaliser un conception (uml powa). Après la logique économique veut toujours allez plus vite plus simple plus efficace (pas comme les femmes). Il faut noter que le coté technique fait que eh ben tu sait ou tu sait pas, tandis que le coté conception il peut y avoir de l'à peu près surtout dans le logiciel des couches hautes.

Discussions similaires

  1. Pourquoi mon image ne s'affiche plus
    Par Gouyon dans le forum 2D
    Réponses: 5
    Dernier message: 18/03/2011, 13h51
  2. Réponses: 6
    Dernier message: 27/12/2010, 15h40
  3. Réponses: 10
    Dernier message: 22/12/2009, 19h58
  4. Réponses: 6
    Dernier message: 26/06/2006, 15h52
  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: 25/05/2006, 23h16

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