Journal GTK et le C++

Posté par  .
Étiquettes : aucune
0
29
sept.
2003
Bonjour gens !

Je developpe en C en utilisant les bibliotheques GTK, et voilà, j'aimerai passer au C++ pour une appli qui m'apparait naturellement "orienté objets".

Aussi j'aimerai demander à "ceux qui savent" et meme au autres, ce qui est le conseiller :
-inclure le code C de GTK dans mes classes C++
-utiliser GTKmm
-utiliser un autre interface à GTK
-autre ?

Voilà merci beaucoup d'avance !
  • # Re: GTK et le C++

    Posté par  (site web personnel) . Évalué à 1.

    Assurement qt ou gtkmm ou tt autre interface objet
  • # Re: GTK et le C++

    Posté par  (site web personnel) . Évalué à 3.

    Si tu es familier avec la STL, je te conseille vivement GTKmm : c'est écrit avec les mêmes conventions de nommage, même approche (utilisation des "iterator" et des "container" de la même façon qu'on le ferait avec la STL).

    De plus, comme tu connais déjà GTK, l'adaptation à GTKmm ne devrait pas te poser de problème.

    Dans tous les cas, je te déconseille la solution Gtk+ (en C) et C++ qui n'ammène rien d'autre qu'un code illisible AMHA (c'est du vécu... :-)).
  • # pourquoi pas faire de l'OO en C ?

    Posté par  . Évalué à 1.

    tu peux aussi rester en C puisque GTK est une application "naturellement orientée objet" écrite en C (et X aussi d'ailleurs est écrit en C)

    l'OO est une méthode de travail qu'on peut mettre en oeuvre avec n'importe quel langage
    • [^] # Re: pourquoi pas faire de l'OO en C ?

      Posté par  . Évalué à 1.

      y'a pas des gobjects d'ailleurs avec la glib ?
      • [^] # Re: pourquoi pas faire de l'OO en C ?

        Posté par  . Évalué à 1.

        Si si
        mais en voyant ma manière de coder assez objet, et un projet qui arrive qui se veut très modulaire, je me disais qu'il serait temps de quitter mon bien aimé C, ne serait-ce que pour un temps :).

        Et puis ca me donnerait une occasion de m'entrainer au C++ que je connais surtout théoriquement.

        et le coté standart de Gtkmm me parait le bien venu dans cet optique, mais je me demandais si je pouvais m'y plonger les yeux fermés, d'où ce journal.

        La confiance est totale ou n'est pas comme disait l'autre (je ne me souvient plus très bien qui d'ailleur).

        En tout cas merci à tous !
        • [^] # programmation par contrat

          Posté par  . Évalué à 1.

          perso je préfère la prog par contrat (introduite par le langage eiffel, proche du C aussi) qui est plus rigoureuse que l'OO, même si elle y ressemble beaucoup

          faire du contrat en C est facile avec la biblio GNU nana (c'est bien son vrai nom)
    • [^] # Re: pourquoi pas faire de l'OO en C ?

      Posté par  . Évalué à 1.

      franchement on se marre bien ici.

      sérieusement, utilise Gtkmm qui est parfaitement C++, et compatible STL et std::string. du bonheur, tant au niveau de la couche objet et de la sécurité/fiabilité que de la simplicité de la conception.

      dans tous les cas, utiliser du C serait un très mauvais conseil
      • [^] # Re: pourquoi pas faire de l'OO en C ?

        Posté par  . Évalué à 2.

        je suis d'accord et je vais m'y lancer, mais...
        petit bémol !

        std::string ne comprends pas l'UNICODE
        et l'UNICODE, c'est le futur (répétez après moi)

        1°) pourquoi ne pas passer tout de suite au futur ?
        2°) J'ai un besoin vital de l'unicode pour mon appli

        il faudra bien se faire à l'idée un jour où l'autre que 1 octet = 1 charactère était une erreure !

        => j'utiliserai donc GTKmm, mais avec le bonheur de glib::ustring :)
        • [^] # Re: pourquoi pas faire de l'OO en C ?

          Posté par  . Évalué à 2.

          et l'UNICODE, c'est le futur (répétez après moi)

          NON. Unicode, c'est le present.
        • [^] # Re: pourquoi pas faire de l'OO en C ?

          Posté par  . Évalué à 1.

          je connais le problème, il y a deux choses à considérer : il faut que g++ supporte l'unicode en interne (ce n'est pas le cas) et que la bibliothèque standard aussi (ce n'est pas le cas non plus). il y a eu de longue discussion sur ça sur fclc++, et le problème n'est pas encore réglé, apparemment aucun compilateur ne gère l'unicode en interne, tout se passe par bibliothèque externe.

          donc on attends. les wstring me font me bidonner, alors les ustring vont bien pour le moment et leur compatibilité est bonne. c'est un détail. je suis 100% d'accord avec toi sur 1 et 2. Les isos sont bordéliques, on peut même pas communiquer entre Européens, c'est une honte -> vive Unicode et UTF-8
    • [^] # Re: pourquoi pas faire de l'OO en C ? <i>PARCEQUE C'EST PAS FAIT POUR</i>

      Posté par  (site web personnel) . Évalué à 1.

      > tu peux aussi rester en C puisque GTK est une
      > application "naturellement orientée objet" écrite en C

      Ce qu'il faut pas lire des fois...
      En gros le monsieur il t'explique qu'il vaut mieux utiliser un language qui n'a pas ete pense pour la POO (C) plutot qu'un language qui a ete etudie pour et donc qui facilite la tache (Java, Python, C++, SmallTalk...)

      C'est un peu comme prendre ma peugeot 206 pour faire Stockholm-Marseille, c'est faisable mais je prefere une grosse Peugeot 607 qui elle a ete concu pour. La ou s'arrete la comparaison c'est que la difference de cout entre la 205 et la 607 est pratiquement negligeable en informatique.
    • [^] # Re: pourquoi pas faire de l'OO en C ?

      Posté par  . Évalué à 2.

      Entièrement d'accord sur le : "travail qu'on peut mettre en oeuvre avec n'importe quel langage" cependant le déplacement est un concepte qu'on peut mettre en oeuvre de tout un tas de manière, maglré cela certaines sont bien meilleurs et plus adapter que d'autre : autrement dit faire de l'objet en C c'est possible mais c'est completement con et inutile.
      • [^] # sympa pour gtk/X

        Posté par  . Évalué à 1.

        c'est sympa pour les gars de GTK et X (et bien d'autres projets, car aujourd'hui tous les projets dignes de ce nom ont une approche modulaire proche de l'OO ou de la prog par contrat)

        perso, j'ai + confiance en programmeur C qui connait les concepts de GNU nana, que en un programmeur C++ qui ne sait pas ce qu'est un contrat !
        • [^] # Re: sympa pour gtk/X

          Posté par  (site web personnel) . Évalué à 1.

          Disons qu'au moins, X, ils avaient l'excuse de pas avoir vraiment de langage OO suffisamment utilisés/connus/rapides à l'époque ... C++ était balbutiant, Objective-C était encore assez lent ... et avec les machines de l'époque, ça comptait. Alors que bon, GTK c'est récent, et C++ ou Objective-C tournaient déjà très bien. J'ai quand même du mal à leur donner raison sur ce coup.

          Bon certes, on peut ne pas aimer C++ (et je suis d'accord, ObjC est infiniment mieux à pratiquement tous les points de vue ;-) mais il reste que, sans être un langage purement orienté objet, il facilite quand même bien la vie en POO. Faire ça en C est une perte de temps.

          Maintenant oui, bien évidemment, entre un bon programmeur qui utilise des contrats, qui sait modéliser correctement des objets, et qu'on force à utiliser C, et un programmeur qui ne connaît que le code spaggetti et qui utilise C++, il vaudra mieux choisir le premier. Mais bon autant le laisser utiliser C++ ou autre langage OO à ce monsieur. :-)

          note : Ruby est vraiment très, très cool.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.