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. #201
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2009
    Messages : 237
    Points : 6
    Points
    6
    Par défaut
    Envoyé par ASL overview
    The Adam Expression Language (AEL) has been developed as a base expression language for both Adam and Eve2. The syntax borrows heavily from Eve1 and continues in the "C style". An XML based language was considered but rejected because every attempt has led to a language that is verbose and difficult to read. Even with a good visual editor it is expected that text based editing will be the preferred form of editing Adam and Eve descriptions for some users. However, an XML based language as an alternative is not being rejected in general.
    a mon avis c'est pas un argument "difficult to read" , il y a des outils pour ca , on va pas l'ouvrir avec bloc note.

    et le terme verbose je le vois beaucoup en C++ pour allusion a l'optimisation et malheureusement beaucoup de complexité en C++ se cache derrière le mot optimisation.

    c'est un choix qui peut les arranger s'ils utilisait ce format ou un format similaire avant mais a dire que c'est le choix souhaité par les concepteurs , architectes je ne suis pas sur.

    d'ailleurs ceux qui utilisent xaml ou flex sont très content de leur représentation XML et je n'est jamais vu de critique concernant ces 2 technos visant XML comme maniéré de représenter.

  2. #202
    Membre émérite
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Points : 2 799
    Points
    2 799
    Par défaut
    d'ailleurs ceux qui utilisent xaml ou flex sont très content de leur représentation XML et je n'est jamais vu de critique concernant ces 2 technos visant XML comme maniéré de représenter.
    C'est dingue, tu réussis à caser un troll xml sur un troll c++, c'est pour un best of ?

    Il entre peut-être un peu trop dans les détails pour qui ne veut pas utiliser WPF, mais il montre bien ses capacités en terme de customisation. La particularité étant que toute customisation d'apparence se fait sans vraiment écrire de code.
    J'ai vu des démos WPF, c'est effectivement plutôt sympathique ce qu'on peut faire. Mais il y a un gros revers : aucune des applis que j'ai vu n'était intégrée au système en terme de look and feel.

    À pouvoir tout faire très facilement, les applis ont chacune une ergonomie différente, et j'ai peur qu'on en revienne à la foire de la fin des années 80, où il fallait tout réapprendre à chaque nouvelle application, rien n'était standard.

    La complexité à faire des choses qui sortent du moule a au moins une vertu, l'harmonisation des interfaces.

  3. #203
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2009
    Messages : 237
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par white_tentacle Voir le message
    C'est dingue, tu réussis à caser un troll xml sur un troll c++, c'est pour un best of ?



    J'ai vu des démos WPF, c'est effectivement plutôt sympathique ce qu'on peut faire. Mais il y a un gros revers : aucune des applis que j'ai vu n'était intégrée au système en terme de look and feel.

    À pouvoir tout faire très facilement, les applis ont chacune une ergonomie différente, et j'ai peur qu'on en revienne à la foire de la fin des années 80, où il fallait tout réapprendre à chaque nouvelle application, rien n'était standard.

    La complexité à faire des choses qui sortent du moule a au moins une vertu, l'harmonisation des interfaces.
    la tu critique WPF pas la représentation XML et effectivement ca sera un troll interminable si on commence a parler de WPF


    je vais entrer plus en detail pour expliquer ma preference a XML comme langage de représentation:

    Actuellement il ya énormément de technologies pour développer des applications , et du moment qu'on commence avec une techno c'est difficile de passer a une autre , vu qu'on devient très très dépendant.

    l'évolution de l'informatique fait qu'on cherche des standards pivot pour essayer de résoudre ce problème, et XML est une brique pour ce but.

    par exemple pour l'aproche MDA qui pietinne encore le but est de passer d'un PSM ( implementation physique avec une techno) vers une autre d'une manière idéalement automatisé pour ne plus être esclave d'une techno donnée et pour penser haut niveau et se découpler de la couche technique.

    alors choisir d'autres manières de représenter c'est un choix mais ça ne contribue pas a la fin d'esclavage par rapport a une techno donnée.


    je suis pour une liberté de toute techno , j'utilise celle qui me va bien dans un contexte donnée et je suis pour tous les choix qui mènent a ce résultat.

  4. #204
    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 : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    et le monde C++ était le premier a proposer une tel programmation avant même XAML ou Flex il s'agit de ce que propose Mozilla avec XUL.
    T'as pas connu Delphi et ses DFM on dirait.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  5. #205
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2009
    Messages : 237
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par pseudocode Voir le message
    T'as pas connu Delphi et ses DFM on dirait.
    non je n'est jamais fait une seule ligne de code avec Delphi mais j'ai un echo très positif de la facilité de dev avec.

    et je je ne sais pas si les DFM sont juste l'équivalent des .res ou propose un vrai langage déclaratif avec le binding , style,ect...

  6. #206
    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 : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    non je n'est jamais fait une seule ligne de code avec Delphi mais j'ai un echo très positif de la facilité de dev avec.

    et je je ne sais pas si les DFM sont juste l'équivalent des .res ou propose un vrai langage déclaratif avec le binding , style,ect...
    Plutôt langage déclaratif, mais pas de binding.

    Un Label (texte) dans un Formulaire (panel)
    Code dfm : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    object fmHelloWorld: TfmHelloWorld
      Left = 200
      Top = 99
      Width = 435
      Height = 300
      Caption = 'fmHelloWorld'
      Font.Color = clWindowText
      Font.Height = -13
      Font.Name = 'System'
      Font.Style = []
      PixelsPerInch = 96
      TextHeight = 16
      object txHelloWorld: TLabel
        Left = 115
        Top = 70
        Width = 77
        Height = 16
        Caption = 'Hello World'
      end
    end
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  7. #207
    Membre confirmé Avatar de saad.hessane
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 315
    Points : 496
    Points
    496
    Par défaut
    Si UML n'est qu'un langage pour représenter ce qu'on a déjà conçu, quelle est la méthode à suivre pour faire cette conception? Je veux dire que par exemple si je veux concevoir l'architecture d'une base de donnée, j'utilise Merise, en commencant par un MCD en ressortant les contraintes... puis je passe à mon MLD pour finir sur un MPD. J'ai donc une route bien tracée, normalisée et reconnue.
    Maintenant comment faire pour la conception en C++?

  8. #208
    Membre Expert

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

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Citation Envoyé par ilys05 Voir le message
    Si UML n'est qu'un langage pour représenter ce qu'on a déjà conçu, quelle est la méthode à suivre pour faire cette conception?
    UML ne sert pas qu'à représenter une conception terminée ceci se nomme la rétro-ingénierie. Si tu veux suivre une méthode basée sur le langage UML, car tu peux en inventer une aussi à toi, il en existe toute une série bien connu( 2TUP par exemple)


    Citation Envoyé par ilys05 Voir le message
    Je veux dire que par exemple si je veux concevoir l'architecture d'une base de donnée, j'utilise Merise, en commencant par un MCD en ressortant les contraintes... puis je passe à mon MLD pour finir sur un MPD. J'ai donc une route bien tracée, normalisée et reconnue.
    Maintenant comment faire pour la conception en C++?
    Tout d'abord c'est réducteur de ramener Merise à la conception des données exclusivement alors que la méthode prends aussi en compte les traitements et la communication mais bon c'est courant mais cela m'énerve

    Maintenant rien ne t'empêche de l'utiliser si l'implémentation doit être faite en C++, c'est indépendant du langage Merise.
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  9. #209
    Membre confirmé Avatar de saad.hessane
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    315
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 315
    Points : 496
    Points
    496
    Par défaut
    Citation Envoyé par hegros Voir le message
    Tout d'abord c'est réducteur de ramener Merise à la conception des données exclusivement alors que la méthode prends aussi en compte les traitements et la communication mais bon c'est courant mais cela m'énerve
    Je n'ai rien réduit du tout, je ne donnais qu'un exemple de modélisation d'une base de donnée. Merise sais faire bien plus de chose que cela.

  10. #210
    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 : 51
    Localisation : France, Hérault (Languedoc Roussillon)

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Points : 16 081
    Points
    16 081
    Par défaut
    Citation Envoyé par ilys05 Voir le message
    Maintenant comment faire pour la conception en C++?
    Bah, pareil. Il y a des méthodologies de conception "orienté-objet", "orienté process", "data centric", ... pleins de choix possibles.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  11. #211
    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 : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Tout d'abord je tiens à signaler qu'il y a des langages où la communauté s'intéresse encre moins à la conception (par exemple Fortran où l'intérêt principal, c'est de calculer vite, pour la conception, on repassera).
    Citation Envoyé par Issam_Lahlali Voir le message
    pour être clair pour concept je parle la de classe abstract pure indépendante de toute implémentation, a tu compter combien il y en a dans STL,Boost et QT ?
    Pour commencer, QT, c'est QuickTime, pas Qt
    Ensuite, comme certains l'ont dit, une interface, ça a un coût, puisque ce sont des appels virtuels dans ce cas. Et pour avoir de la perf, les méthodes virtuelles sont souvent à proscrire. Si c'est dans 99% de la SL, le langage est à mettre à la poubelle.

    Citation Envoyé par Issam_Lahlali Voir le message
    a part le faite que c'est cohérent , on a pas plusieurs types pour les strings , les files , smart_ptr,....
    Les fichiers ont généralement une interface de type stream, idem pour les chaînes de caractères, quant aux smart pointers, dans un langage à GC, aucun intérêt. A ce niveau, le C++ propose une version intermédiaire, et les SP de Boost sont tous bien distincts pour des utilisations distinctes.

    Citation Envoyé par Issam_Lahlali Voir le message
    je pense que la il y a juste un mal entendu je parle de classe abstract pur comme équivalent en c++, mais lorsque je dis que ca n'existe pas je parlais du type chaine de caractère ou peut être même File ou autre classe technique.
    C'est là où il te manque beaucoup d'expérience en terme de développement et de conception. Le C++ propose le polymorphisme statique et le polymorphisme dynamique. Pourquoi supprimer le statique alors que c'est ce qui lui permet d'être rapide et extrêmement flexible ?

    Citation Envoyé par Issam_Lahlali Voir le message
    - trouver des développeurs C++ n'est plus chose facile, donc on fait avec 3 développeurs au lieu de 4 par exemple même si la boite a les moyens pour embaucher le 4eme mais elle ne le trouve pas facilement=> manque de ressources.
    C'est plus une question de trouver un bon développeur C++/
    Citation Envoyé par Issam_Lahlali Voir le message
    - pour un projet on donne la priorité aux risques.
    Tu verras quand tu seras chef de projet que c'est impossible de financer le blindage à 100% d'une application, donc tu gères ce risque.

    Citation Envoyé par Issam_Lahlali Voir le message
    et si c'est possible d'organiser un sondage sur ce site pour connaitre le temps passé a la conception pour les projets C++ ça sera intéressant.
    Je ne peux pas te donner de pourcentage, mais quand je commence un projet C++, l'architecture est déjà assez claire chez moi et toute la conception est prête. Maintenant, il y a souvent des évolutions, et quand elles sont faites, c'est 75% de réflexion et 25% de codage/test.
    Citation Envoyé par koala01 Voir le message
    Le tout, sans oublier la foule de prof (pas forcément incompétents) qui apprennent un odieux mélange de C et de C++ en présentant ceci comme le C++...
    En général, il y a un manque de compétence latent chez les profs dépassant un certain nombre d'années, car ils ne veulent pas se remettre au niveau, et ça les arrange bien de resservir la même chose tous les ans.
    Citation Envoyé par hegros Voir le message
    c'est du à la conception du langage en lui même cela lui est intrinsèque. Quand tu as un fichier .cpp c'est du C++ que tu compiles qui dira le contraire ?

    Le fait est que tu peux compiler en C++ du code C...Le C++ traîne avec lui le C...Le fait qu'on puisse autant mélanger montre bien le lien fort qui existe entre ces 2 langages.

    Facile de rejeter la faute sur les profs avec autant de contrainte contradictoire sur ce langage.
    Le C et le C++ ont une intersection non nulle et assez large. Mais le C n'est pas contenu dans le C++ (avant même C99). De plus, les C++ moderne n'a plus du tout une écriture à la C.
    Citation Envoyé par Issam_Lahlali Voir le message
    normalement on développe en général pour implémenter un METIER donné pas des librairies techniques ou peut être les interfaces n'ont pas un grand intérêt actuellement.

    et lorsque je commence a concevoir un métier j'essaye de trouver les contrats du métier donc les interfaces et si les interfaces n'ont pas leur intérêt dans les couches technique ils ont une grande place dans la partie métier.

    et c'est l'objet de la discussion on prend comme exemple ce qu'on fait dans la couche technique pour l'appliquer a la couche METIER en terme de conception et c'est ce qu'il faut éviter.

    mon conseil aux débutants est le suivant:

    - Penser METIER et puis METIER et puis METIER c'est la vrai valeur ajouté de votre projet.

    - si vous trouver qu'une librairie technique est difficile a utiliser ne vous remettez pas en cause toute suite , mais critiquer la complexité et si vous avez le pouvoir de la changer n'hésiter pas avant qu'il ne soit trop tard, sinon essayer de faire abstraction a la complexité même si vous êtes obligés d'ajouter des wrappers autour de cette librairie.

    - lorsque vous passer trop de temps dans la couche technique c'est qu'il y a quelque chose qui cloche , essayer de découvrir lequel et ne pas continuer tête baissé on se disant que c'est normal.
    Une bibliothèque technique, ce n'est pas Boost, Qt et autres (ah oui, la STL, ça fait partie du langage). Une bibliothèque technique pour moi, c'est une bibliothèque qui a un rapport avec le métier. Le métier, ce n'est pas le métier informatique, c'est le métier principal de la boîte pour laquelle on créé le projet. Et là, tu ne trouveras jamais un standard. Quand tu changeras de boîte, pas sûr que tu te retrouves dans le même domaine/métier, et aucune chance pour que les technologies utilisées soient identiques.
    Et alors ? Ben rien. C'est comme ça, mais ce n'est pas pour ça que tu n'auars pas acquis de l'expérience utile pour ton nouvel emploi. Au contraire.
    Citation Envoyé par metagoto Voir le message
    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.
    Il y a d'autres langages qui ont le même souci. Tout langage où il y a plusieurs implémentations a ce problème. Exemple :
    - le framework .Net (ben oui, Mono est toujours en retard)
    - Ruby
    - Python
    - ...
    Citation Envoyé par pseudocode Voir le message
    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.
    Pour moi, les deux derniers sont une même face du polymorphisme. Chacun peut être utilisé plus ou moins à la place de l'autre, mais selon ce qu'on cherche à faire, un seul est pertinent (en général).
    Citation Envoyé par Issam_Lahlali Voir le message
    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.
    Les thèses de doctorat avec du code sont souvent très très proches de l'entreprise. Et vu le code que je récupère, et ce dans tous les langages, on se rend compte que l'informatique est un moyen, tout le monde peut en faire, mais personne ne veut prendre le temps d'en faire correctement (et pourquoi faudrait-il le faire puisque l'informatique est à la porté de tous ?)
    Citation Envoyé par Aurelien.Regat-Barrel Voir le message
    Le C++ cache beaucoup moins de choses et sollicite davantage le programmeur au niveau des choix possibles. Comme toujours, le prix de la liberté, c'est la responsabilité.

    Je dirais donc personnellement qu'il est plus facile d'être un mauvais programmeur en C++ qu'en Java/ .Net, ou encore qu'un mauvais programmeur fera beaucoup plus de dégâts en C++ que dans un autre langage. La difficulté de trouver des bons programmeurs en C++, c'est la difficulté de trouver des bons programmeurs tout court - c.a.d des mecs qui s'intéressent un minimum à ce qu'ils font.

    Le C++ accentue davantage tes lacunes en programmation. Est-ce la faute du langage ou du programmeur ? Certainement les deux.
    +1.
    Citation Envoyé par Alp Voir le message
    Sincèrement, tu n'es pas loin de la vérité à mon avis, mais tu n'y es pas.

    Dans la recherche, il y a de tout. Dans l'entreprise, il y a de tout. Par contre, on est d'accord pour la recherche niveau budget...

    Après, les profs, ça dépend. Il n'existe pas de vérité ultime sur le sujet je pense. Seulement, il semblerait qu'on se trouve à deux pôles opposés alors on ne tombe pas toujours d'accord
    +1
    Citation Envoyé par fcharton Voir le message
    Ca c'est facile... Ca tient au marché du travail.

    En France, une personne un peu douée en sciences finit avec un bac S, si elle est assez forte, elle va faire une prépa scientifique, pendant laquelle elle va ingérer beaucoup de maths et de physique, et apprendre à travailler efficacement. Si elle est assez forte, elle intègrera (en 3/2, forcément), une école d'ingénieur, qu'elle prendra probablement dans l'ordre de leur classement (je ne sais pas si ca a beaucoup changé, mais de mon temps c'était assez simple, Ulm, l'X, les mines et Centrale Paris à peu près à égalité, puis les Pont, les Télécoms, SupAero, Supelec, l'Ensta, les ENSI dans un ordre assez précis, ENSIMAG en tête, et ainsi de suite... Très peu de taupins choisissaient leur école par rapport à un centre d'intérêt, de toutes façons, un premier de la classe de 20 ans, ca ne sait pas trop ce que ca veut faire dans la vie)

    Tout le système est organisé autour de la sélection en sciences, donc pas de débat, les bons en science finissent dans les grandes écoles, où ils ont de meilleurs profs, et apprennent à apprendre... Le système des prépas a tendance à creuser l'écart au sein d'une classe d'age : on fait travailler les plus doués, qui s'améliorent plus vite, et en plus, grace aux anciens élèves, on les aide au départ...

    Le problème, c'est qu'en sortie d'école, ces bons, ils préfèrent bosser dans la finance, la banque, l'assurance, que faire de l'informatique. Il y a bien sur quelques fanas, mais ceux là finissent soit dans la recherche (c'est peut être bien eux, les bons profs dont parle Alp), soit à l'étranger (il y a quelques années, les salaires offerts aux Etats Unis étaient voisins des salaires français, sauf que les salaires américains étaient en dollars, et les français... en francs... y'a plein de français, en californie, dans les boites d'informatique, ou dans les labos de la cote est)

    Donc, le top du top... il y en a très très peu qui arrivent sur le marché du travail en informatique.

    Un cran en dessous, tu vas avoir de plus petites écoles et la fac. Là il y a pas mal d'informaticiens, mais ce sont des moins matheux, avec un langage un peu technique et abstrait comme le C++, il vont un peu souffrir (même avec de bons profs). Et puis, le C++ est peut être élitiste, mais je ne crois pas qu'il soit perçu comme le langage de l'élite. Pour pas mal de jeunes, le C++ c'est le langage moderne de papa, un rien vieillot. L'informatique marche pas mal aux effets de mode, ça se ressent sur les informaticiens.

    Aussi, en France, le tertiaire (la gestion) paye généralement mieux que les secteurs industriels. Si tu es informaticien et que tu veux gagner des sous, il vaut mieux travailler dans l'informatique de gestion... Et là, encore, le C++ c'est pas ca...

    Honnêtement, je ne crois pas que ce soit la faute des profs, ou en tous cas pas entièrement.

    Francois
    Ces personnes utilisent souvent l'outil informatique, mais même à leur niveau, on se rend compte que l'informatique est mal enseignée. Et dans les écoles d'ingénieur standard ou à la fac, le niveau est souvent pitoyable.
    Citation Envoyé par Issam_Lahlali Voir le message
    J'ai remarquer que le QML pour déclarer l'UI n'est pas en XML mais un format spécifique, alors je me demande pourquoi laisser le langage standard qui est très mature ou il ya plusieurs outils d'une part et une manière de validation par xsd d'autre part et on cherche a faire du spécifique.

    c'est ce qui me gêne toujours en C++, on laisse la manière la plus intuitive et on fait compliqué , peut être on se dit non ça sera trop simple, ajoutant une couche de complexité pour que ce soit du vrai C++

    Enfin je retire ce que j'ai dis si c'est du XML , en tout cas en voyant leurs exemples c'est pas le cas.
    XML, c'est bien, mais tu n'as pas clairement d'ordre défini. Normalement, tu devrais pouvoir mettre tes balises dans n'importe quel ordre. Mais parfois, ça a un sens, donc il vaut mieux parfois laisser tomber XML et utiliser autre chose.

  12. #212
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2009
    Messages : 237
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    XML, c'est bien, mais tu n'as pas clairement d'ordre défini. Normalement, tu devrais pouvoir mettre tes balises dans n'importe quel ordre. Mais parfois, ça a un sens, donc il vaut mieux parfois laisser tomber XML et utiliser autre chose.
    Encore une fois il faut rester dans le débat des idées mais pas de personnes et éviter les phrases genre manque d'expérience ou autre, c'est très facile mais ça sert a personne.

    Et justement voyant ce quelqu'un inexpérimenté va dire de cette citation.

    en aucun cas il ne faut prendre en compte l'ordre des balises , si on a un ordre a prendre en compte c'est coté métier qu'il faut le faire donc a travers des attributs donc jamais l'ordre n'a de sens excepté si on veut faire du couplage fort.

    et c'est vrai que je mélange Metier et technique mais cette erreur de conception est le meilleur exemple de mélange de Metier et technique .

    pour être clair imaginant qu'on vous demande de faire un stockage en base de données aussi en plus du stockage xml et vous vous êtes baser sur l'ordre des balises en xml comment vous allez gérer cet ordre , vous aller prendre en compte l'ordre d'insertion dans la table?

    et a plusieurs reprises on m'accuse d'inexpérience en sortant des mécanismes soit disant avancés mais est ce qu'au moins on maitrise ce qui est basique a savoir le Couplage Faible.

    et c'est l'erreur récurrente que j'ai rencontrer dans différents projets qu'on néglige souvent.

    et revenant a XML , a plusieurs reprises les intervenants ne comprennent pas pourquoi il ya un standard STL qu'on néglige mais est ce normal qu'il ya un autre standard XML qu'on néglige aussi?


    et enfin voici quelqu'un d'inexpérimenté va dire de XML :

    a un moment j'ai participer au développement d'un outil de migration de C++ a Dotnet , et ce qui nous a faciliter la tache était justement XML , en fait a partir des headers on récupèrent des fichiers xml qui décrivent les classes et on utilise les parseurs XML pour récupérer ce qu'il nous fallait et c'était trop bénéfique.

    imaginant que c'est pas XML et c'est un autre format il fallait déjà développer un parseur de ce format avant d'aller trop loin, et je te dis pas la complexité du projet après.

    si QT ( qui n'est pas quick time bien sur ) décide d'adopter un format spécifique , c'est pas le fait que je suis adepte de QT que j'accepterais tous ce qu'elle propose , mais peut être si j'étais actionnaire je changerais d'avis

    et un dernier conseil aux débutant ne soyer jamais intimider par des arguments genre manque d'expérience ou autre, rester toujours objective et critiquer ce qui vous parait compliquer et fait des réflexions avant d'adopter ce qu'on vous donnent.

  13. #213
    Alp
    Alp est déconnecté
    Expert éminent sénior

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Chacun ses critères pour choisir des bibliothèques. Personnellement, vu que je ne dois pas, dans mon code C++, toucher ne serait-ce qu'une seconde au fichier QML, je m'en fous et je préfère gagner du temps avec Qt.

    Quand Matthieu te dit que c'est Qt et pas QuickTime, c'est parce que tu écris toujours QT au lieu de Qt.

    Sinon, des questions pour toi : connais-tu le LSP ? Utilises-tu souvent l'héritage par rapport à la composition ? Utilises-tu systématiquement le polymorphisme d'héritage ou te poses-tu la question de savoir si tu avoir un polymorphisme d'un autre type (templates surtout) ?

  14. #214
    Membre extrêmement actif
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    237
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juillet 2009
    Messages : 237
    Points : 6
    Points
    6
    Par défaut
    Citation Envoyé par Alp Voir le message
    Chacun ses critères pour choisir des bibliothèques. Personnellement, vu que je ne dois pas, dans mon code C++, toucher ne serait-ce qu'une seconde au fichier QML, je m'en fous et je préfère gagner du temps avec Qt.

    Quand Matthieu te dit que c'est Qt et pas QuickTime, c'est parce que tu écris toujours QT au lieu de Qt.

    Sinon, des questions pour toi : connais-tu le LSP ? Utilises-tu souvent l'héritage par rapport à la composition ? Utilises-tu systématiquement le polymorphisme d'héritage ou te poses-tu la question de savoir si tu avoir un polymorphisme d'un autre type (templates surtout) ?

    concerant QML pour toi tu ne touche pas QML mais d'autres qui veulent faire du MDA forcement ils vont les toucher, et justement puisqu'on ne va jamais les toucher pourquoi finalement c'est pas du XML.

    pour QT j'ai bien compris mais juste pour montrer que c'est une question de forme non de fond.

    et pour tes derniers questions , j'en ai déjà répondu plusieurs fois, éviter le débat de personne avec des phrases genre tu connais rien de rien et essayant de débattre l'idée qui est l'adoption de XML ou pas avec des arguments,si tu relis mes derniers posts j'ai donner plusieurs arguments et s'il ne sont convaincantes essaye de proposer tes arguments sans entrer dans un débat entre personnes

    et pour arrêter ces attaques de personnes ,j'avoue que je suis nul et je ne connais rien , considérer moi comme un débutant qui découvre le langage et essaye de critiquer les complexités induites par le manque de conception en restant toujours dans un débat d'idées.

  15. #215
    Membre Expert

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

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Citation Envoyé par Matthieu Brucher Voir le message
    Le C et le C++ ont une intersection non nulle et assez large. Mais le C n'est pas contenu dans le C++ (avant même C99). De plus, les C++ moderne n'a plus du tout une écriture à la C.
    C++ moderne Désolé mais c'est que du vent marketing pour vendre de nouveaux concepts et fonctionnalités.

    Mais donne-nous un exemple d'équivalence de code moderne et de code moyen âgeux pour bien sentir la différence mais cela va tellement resté dans le technique que se sera peu intéressant..
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  16. #216
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    Citation Envoyé par hegros Voir le message
    C++ moderne Désolé mais c'est que du vent marketing pour vendre de nouveaux concepts et fonctionnalités.

    Mais donne-nous un exemple d'équivalence de code moderne et de code moyen âgeux pour bien sentir la différence mais cela va tellement resté dans le technique que se sera peu intéressant..
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int* t=new int[10];
    for(int i=0;i<10;++i)
    t[i]=i;
     
    delete[] 10;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    std::vector<int> t(10);
    for(int i=0;i<t.size();++i)
    t[i]=i;
    On est d'accord, ca reste sur le plan technique, mais ca va avoir des conséquences sur la conception si des possibilités techniques ne sont pas connues.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  17. #217
    Membre Expert

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

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

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Citation Envoyé par Davidbrcz Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int* t=new int[10];
    for(int i=0;i<10;++i)
    t[i]=i;
     
    delete[] 10;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    std::vector<int> t(10);
    for(int i=0;i<t.size();++i)
    t[i]=i;

    J'espère que cela est une blague parce que ton code moderne c'est comme cela que j'écrivais il y a 10 ans...

    Mon intuition ne me trompe pas complètement, c'est quand même une grosse part de vent et marketing pour ressuscité le langage
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  18. #218
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Points : 4 732
    Points
    4 732
    Par défaut
    J'espère que cela est une blague parce que ton code moderne c'est comme cela que j'écrivais il y a 10 ans...
    Toi peut être mais il y a encore beaucoup d'élèves qui apprenent du C++ comme ca (comme on en faisait il y a 30 ans).
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  19. #219
    Alp
    Alp est déconnecté
    Expert éminent sénior

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

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Points : 11 860
    Points
    11 860
    Par défaut
    Citation Envoyé par Issam_Lahlali Voir le message
    concerant QML pour toi tu ne touche pas QML mais d'autres qui veulent faire du MDA forcement ils vont les toucher, et justement puisqu'on ne va jamais les toucher pourquoi finalement c'est pas du XML.
    Le principe c'est quand même que Qt fournira le nécessaire pour ne pas avoir à se prendre la tête côté C++ !

    Citation Envoyé par Issam_Lahlali Voir le message
    pour QT j'ai bien compris mais juste pour montrer que c'est une question de forme non de fond.
    Donc tu t'en fous simplement de bien orthographier ?
    Le manque de respect envers Qt et son équipe, ça ne te dérange pas ?

    Citation Envoyé par Issam_Lahlali Voir le message
    et pour tes derniers questions , j'en ai déjà répondu plusieurs fois, éviter le débat de personne avec des phrases genre tu connais rien de rien et essayant de débattre l'idée qui est l'adoption de XML ou pas avec des arguments,si tu relis mes derniers posts j'ai donner plusieurs arguments et s'il ne sont convaincantes essaye de proposer tes arguments sans entrer dans un débat entre personnes
    Tu n'as pas répondu à toutes je crois dans tes posts précédents.

    Tout ça pour voir si tu connais vraiment le C++ d'aujourd'hui, afin qu'on parle tous vraiment du même langage et de la même utilisation.

    @hegros : boost, ASL & autres montrent comment on programme en C++ aujourd'hui.
    On utilise le RAII, on évite les pointeurs autant que possible, et on utilise des pointeurs intelligents sauf si l'on ne peut pas faire autrement. On utilise l'approche générique. On programme dans un C++ multi-paradigme, pas dans un pseudo-paradigme OO comme on peut le voir dans des vieux codes, avec de l'héritage à tout va juste pour avoir un polymorphisme ou les templates auraient suffit. Ne vas pas me dire que l'on programme en C++ pareil qu'il y a 10 ans quand même...

  20. #220
    Membre éclairé 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
    Points : 845
    Points
    845
    Par défaut
    Le "C++ moderne" est un terme un peu pompeux, je suis d'accord.
    En gros, c'est ce qui découle du bouquin de Andrei Alexandrescu, Modern C++ design, donc principalement utiliser au maximum la manipulation et les contraintes sur les types à la compilation (static polymorphisme, traits etc).

    Un exemple ? Un article de Alexandrescu (encore lui) sur une implémentation de Move Constructors en c++98 datant de fev 2003.
    http://www.ddj.com/showArticle.jhtml...leID=184403855
    Difficilement réalisable en "code moyen âgeux".

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