• [^] # Re: Qt mais pas complètement ?

    Posté par . En réponse au journal Sortie de exxEditor - version 0.9. Évalué à 1.

    Qt essaye de fournir une API facile d'utilisation, cohérente, multi-platformes, intuitive.
    Alors que la STL est plus bas niveau.

    Hum... cette phrase sonne très « Qt, c'est le plus beau et le plus fort et pis c'est tout » !
    Dire que la STL n'est ni intuitive, ni facile d'utilisation, c'est très subjectif... Personnellement, je ne vois pas ce qu'elle a de contre-intuitive ou de difficile d'accès.
    La STL pas cohérente ? Tu peux développer ?
    La STL pas multi-plateforme... euh faut peut-être pas déconner, là !

    Par example, les conteneurs de Qt sont "implictly shared" ce qui permet de pouvoir passer des listes ou des chaîne de caractère d'une classe à l'autre de manière performante, très facilement et intuitivement.
    Un peu comme un vector de shared_ptr, c'est ça ?
    Si oui, quel avantage sur ce dernier ?

    Les conteneur STL ne le sont pas car cela veux dire que le la copie à lieu a des moment non déterministique, ce qui est une horreur pour la programmation temps réel.
    En quoi la copie des conteneurs de la STL n'est pas déterministe ?

    La STL fait un usage important des templates, ce qui la rends plus difficile d'utilisation pour les novice. Un programmeur Qt peut s'en tirer sans connaître cette partie compliquée du C++.
    Ben, c'est du C++, quoi...
    Se passer des templates, je trouve ça idiot. Franchement.
    Mais bon, admettons que ce soit trop compliqué... Si un template est peut-être compliqué à coder, je ne vois pas en quoi il l'est à l'utilisation.
    On crée un std::vector, on met des ints dedans... bon... c'est pas bien sorcier, si ?

    Exemple, les conteneur STL permettent d'avoir un "allocateur" personalisé. Mais qui a vraiment besoin de ça ? Et ce n'est pas transparent pour l'utilisateur si on ne les utilise pas (les messages d'erreurs sont imbitables, ça apparaît dans l'auto-completion, impossible de forward-déclarer certaine classes, ...)
    Je n'ai jamais codé d'allocateur, mais je n'ai jamais souffert du fait qu'il soit possible d'en utiliser un.
    Les messages d'erreur des templates sont parfois à rallonge, ça je te l'accorde. Mais c'est plus un problème inhérent au couple langage/compilateur. De plus, il existe un outil nommé STLFilt permettant de fournir des messages d'erreur plus clairs que ceux des compilateurs.
    Que ça apparaisse dans l'auto-complétion, je vois pas bien ce que ça a de dramatique.
    Quelle classe souhaites-tu forward-déclarer ? Et pourquoi ? De toute façon il est possible d'écrire des forward declarations pour n'importe quelle classe ou template de classe.