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

Bibliothèques C++ Discussion :

Bibliothèques évoluée "core"


Sujet :

Bibliothèques C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Par défaut Bibliothèques évoluée "core"
    Bonjour,
    J'aimerais savoir s'il existe une bibliothèque qui permet de gérer facilement des classes simples (strings, ...) et qui respecte le principe de la POO ?
    Il y aurait QtCore mais j'aimerais éviter de l'utiliser si possible et boost, mais je pense, à mon avis, que la POO n'est pas respectée (en plus les classes sont mélangées entre elles).
    Je pourrais utiliser tout simplement la STL, mais ce sont des classes de "base". J'aimerais des classes un peu plus évoluée !

    Merci par avance pour vos propositions

  2. #2
    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 : 33
    Localisation : Suisse

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    il te manque quoi dans std::string et dans la STL en général ?
    "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)

  3. #3
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    Citation Envoyé par mick009 Voir le message
    Bonjour,
    J'aimerais savoir s'il existe une bibliothèque qui permet de gérer facilement des classes simples (strings, ...) et qui respecte le principe de la POO ?
    Il y aurait QtCore mais j'aimerais éviter de l'utiliser si possible et boost, mais je pense, à mon avis, que la POO n'est pas respectée (en plus les classes sont mélangées entre elles).
    Je pourrais utiliser tout simplement la STL, mais ce sont des classes de "base". J'aimerais des classes un peu plus évoluée !

    Merci par avance pour vos propositions
    La POO n'est pas respectée dans boost? tu pourrais nous en dire plus? ..

  4. #4
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Citation Envoyé par Goten Voir le message
    La POO n'est pas respectée dans boost? tu pourrais nous en dire plus? ..
    Dans boost::preprocessor, tu n'as pas d'héritage, pas de fonction virtuelle, pas d'encapsulation, et même pas de classe !

    Plus sérieusement, la POO est un outil, pas une religion. Comme tout outil, il y a des moments où il est utile, d'autre moins, voire néfaste. C'est la fameuse phrase : Si tout ce qu'on a à disposition est un marteau, alors les vis commencent à ressembler furieusement à des clous...

    J'ai du mal à adhérer à un discours comme "X ne respecte pas la POO". Par contre, je suis friand de discours comme X n'est pas bien car on ne peut pas l'étendre dans telle direction, parce qu'il ne permet pas de travailler avec Y, parce qu'on pourrait faire Z qui remplierait les mêmes fonctions de base, mais en plus ferait .., .. et ...

    Par exemple, ce genre d'arguments sur la STL se traduirait par : "Les conteneurs et algorithmes n'utilisent pas d'héritage, ça ça créerait une structure bien trop rigide, où il serait compliqué d'introduire des classes prédatant cette bibliothèque, ou simplement développé à part. Au lieu de ça, une structure où la notion d'itérateur sert d'adaptateur entre conteneurs et algorithme est plus souple.

    S'il fallait trouver des principes servant de guide, ce serait plus du côté du principe ouvert/fermé (un code doit être ouvert à l'extension, fermé à la modification) et consorts qu'il faudrait regarder. La POO n'est qu'une manière parmi d'autre de respecter ces principes.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  5. #5
    Membre Expert
    Avatar de Goten
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 580
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 580
    Par défaut
    C'était pas le côté technique en fait que je discuté, c'était le fait que ça puisse être un reproche. Comme toi je pense que la POO n'est qu'un outil en soit, et que on est pas forcé d'en mettre partout, la preuve en est avec boost..
    Mais c'est surtout le terme de "pas respecté" qui m'a fait tilté, car jamais il est dit qu'en C++ on doit absolument usé de POO.

  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    La POO c'est archi nul, en particulier pour des conteneurs.
    En C++, je recommande même de ne pas l'utiliser en dehors de détails d'implémentation...

    Dans la bibliothèque standard, le seul endroit où c'est utilisé par exemple, c'est les iostreams, et c'est presque transparent.

    Si tu veux de la POO partout, va faire du Java, franchement.

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 204
    Par défaut
    La POO c'est archi nul, en particulier pour des conteneurs.
    En C++, je recommande même de ne pas l'utiliser en dehors de détails d'implémentation...

    Dans la bibliothèque standard, le seul endroit où c'est utilisé par exemple, c'est les iostreams, et c'est presque transparent.

    Si tu veux de la POO partout, va faire du Java, franchement.
    Mais si je demande dans le forum C++ c'est justement parce que je veux continuer le C++. Je sais que Java est très orienté niveau POO mais je n'ia pas envie d'utiliser ce langage.

    C'était pas le côté technique en fait que je discuté, c'était le fait que ça puisse être un reproche. Comme toi je pense que la POO n'est qu'un outil en soit, et que on est pas forcé d'en mettre partout, la preuve en est avec boost..
    Mais c'est surtout le terme de "pas respecté" qui m'a fait tilté, car jamais il est dit qu'en C++ on doit absolument usé de POO.
    Ceci c'est mon avis. Certaines bibliothèques de boost ne présente pas d'interface POOO (je précise "certaines"). Certaines la respectent mais pas tous.
    Il est vrai qu'on est pas obligé de respecter la POO, mais si je demande cela c'est justement parce que je considère la POO comme très très pratique.

    il te manque quoi dans std::string et dans la STL en général ?
    Il est vrai que je n'ai pas trop précisé mais j'aimerais bien avoir des fonctions du style "split" qui permet de découper les chaînes avec des délimitateurs (cette fonction est repris par boost mais en tant que fonction et non en tant que membre, à moins que j'ai dû rater quelque chose )


    La POO n'est pas respectée dans boost? tu pourrais nous en dire plus? ..
    Le fait que je dise que la POO n'est pas respecté chez boost est un avis personnel, il faut pas le prendre mal et "monter sur ses grands chevaux".
    Je pose juste une question pas la peine de m'agresser !

    Merci par avance pour vos réponses !

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

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