Les nouveautés de Qt 4

Posté par (page perso) . Modéré par Nÿco.
Tags : aucun
0
9
juil.
2004
KDE
Après une brève annonce sans trop de détails il y a quelques mois (voir le lien sur la dépêche de cette époque), la société Trolltech vient de fournir une description beaucoup plus complète des nouveautés présentes dans la future grande version de l'environnement Qt.
Cette boite à outils de développement (Toolkit) écrite en C++, et qui est la base du très apprécié bureau KDE, est disponible en double licence (GPL et propriétaire).

La version Qt 4 va changer beaucoup de briques technologiques sous-jacentes afin d'obtenir notamment une rapidité accrue et de nouvelles fonctionnalités ; une boite de compatibilité avec Qt 3.x est prévue afin de faciliter la migration des applications existantes.

La sortie de la version finale est envisagée au cours du premier trimestre 2005 et nous pouvons donc espérer une version de KDE 4 dans la seconde moitié de l'année 2005. Outre les dissemblances ergonomiques et fonctionnelles entre les deux, le modèle de développement sur lequel se base Qt et KDE est très différent de celui choisi par les équipes GTK+ et Gnome.

Dans un cas on utilise un langage objet (grande facilité de programmation pour des desktops graphiques) et la direction globale est donnée par un seul intervenant qui est Trolltech (prise de décision facile et claire).

Dans l'autre cas on utilise le C (grande portabilité et bindings faciles) et la direction globale résulte d'un consensus des contributeurs (adhésion renforcée au projet).

Bien entendu cette compétition est très avantageuse pour les utilisateurs que nous sommes tous !

Aller plus loin

  • # Et KDE 4 ?

    Posté par (page perso) . Évalué à 6.

    Est ce que quelqu'un aurait une ressource sur les fonctionnalités attendues de KDE 4 ? J'ai trouvé des informations éclatées (par exemple, le fait qu'il n'y aura pas de choix au niveau du système de gestion multimédia), mais je voudrais surtout un document résumant les buts (à part, bien entendu, le fait que Kde 4 utilisera QT4).
    • [^] # Arrêtez d'être des losers

      Posté par . Évalué à 4.

      Mais pourquoi s'inquiéter de KDE 4 alors que Gnome 3 est sur le point de sortir dans quelques jours, et est tellement mieux ? Franchement KDE c'est faiblard :
      - les débutants comprennent moins facilement qu'avec Gnome
      - la souris va moins vite
      - les décideurs sont moins impressionnés
      - c'est pas libre, jusqu'à la 7ème génération
      - ça nécessite un clavier Windows, alors que Gnome marche avec les claviers pingouins
      - l'horloge n'est pas à l'heure
      - c'est prévu seulement pour les écrans rectangulaires
      - il y a des terroristes qui l'utilise
      - la molette s'encrasse plus vite
      - c'est pas LGPL, c'est GPL, donc c'est viral et tous les logiciels développés avec ou les documents créés doivent être GPL
      - il n'y a que des thèmes aux couleurs vives incitant peu au travail
      - ça consomme plus de ressources donc ça contribue à l'effet de serre
      - ça commence par un "K"
      • [^] # Re: Arrêtez d'être des losers

        Posté par . Évalué à -8.

        > Évalué à -3.

        J'oubliais un point :
        - les utilisateurs de KDE perdent leur sens de humour.

        Et j'ai même pas dit que c'était un logiciel communiste !
        • [^] # Re: Arrêtez d'être des losers

          Posté par (page perso) . Évalué à 6.

          C'est peut-être simplement parce que ce que ce n'était pas drôle ?

          L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

          • [^] # Re: Arrêtez d'être des losers

            Posté par . Évalué à -1.

            Ben évidemment. C'est pas comme ça qu'on fait ici ?
          • [^] # Re: Arrêtez d'être des losers

            Posté par (page perso) . Évalué à 0.

            j'ai trouvé ca drole,
            et en plus pour la vitesse de la souris, c'est vrai
            alors tu vois...

            --
            plouf (sous kde)
            • [^] # Re: Arrêtez d'être des losers

              Posté par . Évalué à 0.

              (je n'arrive pas à croire que je suis en train de répondre à ce troll)

              > «et en plus pour la vitesse de la souris, c'est vrai»
              Panneau de configuration KDE, périphériques/souris, onglet expert, accélération du pointeur...
            • [^] # Re: Arrêtez d'être des losers

              Posté par (page perso) . Évalué à -5.

              Oui mais si des windowsiens "primaires" venaient se pervertir ici, ils pourraient le prendre au sérieux...à force d'avaler des km de couleuvres...
          • [^] # Re: Arrêtez d'être des losers

            Posté par . Évalué à 1.

            J'utilise exclusivement kde et j'ai vraiment trouvé ça drôle.
            Je crois au passage que tu as un balai bien enfoncé dtc.
            • [^] # Re: Arrêtez d'être des losers

              Posté par (page perso) . Évalué à 4.

              Désolé si je ne trouve pas ça drôle.
              Même si ça cassait Gnome ça ne serait pas drôle. On ne peut même pas dire que c'est un troll car c'est pipo. Un bon troll a le mérite de souvent utiliser des arguments crédibles ou vraisemblables et le plus souvent vrais :)

              L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

              • [^] # Re: Arrêtez d'être des losers

                Posté par . Évalué à -2.

                Tu n'es pas drôle. T'es vraiment un sale communiste !
                • [^] # Re: Arrêtez d'être des losers

                  Posté par (page perso) . Évalué à 0.

                  C'est pas vrai !
                  Je me douche tous les jours !

                  L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

    • [^] # Re: Et KDE 4 ?

      Posté par . Évalué à 3.

      D'après dot.kde.org, les nouveautés concernent:

      Arthur: The new painting framework
      Scribe: The Unicode text renderer with a public API for performing low-level text layout
      Interview: A model/view architecture for item views
      Tulip: A new set of template container classes
      Mainwindow: A modern action-based mainwindow/toolbar/menu and docking architecture

      (http://dot.kde.org/1089303565/(...))
      Hop
      • [^] # Re: Et KDE 4 ?

        Posté par . Évalué à 4.

        Hmmmm, se sont les nouveautés de qt, pas de kde4
        Sur kde-core et kde-devel personne n'en a vraiment parler, sauf pour parler d'alleger le code, de ne pas encore utiliser gstreamer (l'équipe de ce dernier n'ayant encore pas intégré les modifs demandés par kde) + les classiques discutions plus ou moin stérile sur le support de features plus sexe comme les widget avec niveau de transparence et cie...
        En tout cas, les nouvelles features de qt n'étant dispo et testables qu'aujourdhui, je ne vois pas trop sur quoi ils auraient pu discuter

        sinon 2 liens que j y ai vu trainer a propos du nouveau file selector :
        http://www.csis.gvsu.edu/~abreschm/designs/file_selector/index.html(...)
        http://www.csis.gvsu.edu/~abreschm/designs/ubiquitous_searching/ind(...)
        • [^] # Re: Et KDE 4 ?

          Posté par . Évalué à 1.

          oups tu as raison. Ca, c'est les nouveautés de QT4.
          Mais elle n'étaient pas précisées dans la news.
          • [^] # Re: Et KDE 4 ?

            Posté par . Évalué à -1.

            autant pour moi
            • [^] # Re: Et KDE 4 ?

              Posté par . Évalué à -3.

              on écrit «au temps pour moi».
              • [^] # Re: Et KDE 4 ?

                Posté par . Évalué à -2.

                On fait comme on veut, les deux formes sont correctes depuis quelques temps maintenant.
                • [^] # Re: Et KDE 4 ?

                  Posté par . Évalué à 1.

                  Nous n'avons pas les mêmes sources :

                  http://www.academie-francaise.fr/langue/questions.html#au_temps(...)

                  Ainsi donc, à l'Académie Française, ils constatent l'utilisation de la forme «autant pour moi» sans pour autant la reconnaître (comme ils constatent qu'il y a des gens qui ne mettent pas d'accents sur les majuscules, bien que ça ne soit franchement pas malin)
                  • [^] # Re: Et KDE 4 ?

                    Posté par . Évalué à -1.

                    C'est l'Académie, la pratique se trouve plutôt dans les dictionnaires réels.

                    Les accents n'ont rien à voir avec cette question, c'est de la typographie.
                    • [^] # Re: Et KDE 4 ?

                      Posté par . Évalué à 4.

                      > «Les accents n'ont rien à voir avec cette question, c'est de la typographie»

                      Je ne suis absolument pas d'accord avec ce réductionnisme, car «en français, l'accent a pleine valeur orthographique». Ainsi, il s'agit bien d'un problème d'orthographe (comme dans le cas qui nous intéresse) et pas simplement typographique.

                      D'ailleurs, avec ce raisonnement, on en arrive maintenant avec des élèves qui ne mettent plus d'accents du tout en prétextant qu'«on n'en met pas sur les majuscules, alors pourquoi en mettre sur les minuscules»... Ceci dit, je rassure tout le monde, ceux-là j'arrive à les remettre dans le droit chemin (enfin, ils mettent des accents, après ce n'est pas toujours le bon ;)), ceux qui rédigent en «style SMS» sont bien plus difficiles à remettre sur le droit chemin.
                      • [^] # Re: Et KDE 4 ?

                        Posté par . Évalué à 4.

                        Tout à fait d'accord!!
                        ex: hôpital s'écrivait hospital avant. le ^ à la valeur du s mais le remplace.
                        Et il y a plein d'exemples comme ca.
                        Cassé!!


                        C'est l'Académie, la pratique se trouve plutôt dans les dictionnaires réels.
                        Pas d'accord, la pratique se trouve dans l'académie + les dico + le langage utilisé tous les jours.

                        "pourriel" est-il dans le dictionnaire (je prends cet exemple, mais j'en sais rien en fait) ?
                        • [^] # Re: Et KDE 4 ?

                          Posté par . Évalué à 1.

                          >> C'est l'Académie, la pratique se trouve plutôt dans les dictionnaires réels.

                          > Pas d'accord, la pratique se trouve dans l'académie + les dico + le langage utilisé tous les jours.

                          Je suis perplexe quant à la cohérence de ta contradiction... Si je comprends bien, la pratique n'est pas dans les dictionnaires mais dans les dictionnaires ?
                          • [^] # Re: Et KDE 4 ?

                            Posté par . Évalué à 2.

                            >>> C'est l'Académie, la pratique se trouve plutôt dans les dictionnaires réels.

                            >> Pas d'accord, la pratique se trouve dans l'académie + les dico + le langage utilisé tous les jours.


                            >Je suis perplexe quant à la cohérence de ta contradiction... Si je comprends bien, la pratique n'est pas dans les dictionnaires mais dans les dictionnaires ?

                            Si tu regardes bien avant et apres il y a des "+", donc qui dit plus dit que ca s'ajoute. Donc on arrive a : "la pratique ne se trouve pas QUE dans les dictionnaires".
                            Je ne vais pas epiloguer plus.
                        • [^] # Re: Et KDE 4 ?

                          Posté par . Évalué à 1.

                          Mais beaucoup d'accents proviennent uniquement d'un souci de prononciation.. ils n'ont aucune valeur (historique, je veux dire) à part ça !

                          quelques règles :
                          accentuation des majuscules : http://www.langue-fr.net/d/maj_accent/maj_accent.htm(...)
                          et accentuation sur "a priori", avec un paragraphe sur l'origine des accents :
                          http://www.langue-fr.net/index/A/a-priori.htm(...)
                          (voir le paragraphe "un accent académique")
                      • [^] # Re: Et KDE 4 ?

                        Posté par . Évalué à 3.

                        Les accents ne font pas parti du code ascii, il faudrait les virer car ca donne plein de travail vraiment bete aux informaticiens.
                        • [^] # Re: Et KDE 4 ?

                          Posté par . Évalué à 1.

                          Si c'est 7 bit(e)s qui ont décidé de coder les caractères, on n'y peut rien.
                          Mais rien n'empêche de changer, sauf la volonté!
                      • [^] # Re: Et KDE 4 ?

                        Posté par . Évalué à 2.

                        Bah non, pas du tout :

                        > Je ne suis absolument pas d'accord avec ce réductionnisme, car «en français, l'accent a pleine valeur orthographique».

                        Justement, les personnes qui ne veulent pas mettre d'accents sur les majuscules prétextent que c'est particulier car ce sont des majuscules, ils ne remettent pas en cause la présence de l'accent en minuscules, donc ce n'est pas l'orthographe qu'ils maltraitent mais la typographie. Autrement dit pour eux un « é » en majuscule peut apparaître « E » ce qui pose un problème puisqu'on ne voit plus si c'est la majuscule de « é » ou de « e », mais si tu leur demandes de passer « Ecrire » en minuscules, ils te donneront « écrire » et non « ecrire ».

                        En fait quand tu vois « Ecrire », tu ne sais pas s'il s'agit d'une faute de typographie ou d'orthographe, mais il y a une faute dans tous les cas.

                        > D'ailleurs, avec ce raisonnement, on en arrive maintenant avec des élèves qui ne mettent plus d'accents du tout en prétextant qu'«on n'en met pas sur les majuscules, alors pourquoi en mettre sur les minuscules»...

                        Non ce n'est plus le même raisonnement. Ceux qui ne veulent pas d'accents sur les majuscules prétextent la difficulté technique (même si ça date de la machine à écrire et que ce n'est plus d'actualité). D'ailleurs c'est une réponse à cette réflexion d'élèves. (même si la meilleure réponse est qu'on met des accents partout).

                        > ceux qui rédigent en «style SMS» sont bien plus difficiles à remettre sur le droit chemin.

                        De toute façon ils ne méritent pas de vivre, faut les pendre.
                        • [^] # Re: Et KDE 4 ?

                          Posté par . Évalué à 1.

                          Le fait de ne pas mettre d'accent aux majuscules vient du temps du développement de l'imprimerie si je ne me trompe pas, où il aurait fallu graver des lettres spéciales majuscules plus petites pour que une fois l'accent mis, elles soient à la même taille que les majuscules non accentuées. Et ça n'a pas été fait (je ne sais plus pour quel motif, financier (gravure sur du cuivre) ou autre).
                          • [^] # Re: Et KDE 4 ?

                            Posté par . Évalué à 1.

                            Non c'est vraiment la machine à écrire, l'imprimerie a toujours mis des accents justement.
                            • [^] # Re: Et KDE 4 ?

                              Posté par . Évalué à 2.

                              Au temps pour moi ;)
                              • [^] # Re: Et KDE 4 ?

                                Posté par (page perso) . Évalué à -1.

                                Je pense que je vais éclairer tout le monde. On ne mets pas d'accent sur les majuscule pour une simple et bonne raison, c'est parce que c'est une erreur grammaticale. Pour l'avoir copier plusieurs fois, il existe une règle en français qui spécifie quand on en met et non

                                Chipster
                                • [^] # Re: Et KDE 4 ?

                                  Posté par (page perso) . Évalué à 2.

                                  alors, peux tu nous donner une source qui confirme tes dires parce qu'il y a pléthore de sources sérieuses affirmant le contraire ?
                                • [^] # Re: Et KDE 4 ?

                                  Posté par . Évalué à 1.

                                  > On ne mets pas d'accent sur les majuscule pour une simple et bonne raison, c'est parce que c'est une erreur grammaticale.

                                  Faux.

                                  > Pour l'avoir copier plusieurs fois, il existe une règle en français qui spécifie quand on en met et non

                                  Oui, en effet, et elle est très simple : on en met tout le temps !
                      • [^] # Re: Et KDE 4 ?

                        Posté par . Évalué à -1.

                        Est-ce que la présence ou l'absence d'accents vous empêche de saisir le sens d'un texte?? Personellement ca ne me gêne pas c'est le principal! Autant le langage SMS rend la lecture très difficille, obligation de s'y reprendre à 3 fois pour comprendre un message, autant l'absence ou la présence d'accents, de majuscule, voir de ponctuation ne gêne pas forcément la lecture. Tant que la lecture est claire, n'entraine pas de contre sens, qu'on est pas obligé de s'y reprendre a 3x pour comprendre le sens d'une phrase je ne vois vraiment pas le problème!

                        Le problème c'est surement ces acamédiciens réactionnaires ou ces profs conservateurs qui empêchent la langue d'évoluer, de se simplifie. Je fais des fautes, je l'assume, je le revendique.

                        Un "s" absent, une majuscule oubliée, la forme ne sert qu'au fond et c'est le fond que nous devons juger! Que l'on note "autant pour moi" ou "au temps pour moi" qu'est ce que cela change pour KDE 4 ou QT 4?

                        La langue française est compliquée, truffée d'exeptions, de sonorités difficiles. Elle évolue sans cesse et tant a se simplifié mais cela ne plaît pas à nos cher acamédiciens...

                        Arrêtons de les écouter, prenons la liberté d'écrite, de s'exprimer comme bon nous semble tant que l'on se comprend! Prenons toutes les libertées, abolissons les hiérarchie, la domination. Choisissons ensemble ce qui est "bon" et "mauvais" sans se référer a des êtres "supérieurs" que se soit pour l'orthographe ou le reste!

                        Avant de "remettre dans le droit chemin" les élèves il faudrait d'abord les écouter, les comprendres, les respecter. Ils ne sont pas forcément inférieurs aux profs! Beaucoup sont certaiment plus intélligents, auront surement une meilleure situation. Es-tu sur d'être toi même sans "le droit chemin" ? Que t'es idée sont les bonnes, que ton enseignement est valable, ...
                        • [^] # Re: Et KDE 4 ?

                          Posté par . Évalué à 1.

                          > Est-ce que la présence ou l'absence d'accents vous empêche de saisir le sens d'un texte??

                          Oui, évidemment. http://www.synec-doc.be/doc/accents2.htm(...)

                          > Un "s" absent, une majuscule oubliée, la forme ne sert qu'au fond et c'est le fond que nous devons juger!

                          C'est un forum, il est évident que tout le monde fait des fautes de frappe régulièrement. Ce n'est pas pour ça qu'il faut mépriser la langue : le principe de la communication, c'est de se comprendre à l'aide d'une convention qui est la langue. Si chacun parle la sienne, on ne va pas se comprendre longtemps. Si chacun fait l'effort d'écrire à peu près (oui, à peu près, ça suffit) correctement, ça ira. D'où
                          1) l'inutilité de corriger les fautes de frappe (parce qu'a priori le fautif a juste fait vite)
                          2) l'utilité de corriger une faute indiquant une véritable erreur, et pas une simple faute de frappe. Bref, correction du fond : « autant pour moi », comme quelqu'un l'a dit, a une autre signification que « au temps pour moi ».

                          > Arrêtons de les écouter, prenons la liberté d'écrite, de s'exprimer comme bon nous semble tant que l'on se comprend! Prenons toutes les libertées, abolissons les hiérarchie, la domination.

                          Ce que tu dis est parfaitement débile : tiens, dans le libre, il n'y a pas de hiérarchie et pourtant on s'accorde sur des standards pour l'interopérabilité. On respecte la convention de code quand on entre dans un projet. Tout ça parce que c'est l'intérêt commun que de se comprendre et donc de parler de manière compréhensible, ce qui nécessite le maintien de la connaissance de la langue ou de la convention utilisée. Il n'y a rien d'autoritaire là-dedans, juste du bon sens.

                          > Choisissons ensemble ce qui est "bon" et "mauvais" sans se référer a des êtres "supérieurs" que se soit pour l'orthographe ou le reste! Avant de "remettre dans le droit chemin" les élèves il faudrait d'abord les écouter, les comprendres, les respecter. Ils ne sont pas forcément inférieurs aux profs!

                          Personne n'a spécialement encensé l'Académie, elle n'a été citée que comme une référence (et ce n'est pas la seule). La vision des choses que tu présentes n'est que le résultat de ton propre délire. Ca ressemble même à un gros complexe d'infériorité, cette manière de réagir alors qu'il n'est question que d'une simple discussion sur la langue et les usages.
                          • [^] # Re: Et KDE 4 ?

                            Posté par . Évalué à 2.

                            Mon dieu, et c'est mon "autant pour moi" qui est à l'origine de ce beau débat !

                            -->[]
                          • [^] # Re: Et KDE 4 ?

                            Posté par . Évalué à -1.

                            > Si chacun fait l'effort d'écrire à peu près (oui, à peu près, ça suffit) correctement, ça ira.

                            Exactement ce que je dis ...

                            > Ce que tu dis est parfaitement débile : tiens, dans le libre, il n'y a pas de hiérarchie et pourtant on s'accorde sur des standards pour l'interopérabilité. On respecte la convention de code quand on entre dans un projet. Tout ça parce que c'est l'intérêt commun que de se comprendre et donc de parler de manière compréhensible, ce qui nécessite le maintien de la connaissance de la langue ou de la convention utilisée. Il n'y a rien d'autoritaire là-dedans, juste du bon sens.

                            Faut lire la suite c'est exactement ce que décris ...

                            > La vision des choses que tu présentes n'est que le résultat de ton propre délire.

                            Je n'est pas l'impression de délirer je me porte très bien merci. Je ne parle pas pour l'orthographe en particulier mais pour la société en général. Nous ne choisissons rien, nos "représentants" décident en notre nom selon leur intêrets personnels...

                            > Ca ressemble même à un gros complexe d'infériorité

                            Envers qui ? Envers toi ?? Faut pas rêver ...
                            Encore un prof qui veut absolument avoir raison et qui croit détenir la vérité utime ...
                            • [^] # Re: Et KDE 4 ?

                              Posté par . Évalué à 1.

                              Les exemples de ton liens sont valables à l'oral et pour une phrase nominale mais ne tiennent pas insérés dans un texte.

                              Giscard le fil depute vient d'etre reelu dans le canton de Vulcania.

                              Dimanche : marche. Parmi les etales, vente de legumes, poissons, cordonerie, ...
                              • [^] # Re: Et KDE 4 ?

                                Posté par . Évalué à 1.

                                > Les exemples de ton liens sont valables à l'oral et pour une phrase nominale mais ne tiennent pas insérés dans un texte.

                                Les exemples n'en sont pas moins valables sur la pertinence des accents pour le sens. Les exemples ne sont pas valables à l'oral mais à l'écrit. Et si tu écris en minuscules sans accents il y a exactement les mêmes ambiguïtés.

                                > Giscard le fil depute vient d'etre reelu dans le canton de Vulcania.

                                > Dimanche : marche. Parmi les etales, vente de legumes, poissons, cordonerie, ...

                                Eh bien c'est justement très pénible à lire sans accents. Par exemple dans cette deuxième ligne, il faut entamer la seconde phrase pour réaliser qu'il s'agit d'un marché et non d'une randonnée ou d'une manifestation !

                                Une bonne typographie et une orthographe correcte, c'est toujours bien plus lisible et bien plus agréable pour le lecteur, c'est une question de respect pour ceux qui vont passer quelques secondes à te lire. Faut pas tomber dans l'extrémisme et se relire 50 fois, les fautes de frappe ça arrive, et quand c'est occasionnel ça ne dérange pas. Mais généraliser une écriture plus pénible à lire, voilà qui va à l'encontre de la compréhension et de l'efficacité (un texte sans accents, c'est pas plus court à taper, mais c'est plus long à lire).
                            • [^] # Re: Et KDE 4 ?

                              Posté par . Évalué à 0.

                              > Exactement ce que je dis ...

                              Non, tu prônais l'écriture volontairement jemenfoutiste, c'est celle qui mène au SMS.

                              > Je n'est pas l'impression de délirer je me porte très bien merci.

                              Délire par rapport à la conversation qui avait lieu : tu y vois des souhaits d'imposer des choses autoritairement. Rien de tout ça. JSL indique une faute à quelqu'un (pas une faute de frappe, il l'informe de l'écriture correcte), j'enchaîne sur le sujet, sur l'actualité de l'écriture, et on évoque des références pour en discuter, dont l'Académie (mais on parle aussi de l'usage et des dictionnaires). Bref, rien qui ne puisse valoir ton délire à propos de réactionnaires, conservateurs ou je ne sais quoi. La remarque initiale était polie, ensuite on a simplement discuté « langue française » tranquillement sans rien imposer à personne, jusqu'à ce que tu fasses ce post incendiaire.

                              > Je ne parle pas pour l'orthographe en particulier mais pour la société en général. Nous ne choisissons rien, nos "représentants" décident en notre nom selon leur intêrets personnels...

                              Je partage ce point de vue quant à nos représentants politiques, mais ça n'a rien à voir avec la discussion en cours. Je ne crois pas que les académiciens aient été cités comme référence absolue et unique mais seulement comme référence indicative, parmi d'autres. Et je ne crois pas que « Autant » vs « Au temps » soit une question d'intérêt personnel ! Pourquoi ne pas regarder leur avis, entre autres avis sur la question ?

                              > Envers qui ? Envers toi ?? Faut pas rêver ...

                              Non pas du tout envers moi, mais envers les académiciens ou les gens que tu dis subir. Mais ce n'est qu'une impression que donne ton post, je ne dis pas que ça en est un (ça m'étonnerait d'ailleurs), c'est juste pour te dire à quel point ton post semble excessif par rapport à la discussion qui était tenue.

                              > Encore un prof qui veut absolument avoir raison et qui croit détenir la vérité utime ...

                              Si tu regardes la discussion tu verras que chacun a tenu compte des arguments des autres, et répondu de manière constructive en citant ses sources ou son raisonnement. En particulier JSL qui a fait la remarque initialement (et qui serait donc le "réac" d'après tes propos) n'a pas du tout eu cette réaction bornée que tu décris.
                        • [^] # Re: Et KDE 4 ?

                          Posté par . Évalué à 2.

                          Vois tu, il est des gens répulsés par une faute de français.
                          Depuis l'école primaire, on nous apprend le français (grammaire, conjugaison et orthographe). Et les fautes sont sanctionnées. Je mets un point d'honneur à corriger systématiquement toute faute de français d'un professeur, ou même d'un texte, alors franchement il y a des fois où c'est tuant de lire des textes sans accents, ni ponctuation.
                          Regarde ça :
                          Autant le langage SMS rend la lecture très difficille
                          Essaye de lire ta phrase, pense aux gens qui vont sur internet avec l'aide d'un synthétiseur vocal...
                          • [^] # Re: Et KDE 4 ?

                            Posté par . Évalué à 0.

                            Doit y'en avoir beaucoup des gens qui lisent les commentaires sur la langue française dans un article de seconde page sur un site d'un système d'exploitation minoritaire francophone...
                        • [^] # Re: Et KDE 4 ?

                          Posté par . Évalué à 1.

                          Arrêtons de les écouter, prenons la liberté d'écrite, de s'exprimer comme bon nous semble tant que l'on se comprend! Prenons toutes les libertées, abolissons les hiérarchie, la domination. Choisissons ensemble ce qui est "bon" et "mauvais" sans se référer a des êtres "supérieurs" que se soit pour l'orthographe ou le reste!

                          Pourquoi tu n'apprends pas l'Ido si le français te paraît si difficile ?
                          Au moins tu parleras une langue universelle, sans en massacrer une autre !
                  • [^] # Re: Et KDE 4 ?

                    Posté par (page perso) . Évalué à 3.

                    Il me semble que "autant pour moi" peut se dire, mais pas dans le même sens, pour demander, par exemple, la même chose que quelqu'un d'autre, mais ça reste à vérifier
                    • [^] # Re: Et KDE 4 ?

                      Posté par . Évalué à 1.

                      C'est pas exactement ça.

                      Au départ, « au temps pour moi » et « autant pour moi » correspondent à deux expressions différentes. On emploie surtout la première.

                      Son sens fait que beaucoup de gens pensent que ça s'écrit comme la seconde.

                      Depuis quelques temps, des dictionnaires disent tolérer l'écriture (2) pour désigner l'expression (1). Mais la (2) peut toujours être utilisée pour désigner (2). Et (1) pour (1).

                      Je suis aussi partisan que chacune devrait rester telle qu'elle s'écrivait avant, c'est ce que je fais, mais j'indique simplement que les dictionnaires ont tendance à accepter ce qui était au départ une erreur mais à force, est rentré dans le langage. Un peu comme « opportunité » est maintenant accepté comme synonyme d'« occasion », alors que ce n'était pas du tout le cas avant qu'il soit mis à la mode ainsi.
          • [^] # Re: Et KDE 4 ?

            Posté par (page perso) . Évalué à 3.

            oups tu as raison. Ca, c'est les nouveautés de QT4.
            Mais elle n'étaient pas précisées dans la news.


            hein ?

            1) les nouveautés étaient annoncés dans la news précédente et j'ai mis le lien

            2) dans cette news j'ai pris la peine de mettre les liens vers chacunes des nouvelles technos !
        • [^] # Re: Et KDE 4 ?

          Posté par . Évalué à 0.

          > de ne pas encore utiliser gstreamer (l'équipe de ce dernier n'ayant encore pas intégré les modifs demandés par kde)

          C'est ridicule...
          Gstreamer a attendu la version 2.4 de Gnome pour être intégré à Gnome. Même chose pour Evolution. Mais KDE veut que le projet Gstreamer leur réponde au doigt et à l'oeil.
          Si c'est un bon patch, même si Gstreamer ne l'intègre pas, les distributeurs l'utiliseront.

          Décidément ils sont d'une susceptibilité cher KDE...
          Bon, ben, ils n'ont plus qu'à recoder entre eux ce qui est déjà codé. En espèrant qu'ils ne se fachent pas entre eux aussi...
          • [^] # Re: Et KDE 4 ?

            Posté par . Évalué à 2.

            Je sais pas les raisons de la discorde, mais apparement certaines features de arts ne sont apparement pas encore dispo dans gstreamer, ainsi que des difficultés d'integration a kio_slave, la dependance a la glib (bien que malheureusement désormais arts également) se qui fait souvent double usage avec qt, que gstreamer n'est pas vraiment un serveur de son...

            Mais en réalité il existe apparement un frontend kde pour gstreamer, il semble juste qu'il ne sera pas "officiellement" reccomandé.

            http://lists.kde.org/?l=kde-multimedia&r=1&w=2(...)
            • [^] # Re: Et KDE 4 ?

              Posté par . Évalué à 2.

              Il y a sûrement de bonnes raisons techniques. Ce que je ne comprend pas, c'est de remettre en cause l'utilisation de gstreamer aussi tôt. Si c'est leur attitude, Gstreamer fera encore moins de "zèle".

              > la dependance a la glib (bien que malheureusement désormais arts également)

              Et alors ? Il y a aussi des fonctions dans Qt qu'on trouve aussi dans la libc et ailleur. Qui fait doublon ? Qt ou les autres ? En cas de doublon, pourquoi Qt doit avoir la priorité ?
              NB : si gstreamer (ou arts) est lié à Qt alors tout doit passer en GPL compatible. Ou alors il faut acheter un licence proprio Qt. Gnome est LGPL et le restera. Il y a ici clairement un "point de rupture" par rapport à KDE.

              > que gstreamer n'est pas vraiment un serveur de son

              Ce n'est pas un serveur de son et ce n'est pas un problème. Un serveur de son ne propose que des périphériques virtuels (pour faire le multiplexage). Un peu comme alsa fait avec le plugin dmix. Certaines cartes supportent aussi le multiplexage. Donc je trouve assez normal que Gstreamer ne fasse pas serveur de son. Par contre Gstreamer peut utiliser OSS/Alsa/esd/arts/etc (qui supportent ou non le multiplexage)... et c'est bien(TM).
              • [^] # Re: Et KDE 4 ?

                Posté par . Évalué à 1.

                > Il y a sûrement de bonnes raisons techniques. Ce que je ne comprend pas, c'est de remettre en cause l'utilisation de gstreamer aussi tôt. Si c'est leur attitude, Gstreamer fera encore moins de "zèle".

                Je me suis peut etre mal exprimé, ce n'est pas un refus catégorique, sur kde-multimedia il y a apparement pas mal de monde voulant gstreamer, d'autre nas, d'autre autre chose pour leurs avantages respectifs, et comme je l'ai dit il y a tout de même un frontend pour gstreamer.

                > Et alors ? Il y a aussi des fonctions dans Qt qu'on trouve aussi dans la libc et ailleur. Qui fait doublon ? Qt ou les autres ? En cas de doublon, pourquoi Qt doit avoir la priorité ?

                Ben moi ca me plait plus d'avoir une machine 100% sans gtk, glib autre lib que je n'utilise pas (ce n'est pas un troll, remplacer gtk par qt si ça vous fait plaisir), je trouve que ma ram et mon dur sont déjà suffisement chargés. Bref à features égales, moin j'ai de dependance, mieu je me porte.
                Quand une classe fait double usage entre la stl et qt, celle de ce dernier offre en général un réel bénéfice, de plus qt est tel actuellement qu'il faut linker tout ou rien, donc a partir du moment que l'on veut utiliser un élément de qt, autant en utiliser le plus possible (ça aussi doit changer avec qt4).
                • [^] # Re: Et KDE 4 ?

                  Posté par . Évalué à 1.

                  > qt est tel actuellement qu'il faut linker tout ou rien

                  Pour la réutilisation du code, c'est pratique...
                  Gnome c'est : glib, pango, gdk, gtk, gnomelib, etc...
                  Tu peux "piquer" qu'un élément. Par exemple glib et pas tout gtk.
                  Puis Qt t'oblige de linker avec tout Qt même si tu n'utilises rien de graphique (genre t'as besoin de fonctionnalité équivalente à glib).
                  Il te force la main. Pas très coopératif tout ça.
                  Si tu utilises Qt dans arts au lieu de glib il faut tout Qt alors que ce n'est pas un programme graphique.
                  • [^] # Re: Et KDE 4 ?

                    Posté par . Évalué à 1.

                    Je suis tout a fait daccord, j'aime beaucoup qt, mais c'est vrai que c'est un gros défaut, tout comme le fait d'avoir un autre preproc... c'est bien pour ça que je suis content que dans qt4 la situation change
  • # tulip

    Posté par (page perso) . Évalué à 3.

    C'est vrai que les iterateurs de Tulip ont l'air nettement plus agréables à utiliser que leurs équivalents STL.
    Par contre j'aimerais bien savoir comment fonctionne leur "foreach", ils disent que ça utilise le preprocesseur, mais comment ?
    • [^] # Re: tulip

      Posté par . Évalué à 1.

      Les préprocesseurs c'est naze.

      En plus Qt en rajoute une couche avec son préprocesseur à lui alors qu'il est possible de faire autrement et de facon plus elegante. Pourquoi toujours un mécanisme de signaux mal intégré et inhomogene avec le reste du langage ? L'argument des templates mal suportés ne tient plus la route, tous les compilos supportent correctement l'indispensable maintenant.
      • [^] # Re: tulip

        Posté par . Évalué à 8.

        Mouai ... les templates ont des avantages mais aussi des inconvénients énormes :
        - manque d'uniformité entre les compilo (oui, oui, encore aujourd'hui ... pour en avoir une idée, il suffit d'aller voir la doc de Boost (http://www.boost.org(...)) qui est une bibliothèque C++ entièrement en template)
        - lenteur à la compilation
        - génération énorme de code (un projet de ~20 000 lignes qui peut atteindre une taille de plus de 100Mo avec le code de debug)
        - erreurs incompréhensibles si celui qui écrit les templates ne crée pas lui-même un système de gestion des erreurs (à la Boost par exemple ...)
        - mauvaise gestion des templates par les debuggeur (gdb en tête ...)

        Non, franchement, les templates ce n'est pas la panacée ! Et je ne pense pas que ça le sera jamais : c'est trop le bordel !!!

        Je trouve que les templates sont trop dans une optique de préprocessing / génération de code ! Il aurait fallu un système mieux pensé, plus dans le langage déjà existant, moins de "bricolage" dans la conception ...
        • [^] # Re: tulip

          Posté par . Évalué à 1.

          La plupart des points soulevés concernent les compilateurs plus que le langage. Par exemple quand export sera bien implanté ce ne sera plus spécialement lent à la compilation.
          • [^] # Re: tulip

            Posté par . Évalué à 1.

            Bof, a partir du moment ou *tous les compilateurs* ont des problemes pour implementer des features du langage..

            Cela implique qu'il s'agit d'un probleme du langage pas des compilos: si tu spécifie la lune, et que les compilateur ne sont pas capable de te fournir ça, c'est un probleme du langage.
        • [^] # Re: tulip

          Posté par (page perso) . Évalué à 4.

          > manque d'uniformité entre les compilo

          Moi je trouve que globalement ça va (sous unix, je ne frequente pas les visual et cie), si tu ne supportes que les dernières versions de chaque compilo (cad g++ >= 3.0 etc). boost est plein de feintes parce qu'il supporte de vieux compilateurs.

          > - mauvaise gestion des templates par les debuggeur (gdb en tête ...)

          Qu'est ce que tu lui reproches ?
          • [^] # Re: tulip

            Posté par . Évalué à 2.

            Qu'est ce que tu lui reproches ?

            Ben je sais pas si ça a radicalement changé avec les nouvelles version de g++ mais avec le 3.2 et gdb 6.1, j'ai beaucoup de mal à accéder au contenu des objets templates. La plupart du temps je dois me contenter de l'adresse ... ce qui est rarement suffisant pour débuger (du coup je debugge au "printf" ...)
          • [^] # Re: tulip

            Posté par . Évalué à 2.

            Ca va aussi sous windows depuis visual studio 7 (ca marchait tres mal avec visual 6).... globalement les templates ca marche bien partout maintenant .
        • [^] # Re: tulip

          Posté par . Évalué à 3.

          Je trouve que les templates sont trop dans une optique de préprocessing / génération de code ! Il aurait fallu un système mieux pensé, plus dans le langage déjà existant, moins de "bricolage" dans la conception ...

          T'as qu'a faire de l'objet pur et dur!!!
          Maintenant, si les utilisateurs trouvent que ton logiciel rame trop à l'utilisation (la compilation ils s'en foutent eux!!)....
          • [^] # Re: tulip

            Posté par . Évalué à 1.

            Ben les utilisateurs ne sont pas non plus forcément d'accord pour avoir un programme de plus de 20Mo (que du code ...) alors qu'apparemment il ne devrait pas être si énorme que ça ! Et encore, je ne parle que de la version sans le code de debug : avec le debug mon programme (~40 000 lignes) prend plusieurs centaines de Mo !!!! et tout ça à cause des templates (j'utilise Boost.Python)

            Par ailleurs, mon programme met un temps considérable à se charger !!! (de l'ordre de 10s la première fois ... après, les .so restant en mémoire, c'est plus rapide) et le temps de chargement est du à la taille du code et donc aux templates !

            Enfin, à moins de faire du calcul intensif, je n'ai jamais vu du code objet vraiment ramer ... et si l'objet ne convient pas : ben ça veut dire qu'il faut pas utiliser C++, mais utiliser le C ou un langage différent (OCaml, Fortran, ...)
            • [^] # Re: tulip

              Posté par . Évalué à 3.

              Toujours est il que le mécanisme de signaux de qt n'est pas intégré au langage, si chaque bibiliotheque demande d'utiliser un préprocesseur pour gérer son code on n'en sort plus !
      • [^] # Re: tulip

        Posté par (page perso) . Évalué à 2.

        > Pourquoi toujours un mécanisme de signaux mal intégré et inhomogene avec le reste du langage ? L'argument des templates mal suportés ne tient plus la route

        C'est une FAQ, est la réponse est que moc ne sert pas que pour les signaux mais aussi pour le modèle meta-objet de Qt (qui permet des choses sympas comme l'introspection).
    • [^] # Re: tulip

      Posté par . Évalué à 1.

      c'est certainement une boucle for ou while déguisée du style :
      #define foreach(...) for(...)
      
      • [^] # Re: tulip

        Posté par . Évalué à 3.

        A partir du moment où c'est une boucle, c'est un for(..) déquisé!! A ce compte là, un while est un for déguisé de même qu'un do... while().

        L'intérêt, c'est juste que c'est plus commode à utiliser (au sens plus facile à comprendre) et qu'on se plante pas sur une bète erreur d'index :-)
        • [^] # Re: tulip

          Posté par . Évalué à 2.

          > A partir du moment où c'est une boucle, c'est un for(..) déquisé!! A ce compte là, un while est un for déguisé de même qu'un do... while().

          Et puis le for(...) n'est qu'un while(...) déguisé, et c'est la poule qui est venue avant.
          • [^] # Re: tulip

            Posté par . Évalué à 3.

            De toute façon les while, c'est que des if...goto déguisés.
            • [^] # Re: tulip

              Posté par . Évalué à 2.

              t'as pas oublié un return ?
              if ... goto ... return (et on revient au if)
              • [^] # Re: tulip

                Posté par . Évalué à 1.

                debut_boucle:
                if (condition_sorti_boucle) {
                goto fin ;
                }
                goto debut_boucle ;
                [...]
                fin :

                Pas de return. Avec if et goto on peut pratique tout faire.
                Et comme un porc, yeah !
              • [^] # Re: tulip

                Posté par . Évalué à 1.

                Tu confonds avec GOSUB, semble-t-il.
      • [^] # Re: tulip

        Posté par (page perso) . Évalué à 3.

        oui j'imagine, mais il faut déclarer l'iterateur utilisé:

        foreach (QString str, list) { plop; }

        devient

        for (QListIterator<QString> str(list); str.hasNext(); str.next()) {
        plop;
        }

        Peuvent-ils faire ça avec le preprocesseur standard, ou bien est-ce une extension de trolltech?
        • [^] # Re: tulip

          Posté par . Évalué à 1.

          Je vois mal comment ils pourraient faire ça avec le préprocesseur standard...
          Donc je vote extension de trolltech.
          • [^] # Re: tulip

            Posté par (page perso) . Évalué à 3.

            C'est le préprocesseur standard. Depuis les sources: (qglobal.h) (Il y a plusieurs définitions en fonction du compilateur, je met celle par défaut)
            #define Q_FOREACH(variable, container) \
            for (QForeachMemory<sizeof(qForeachSizeofContainerHelper(container))> _container_ = qForeachContainerNew(container, _container_); qForeachContainer(container, _container_)->condition();\
                ++qForeachContainer(container, _container_)->i) \
                for (variable = *qForeachContainer(container, _container_)->i; --_container_.done; _container_.done = 1)
            
            et plus loin:
            #define foreach Q_FOREACH
            
            C'est pas des plus simple, mais sa reste du C++ pur.
            • [^] # Re: tulip

              Posté par (page perso) . Évalué à 3.

              Très impressionnant ! j'aurais parié qu'ils utilisaient un préprocesseur modifié. J'ai un peu de mal à voir quel est le rôle de la deuxième boucle (elle n'est là que pour assigner la valeur à 'variable' sans avoir à ouvrir une accolade qu'il faudrait fermer plus loin, non ?) , mais l'idée est pas mal du tout, y'a de la ruse, c'est un peu crade et bien obscur, ça me plait :-)
              • [^] # Re: tulip

                Posté par (page perso) . Évalué à 2.

                Si j'ai bien compris la première boucle est juste là pour créer une copie du container.
                La deuxième boucle travaille avec cette copie.

                Je cite : Qt makes a copy of the container when it enters the loop. If you modify the container as you are iterating, that won't affect the loop.

                L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

                • [^] # Re: tulip

                  Posté par (page perso) . Évalué à 2.

                  non à mon avis la première boucle fait tout le boulot, en declarant un truc dont le type est indépendant de l'itérateur (le QForeachMemory, obligatoire puisque que le type de l'iterateur n'est pas connu) qui stocke l'iterateur et tout ce qu'il faut, et la fonction qForeachContainer() est surchargée pour tous les types de conteneurs à gèrer et elle doit contenir quelques bon gros casts. La deuxième boucle elle ne peut s'executer qu'une fois au plus, donc je pense qu'elle ne sert qu'à declarer 'variable' en lui laissant la même portée que si elle avait été déclarée dans le for du dessus.

                  En tout cas ils ont bien du se creuser la tête pour trouver tout ça :)
  • # grammaire

    Posté par . Évalué à 2.

    s/accru/accrue
  • # Langage objet...

    Posté par . Évalué à -7.

    Hmmm... voyons voir: eiffel, java et ocaml me semblent effectivement des langages objets ; par contre le C++... Quelle est l'andouille qui a dit ça?!

    Snark
    • [^] # Re: Langage objet...

      Posté par . Évalué à 1.

      > Hmmm... voyons voir: eiffel, java et ocaml me semblent effectivement des langages objets ; par contre le C++... Quelle est l'andouille qui a dit ça?!

      Commence par définir « langage objet », parce que selon ma définition Java n'en est certainement pas un. Si tu veux dire « langage permettant la programmation orientée objet », ça devient correct pour Java, mais C++ aussi.
      • [^] # Re: Langage objet...

        Posté par . Évalué à 1.

        Pour moi l'idée centrale pour qualifier un langage d'orienté objets, c'est l'héritage car il permet de réutiliser du code de façon élégante.

        Le C++ n'entre pas dans cette définition, parce que pour faire de l'héritage, il faut le demander explicitement (mot-clef 'virtual'), sinon les choses merdent (et c'est une joie intense à déverminer).

        Snark
        • [^] # Re: Langage objet...

          Posté par . Évalué à 2.

          La possibilité de faire du non-virtual semble avant tout être dictée par le choix de la performance et de la rigidité du purement statique. Cependant je suis d'accord sur le fait que le comportement différent entre virtual et non-virtual (et entre objets contenant au moins une méthode virtual et n'en contenant aucune) est déroutant voir illogique et peut être source d'erreurs (on ne sait pas toujours si les erreurs vont apparaître à la compilation ou à l'exécution, par exemple).
          • [^] # Re: Langage objet...

            Posté par . Évalué à 3.

            Malheureusement si, on sait: elles vont apparaître à l'exécution pour les utilisateurs ; elles auront soigneusement évité de se faire remarquer à la compilation ou lors des tests!

            Snark
            • [^] # Re: Langage objet...

              Posté par . Évalué à 1.

              C'est exactement ce que j'ai dit : si l'objet est d'une classe qui possède au moins une méthode virtual, les erreurs de typage apparaîtront à l'exécution et non à la compilation comme c'est le cas avec les autres objets.

              Le problème pour moi n'est pas l'apparition d'erreurs à l'exécution (ce peut être également le cas avec des langages comme l'Objective-C) mais l'incohérence du double système. La solution proposée par Ocaml paraît également plus cohérente (et radicalement opposée).
              • [^] # Re: Langage objet...

                Posté par . Évalué à 1.

                Toute personne ayant fait du C++ est daccord pour dire que c'est loin de la perfection, mais le prob reste toujours le meme : ocaml/objc... sont peut etre mieu, malheuresement seul C++ et java sont réellement utilisés dans l'industrie.
                • [^] # Re: Langage objet...

                  Posté par . Évalué à 0.

                  C'est quoi le rapport avec la choucroute ? (À part justifier le fait que Qt soit en C++ ...)
                  • [^] # Re: Langage objet...

                    Posté par . Évalué à 1.

                    Le rapport c'est que si on veut du purement objet, on utilise des langages purement objets, et que le C++ n'a pas la prétention d'en être un mais seulement de proposer un support de programmation orientée objet. Il n'y a vraiment aucun problème pour faire de l'objet en C++, et si ton problème c'est l'incompétence du programmeur qui ne sait pas quand il doit mettre virtual ou pas, c'est pas un problème de C++.
                • [^] # Re: Langage objet...

                  Posté par (page perso) . Évalué à 5.

                  Pour ce qui est de OCaml, je pense qu'il est bien plus employé qu'on ne peut le croire. Toutefois, il est vrai qu'il ne remplacera jamais le C++, Java ou .Net dans 90% de leurs utilisations (je ne dirais rien sur objC que je ne connais que trop peu).

                  Mais bon, pour les systèmes experts ou les applications distribuées, les langages orientés objet seront toujours ridicules comparés à des langages tels qu'OCaml et Erlang.

                  Faut juste arrêter de croire que ya que le C++, Java et .Net dans l'informatique.

                  je sais, je suis HS à 200% mais pitié, soyez indulgents 8}
        • [^] # Re: Langage objet...

          Posté par . Évalué à 2.

          Le C++ n'entre pas dans cette définition, parce que pour faire de l'héritage, il faut le demander explicitement (mot-clef 'virtual')

          c'est un argument fallacieux.
          Si tu veux tout déclarer virtuel, tu peux. C'est un *choix* du programmeur, libre à chacun de faire comme il l'entend.

          Ensuite cet argument n'est à moitié vrai car quoi qu'il en soit eiffel ne permet la réutilisabilité que au niveau source et pas binaire. Donc on oublie les modules précompilés (tu as suivi la discussion sur l'implémentation des plugins sur la ml du compilo gnu, donc tu sais de quoi je parle ... )
          Quoi qu'il en soit, je ne vois pas en quoi la réutilisabilité est un prérequis d'un langage objet. Une bonne conception des interfaces par le concepteur des classes est à mon avis bien plus importante.

          Maintenant, je suis d'accord avec toi qu'eiffel offre des fonctionnalités très interessantes qui n'existent pas nativement en c++. Je pense notamment à la généricité contrainte et aux agents. Mais affirmer que C++ n'est pas un language objet, c'est un peu fort de café!
          • [^] # Re: Langage objet...

            Posté par . Évalué à 2.

            Bien concevoir les interfaces ne suffit pas avec le C++, justement: si on n'a pas mis de 'virtual' partout, il va passer par l'interface de la classe parente et pas par celle de l'objet sur lequel on l'applique. En somme, c'est un langage "à classes" plutôt qu'un langage objet: on lui a dit qu'un truc pouvait être de type A, alors il le traite comme tel, même si en réalité l'objet vivant qu'on lui amène est de type B et a réimplémenté une partie de l'interface.

            Pour moi la réutilisabilité via héritage est absolument essentielle pour parler de langage à objet. Sinon quel est l'intérêt de distinguer par rapport aux autres langages?

            Oui, on peut faire de l'objet en C++ (avec des virtual de partout), oui on peut faire de l'objet en C (exemple: glib-gobject-gtk) ; en fait on peut faire du truc genre objet dans à peu près n'importe quel langage.

            Je réaffirme donc: C++ n'est pas un langage à objets. On peut le forcer à en faire, mais il faut le prévoir.

            PS: la pwlib (bibliothèque sur laquelle s'appuie gnomemeeting) est en C++, avec des classes et de l'héritage simple (ie: les classes ne réimplémentent pas ce qu'il y a dans leurs parentes -- sauf cas très exceptionnel) à gogo. Mettre au point un système de modules pour les pilotes matériels a été une horreur, parce que ça nécessitait du vrai héritage: il a fallu reprendre *tous* les étages... question réutilisabilité, on peut difficilement appeler ça une réussite.
            • [^] # Re: Langage objet...

              Posté par . Évalué à 2.

              > Bien concevoir les interfaces ne suffit pas avec le C++, justement: si on n'a pas mis de 'virtual' partout, il va passer par l'interface de la classe parente et pas par celle de l'objet sur lequel on l'applique.

              Si tu n'as pas mis virtual partout c'est que tu programmes sans respecter la conception que tu viens de faire. Il n'est pas interdit d'apprendre un minimum un langage avant de l'employer.

              > Pour moi la réutilisabilité via héritage est absolument essentielle pour parler de langage à objet. Sinon quel est l'intérêt de distinguer par rapport aux autres langages?

              Le C++ le permet sans problème, et même sans le virtual il y a bien réutilisabilité. Ce dont tu parles c'est le polymorphisme de substitution et ce n'est qu'un des aspects de l'objet.

              > Oui, on peut faire de l'objet en C++ (avec des virtual de partout), oui on peut faire de l'objet en C (exemple: glib-gobject-gtk) ; en fait on peut faire du truc genre objet dans à peu près n'importe quel langage.

              Mais le C++ supporte la POO explicitement, dans le langage, contrairement au C. Il n'y a pas besoin de « bidouiller » mais de savoir l'utiliser, ce qui est la moindre des choses quand on programme. Inutile de cacher l'incompétence du programmeur derrière le langage. Tu peux dire qu'il faut faire plus attention, ou avoir une plus grande expérience, mais ça ne joue en rien sur les aspects objet (du moins si tu compares à Java).

              > Je réaffirme donc: C++ n'est pas un langage à objets. On peut le forcer à en faire, mais il faut le prévoir.

              Non on ne le « force » pas plus qu'on ne force Java à faire de l'objet. Mais ni l'un ni l'autre ne sont des « langages objet » de toute façon, car ça sous-entend que tout est objet dans le langage. C++ propose plusieurs paradigmes, dont la POO. Java privilégie et pas vraiment les autres.

              > PS: la pwlib (bibliothèque sur laquelle s'appuie gnomemeeting) est en C++, avec des classes et de l'héritage simple (ie: les classes ne réimplémentent pas ce qu'il y a dans leurs parentes -- sauf cas très exceptionnel) à gogo. Mettre au point un système de modules pour les pilotes matériels a été une horreur, parce que ça nécessitait du vrai héritage: il a fallu reprendre *tous* les étages... question réutilisabilité, on peut difficilement appeler ça une réussite.

              Alors gueule contre la conception et la version initiale de pwlib. C++ permettait dès le départ d'avoir des fonctions virtuelles. Tu ne peux pas accuser le langage d'une erreur de conception, ou de l'incompétence de celui qui a transposé la conception ainsi si la conception précisait que ça devait être du virtual.
            • [^] # Re: Langage objet...

              Posté par (page perso) . Évalué à 2.

              > Bien concevoir les interfaces ne suffit pas avec le C++, justement: si on n'a pas mis de 'virtual' partout, il va passer par l'interface de la classe parente et pas par celle de l'objet sur lequel on l'applique.

              Qu'est-ce qu'il ne faut pas lire...

              Ce que tu dis est vrai uniquement si tu manipules ton objet à travers une ref ou un pointeur du type parent.
        • [^] # Re: Langage objet...

          Posté par (page perso) . Évalué à 5.

          Qu'on ai à faire une demande explicite pour faire hériter ou une demande explicite pour au contraire éviter qu'on puisse hériter ... je ne vois pas ce que ça change. C'est uniquement de la syntaxe ça. Ça ne change rien à ce que le langage est capable de faire ni à sa philosophie de programmation. Tu peux torturer comme tu veux le C++ permet l'héritage (même multiple d'ailleurs, histoire de lancer un bon troll)
          Notes d'ailleurs que le fondement d'un langage orienté objet c'est pour moi le fait qu'on accède à des objets et qu'on structure la programmation avec. Je ne vois pas en quoi "parce que c'est plus élégant" est une justification de ta définition de l'OO. À la limite je concois qu'on puisse appeler "orienté objet" un langage qui ne supporte pas d'héritage (tant qu'il fonctionne avec des objets et avec la philosophie adaptée du coté organisation/structure).
          • [^] # Re: Langage objet...

            Posté par . Évalué à 2.

            Donc le C + GObject utilisé par GTK+ et GNOME est un langage objet/orienté objet et l'auteur de la news a dit des bêtises ;)
            • [^] # Re: Langage objet...

              Posté par (page perso) . Évalué à 4.

              Attention, tu parles de langage ou de framework ?
              Non le C n'est pas un langage objet. Par contre oui tu peux faire développer avec une philosophie objet en C (c'est juste plus chiant parce que le langage n'est pas prévu pour). Donc non je ne contredit pas l'auteur de la news ;)

              que tu fasses "peigne__get_nombre_dents( structure_peigne )" ou "objetPeigne.getNombreDents()" pour moi ça ne change rien, ce n'est que de la syntaxe. Ce qui qualifie le terme POO c'est ce que tu manipules, comment tu le manipules, comment tu as hiérarchisé/structuré ton code .. bref, que tu utilises un concept d'objet.
        • [^] # Re: Langage objet...

          Posté par . Évalué à 2.

          > Pour moi l'idée centrale pour qualifier un langage d'orienté objets, c'est l'héritage car il permet de réutiliser du code de façon élégante.

          Déjà ça part mal.

          > Le C++ n'entre pas dans cette définition, parce que pour faire de l'héritage, il faut le demander explicitement (mot-clef 'virtual'), sinon les choses merdent (et c'est une joie intense à déverminer).

          Ridicule.

          Ca reste de l'héritage sans « virtual » et ce n'est qu'une question de syntaxe.

          On peut vraiment discuter de la différence entre orienté objet et objet, C++ et Java sont clairement orientés objet mais pas objet. Mais je ne crois pas qu'il y ait de discussion constructive possible avec ta définition fumeuse.
        • [^] # Re: Langage objet...

          Posté par (page perso) . Évalué à 4.

          > Pour moi l'idée centrale pour qualifier un langage d'orienté objets, c'est l'héritage

          Je serais curieux de savoir d'où tu tires une idée pareille.

          L'OO c'est pouvoir faires des APIs autour de tes types de données. L'héritage c'est juste un gadget pour pouvoir, effectivement, réutiliser du code sans trop se faire chier. Exemple : la STL, 100% OO, 0% d'héritage (ou presque).

          > Le C++ n'entre pas dans cette définition, parce que pour faire de l'héritage, il faut le demander explicitement (mot-clef 'virtual')

          Doublement faux. Tu n'as pas besoin de le "demander explicitement", et le mot clef "virtual" ne sert pas à ça.

          Et pour info, C# a le meme genre de mécanisme, en pire. Non seulement les méthodes ne sont pas virtuelles par défaut, mais il faut expliciter qu'on en override une.

          Bref, es-tu bien sur de savoir de quoi tu parles ? :-)
          • [^] # Re: Langage objet...

            Posté par . Évalué à 1.

            > la STL, 100% OO, 0% d'héritage (ou presque).

            Et surtout héritage (public) très fortement déconseillé dessus, puisque les destructeurs ne sont pas virtuels.
          • [^] # Re: Langage objet...

            Posté par . Évalué à 1.

            On n'a pas besoin de la notion d'objet pour mettre des apis autour des données... par contre, pour faire l'héritage, c'est essentiel.

            Le C# n'a pas du tout le même genre de mécanisme que le C++: autant il est naturel que l'héritier précise explicitement qu'il est en train de redéfinir une méthode (après tout, on est en train de parler d'héritage, donc on fait le tri entre ce qu'on garde et ce qu'on change!) ; autant pour le C++, c'est le parent qui doit dire au compilo que ça peut se produire!

            Enfin, je n'ai pas doublement faux, comme l'exemple suivant le montre:
            * une classe A a une méthode 'toto' qui affiche "Hello world!";
            * une fonction 'affiche' qui traîne quelque part reçoit un objet de type A et appelle sa méthode toto;
            * on veut un objet de type A mais qui affiche en français "Salut tout le monde!" avec sa méthode 'toto' ; facile, on hérite et on redéfinit!
            Avec un vrai langage à objets, ceci marche sans problème et sans surprise. Avec le C++, par contre, non (et sans message d'avertissement du compilateur). Pourquoi? Tout simplement parce que la classe A n'a pas déclaré/défini sa méthode 'toto' comme étant 'virtual', ie: si la classe parente ne dit pas qu'elle peut être héritée, elle ne l'est pas correctement. Ma conclusion est donc: 1) il faut le dire explicitement; 2) c'est avec 'virtual' qu'on le dit.

            Je réaffirme donc mon propos: certes on peut faire de l'objet avec le C++, mais ça ne lui est pas naturel!

            Snark
            • [^] # Re: Langage objet...

              Posté par (page perso) . Évalué à 1.

              > On n'a pas besoin de la notion d'objet pour mettre des apis autour des données... par contre, pour faire l'héritage, c'est essentiel.

              Tu n'as toujours pas compris : mettre des APIs autour des données, C'EST la notion objet. Regarde la série des fonctions fopen(), fclose(), fprintf(), etc... de la lib C. C'est une API objet, avec des méthodes sur une structure de donnée opaque (FILE*). Laisse tomber l'héritage, c'est presque accessoire et très souvent mal employé. Regarde Qt justement, la hierarchie des classes est simplissime, tu n'as presque jamais plus de 2 niveaux d'héritage (QObject->QWidget->QFoobar). A ce sujet je te conseille l'intro de Design Patterns, excellent texte qui remet l'héritage en perspective et parle d'autres méthodes pour réutiliser du code, comme l'agrégation (décidément y a pas une page de ce bouquin qui ne soit indispensable).

              > Le C# n'a pas du tout le même genre de mécanisme que le C++

              T'es sur ? Lis bien :

              http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cs(...)

              The virtual keyword is used to modify a method or property declaration, in which case the method or the property is called a virtual member. The implementation of a virtual member can be changed by an overriding member in a derived class.

              When a virtual method is invoked, the run-time type of the object is checked for an overriding member.

              C'est exactement la même chose qu'en C++.

              > Enfin, je n'ai pas doublement faux, comme l'exemple suivant le montre

              Ah, vraiment ? Essayons voir :

              #include

              class A
              {
              public:
              void toto() { std::cout << "Hello World A\n"; }

              };

              class B : public A
              {
              public:
              void toto() { std::cout << "Hello World B\n"; }
              };

              void affiche(A a)
              {
              a.toto();
              }

              int main()
              {
              B b;
              affiche(b);
              return 0;
              }

              Je compile et j'execute, ça m'affiche "Hello World A". Jusque là t'as tout bon. Maintenant, j'ajoute 'virtual' devant les 2 déclarations de toto(), et là surprise, ça m'affiche toujours "Hello World A". Ça alors. T'as une idée de pourquoi ?

              > Je réaffirme donc mon propos

              Et moi le mien : tu ne sais absolument pas de quoi tu parles. Ta conception de l'objet est celle d'un débutant qui croit que l'héritage est le seul outil dont on dispose en POO (erreur très courante, tout le monde passe par là), tu n'a pas compris à quoi sert le mot clé "virtual" en C++, et il te manque aussi la notion de polymorphisme.
              • [^] # Re: Langage objet...

                Posté par . Évalué à 2.

                Bon, alors le C# est plus mauvais que je ne pensais ; je ne me souvenais que du fait que la classe héritante disait comment marchait l'héritage (ce qui est normal). Si la classe qui sert de base doit aussi le déclarer, c'est une horreur.

                C'est marrant, mais le coup des APIs du genre FILE*, c'est justement ce qu'on utilise dans le code de gnomemeeting... qui est à la base en C++ ! [Hum! D'ailleurs, il reste des endroits qui ne respectent pas encore cette organisation ; encore du boulot pour bibi pendant que le patron se dore la pilule en Italie ;-)]

                L'échantillon de programme C++ modifié en passant des pointeurs montre très bien le comportement que j'exècre, donc mon exemple tient un minimum la route quand on n'y met pas trop de mauvaise foi! ;-)

                Si l'héritage n'est accessoire et "pour débutant" que pour les programmeurs C++, c'est justement parce qu'il est si problématique avec ce langage. Les malheureux sont enfermés dans une caverne platonicienne! J'ajoute néanmoins qu'il n'est pas impossible: la pwlib a un bel arbre généalogique de classes (qui merdouille dès qu'on veut y ajouter quelque chose, certes, mais ça c'est l'effet C++) (http://www.openh323.org/docs/pwlib/HIER.html(...)).

                Dans les langages qui ne font pas semblant d'être OO, l'héritage est facile et donc très utilisé (voir par exemple http://www.gobosoft.com/(...)).

                Snark
                • [^] # Re: Langage objet...

                  Posté par (page perso) . Évalué à 1.

                  > Bon, alors le C# est plus mauvais que je ne pensais

                  C'est vrai que quand tu lis une interview d'Anders Hejlsberg (par Bruce Eckel en plus)

                  http://www.artima.com/intv/csdes.h(...)

                  tu vois tout de suite que c'est un clown qui n'a rien compris à la POO et au design de langage. Et Eckel aussi puisqu'il ne lui fait même pas la remarque. Tu devrais leur mailer pour leur dire qu'ils n'ont rien compris.

                  > L'échantillon de programme C++ modifié en passant des pointeurs montre très bien le comportement que j'exècre

                  Oui, en passant des pointeurs, ou des références. Ça s'appelle le polymorphisme (ou plutôt le manque de, dans le cas présent, si on ne met pas 'virtual'). Note aussi que si tu changes affiche() pour qu'elle prenne un objet de type B, c'est bien la méthode B qui est appelée, qu'elle soit virtuelle ou non, ce qui démontre bien que 'virtual' n'a pas la fonction que tu lui prètes. Maintenant pour comprendre la nécéssité de l'existence de ce mot clé tu peux un peu te documenter sur le modèle objet de C++, savoir que la compatibilité avec C était un principe de base (et par conséquent qu'on ne pouvait pas ajouter systématiquement une table virtuelle à un objet), mais je te sens pas vraiment bien parti pour essayer d'aller au dela de ce que tu crois savoir.

                  > Si l'héritage n'est accessoire et "pour débutant" que pour les programmeurs C++, c'est justement parce qu'il est si problématique avec ce langage.

                  Alors faut prevenir les gens qui ont fait Java aussi, même dans la lib Java il n'y a quasiment jamais plus de 3 niveaux d'héritage (2 si on tient compte du fait que java.lang.Object est une base obligatoire). Pareil dans la lib de Ruby.

                  > la pwlib a un bel arbre généalogique de classes (qui merdouille dès qu'on veut y ajouter quelque chose, certes, mais ça c'est l'effet C++)

                  Non, c'est l'effet du Fragile Base Class Problem, qui existe dans n'importe quel langage OO et qui est la première conséquence de l'abus d'héritage. Tiens va voir là :

                  http://www.cas.mcmaster.ca/~emil/publications/fragile/(...)

                  In this paper we study the fragile base class problem. This problem occurs in open object-oriented systems employing code inheritance as an implementation reuse mechanism. System developers unaware of extensions to the system developed by its users may produce a seemingly acceptable revision of a base class which may damage its extensions. The fragile base class problem becomes apparent during maintenance of open object-oriented systems, but requires consideration during design.

                  Note bien qu'il dit "object-oriented systems", et pas "C++", et y a pas un poil de C++ dans le papier.
                  • [^] # Re: Langage objet...

                    Posté par . Évalué à 2.

                    Mais je ne veux pas changer affiche(), puisque le but de l'héritage est justement de réutiliser le code! En plus, elle est très bien cette fonction: elle prend un objet de type A et appelle sa méthode toto. Je ne vois pas pourquoi elle aurait besoin d'être réécrite, surtout pour la restreindre aux objets de type B qui ne sont qu'un petit cas particulier des objets auxquels je veux l'appliquer!

                    Par ailleurs, ce n'est pas le problème de la classe de base qui a gêné pour pwlib. C'est avec le nouveau code que les problèmes sont apparus: comme les classes de base n'avaient pas prévu d'être héritées, il a fallu flanquer des virtual dans tous les coins pour obtenir un truc qui marche correctement. Apparemment il fallait connaître les futurs besoins avant de les avoir...

                    Ce que j'essaie d'expliquer depuis le début, c'est que la normalité quand on veut faire de l'héritage, c'est coder proprement ses classes de base pour faire ce qu'on veut dans un premier temps. Et dans un deuxième temps, quand de nouveaux besoins apparaissent, on hérite, on recode ce qu'il faut, éventuellement en signalant explicitement au compilateur qu'on modifie une méthode existante et ça marche *sans retoucher l'ancien code*. Ça c'est de l'héritage sérieux, et c'est un des ingrédients essentiels pour qualifier un langage 'd'orienté objets'. À partir du moment où il faut aller trifouiller l'ancien code pour faire marcher le nouveau, on ne peut pas dire que l'on gagne grand'chose à utiliser un langage 'à classes'...

                    Enfin, concernant le fait que les créateurs de langage soient des clowns: ça ne me semble pas si impossible que ça. Je connais au moins un architecte qui a conçu au moins un bâtiment dont une partie est à la fois accessible 24/24 7/7 et... dépourvue de toilettes!

                    Snark
                    • [^] # Re: Langage objet...

                      Posté par (page perso) . Évalué à 1.

                      Mais je ne veux pas changer affiche(), puisque le but de l'héritage est justement de réutiliser le code!

                      Oui mais là ce que tu veux c'est le polymorphisme, qui n'a rien à voir avec l'héritage, même si dans beaucoup de cas il s'obtient par héritage (mais pas dans tous, les langages plus faiblement typés comme Ruby sont des exceptions).

                      Bref, ton erreur est de confondre héritage et polymorphisme.

                      Par ailleurs, ce n'est pas le problème de la classe de base qui a gêné pour pwlib. C'est avec le nouveau code que les problèmes sont apparus: comme les classes de base n'avaient pas prévu d'être héritées, il a fallu flanquer des virtual dans tous les coins pour obtenir un truc qui marche correctement.

                      Ce qui est bien l'une des facettes du Fragile Base Class Problem, CQFD.

                      Tu aurais eu exactement le même pb en Java si, pour des raisons d'efficacité ou autre, l'auteur avait mis en 'final' certaines méthodes, et qu'après coup on découvre qu'on voudrait bien pouvoir les overrider quand même. Les deux sont des cas d'école, avec l'expérience tu apprends à te méfier, mais ça arrive toujours de se planter.

                      Apparemment il fallait connaître les futurs besoins avant de les avoir...

                      Bienvenue dans la dure réalité du design logiciel.

                      Ce que j'essaie d'expliquer depuis le début, c'est que la normalité quand on veut faire de l'héritage [...]

                      Ce que tu cherches à expliquer depuis le début manifestement sans bien comprendre les concepts derrière c'est qu'il est plus commode d'avoir des méthodes virtuelles par défaut. Et bien sur c'est vrai. Mais ça n'est pas sans inconvénients non plus (ça peut avoir un impact sur les perfs, mais moins grands qu'on le croit en général), et dans le cas de C++ ça n'était pas possible pour pouvoir garder la compatibilité avec C.

                      Ensuite, bien que ça aide pour faire des classes facilement réutilisables, ça ne résoud absolument pas tous les problèmes liés à l'héritage. Dès que tu dérives une classe tu crées un lien extrèmement fort entre ton code et la classe dérivée, et même en Java, il n'y a pas de miracles, tu te retrouves souvent à devoir hacker le code dont tu hérites (quand c'est possible).

                      Donc si tu crois vraiment qu'un langage n'est OO que si les méthodes y sont virtuelles par défaut, tu n'as rien compris et tu ne soupçonnes même pas à quel point le design OO peut être complexe, ni quels sont les outils dont on dispose en la matière. L'héritage n'étant que l'un d'entre eux, et certainement pas le plus important.

                      Enfin, concernant le fait que les créateurs de langage soient des clowns: ça ne me semble pas si impossible que ça.

                      Effectivement, ça n'est pas impossible, mais si à ce stade de la discussion tu es toujours persuadé d'avoir bien tout compris à la POO, et donc d'avoir assez de recul pour juger si les mecs qui ont fait C# sont des bozos ou pas, alors je crois qu'il est inutile de poursuivre.
              • [^] # Re: Langage objet...

                Posté par . Évalué à 1.

                > Tu n'as toujours pas compris : mettre des APIs autour des données, C'EST la notion objet.

                Tu y vas un peu fort, mais mieux vaut en effet voir ça comme ça. Je dirais pour ma part que des API autour des données, c'est la notion de type abstrait.

                L'objet ensuite reprend la notion de type abstrait avec quelques trucs en plus. La notion d'identité renforcée, et le polymorphisme de substitution. Notions pas totalement incaccessibles avec un type abstrait, mais simplement plus naturelles en objet.

                Mais le type abstrait, aka une interface, ça reste en effet le concept essentiel, la base de l'objet.
        • [^] # Re: Langage objet...

          Posté par . Évalué à 1.

          > Pour moi l'idée centrale pour qualifier un langage d'orienté objets, c'est l'héritage car il permet de réutiliser du code de façon élégante.
          >Le C++ n'entre pas dans cette définition, parce que pour faire de l'héritage, il faut le demander explicitement (mot-clef 'virtual'), sinon les choses merdent (et c'est une joie intense à déverminer).

          Voilà la définition d'un langage à objets de mon prof de "programmation objet avancée", juste la dernière partie parce que ça fait une page :


          Langages à objets = objet + message + classe + héritage
          Ces 4 caractéristiques sont essentielles pour constituer un "langage à objets", dans l'acceptation la plus classique du terme. Certains langages ne satisfont à ces critères que de justesse (C++ et son mot clef virtual) ou marginalement (ADA 95)
          • [^] # Re: Langage objet...

            Posté par . Évalué à 2.

            Oui, et justement mon exemple montre qu'en C++, le message n'arrive pas toujours à l'objet: on prend un objet de type B (donc de type A), on lui envoie le message 'toto' et c'est le bout de code des objets de type A (donc pas forcément B!) qui est appelé...

            Snark
            • [^] # Re: Langage objet...

              Posté par (page perso) . Évalué à 1.

              Y a pas de messages en C++, ce sont des appels de fonctions avec eventuellement une indirection dans le cas des fonctions virtuelles.
            • [^] # Re: Langage objet...

              Posté par . Évalué à 1.

              > Oui, et justement mon exemple montre qu'en C++, le message n'arrive pas toujours à l'objet: on prend un objet de type B (donc de type A), on lui envoie le message 'toto' et c'est le bout de code des objets de type A (donc pas forcément B!) qui est appelé...

              Non, c'est faux, si tu prends un objet de type B, ce sont les fonctions membres de B qui sont appelées. Et même si tu passes par une référence ou un pointeur sur objet de type B, c'est aussi les fonctions de B.
    • [^] # Re: Langage objet...

      Posté par . Évalué à 0.

      Sans oublier Objective-C, bien entendu.
    • [^] # Re: Langage objet...

      Posté par . Évalué à 3.

      Je moinssoie !

      C++ est évidemment un langage objet, mais comme il comprend le langage C tout entier il garde avec lui les aspects procéduraux.

      Il me semble que quelques précisions s'imposent :
      - C++ est l'un des premiers langages objets, c'est pour ca que maintenant on en a fait de meilleurs (en tout cas différents)
      - Java est un langage dit 100% objet car même les types de base ont une représentation objet, C++ n'est n'est pas moins un langage orienté objet
      - La caractéristique essentielle d'un langage objet c'est l'héritage (qqn l'a déja dit) (le polymorphisme est important mais pas essentiel), et elle impose d'avoir à sa disposition des constructeurs/destructeurs avec des méthodes (on doit évidemment disposer de la notion d'objet)

      Bret_
      • [^] # Re: Langage objet...

        Posté par . Évalué à 1.

        > - Java est un langage dit 100% objet car même les types de base ont une représentation objet, C++ n'est n'est pas moins un langage orienté objet

        C'est fumeux ça, Java n'est pas un langage 100% objet :

        Un langage objet ne supporte que de l'objet, or en Java je peux écrire :

        int i ;

        Et même si Java propose une classe Integer, je peux écrire la même en C++, avec les mêmes facilités.

        Dans un langage purement objet, même les entiers sont nativement des objets.
      • [^] # Re: Langage objet...

        Posté par . Évalué à 1.

        > C++ est l'un des premiers langages objets, c'est pour ca que maintenant on en a fait de meilleurs (en tout cas différents)

        Euh .. je veux pas etre medisant mais AFAIR C++ ca date du debut des annees 80 (80/83 si je me trompe pas) ... Smalltalk c'est quant meme 1972 ... et c'est vraiment de l'objet ...
        • [^] # Re: Langage objet...

          Posté par . Évalué à 1.

          Si tu veux être médisant tu dis 1998, année de la première norme ISO C++. ;-)

          > C++ ca date du debut des annees 80 (80/83 si je me trompe pas)

          C'est ça, un poil plus tard en fait, mais on peut considérer « C with classes » (1980) comme une première ébauche.

          http://www.hitmill.com/programming/cpp/cppHistory.asp(...)

          Quant à l'objet, C++ n'a jamais eu pour objectif d'être un langage objet mais seulement de supporter correctement la POO.
  • # technique, pas technologie

    Posté par . Évalué à 10.

    Petite remarque sur les mots, les américains utilisent un ronflant "technologie" là où nous utilisons le mot 'technique", il vaut mieux ne pas l'utiliser (je fais référence aux noms des liens dans la dépêche). La technologie c'est l'étude de la technique, ou un ensemble de techniques (par ex, la technologie spatiale).

    Si on parle à l'américaine, la moindre astuce technique est appelée pompeusement "technology" (genre "new hash technology" pour parler d'une nouvelle technique de hachage, ou bien "new encryption technology" pour un nouvel algo de chiffrement).
  • # j'ai rien contre QT et trolltech mais quand meme...

    Posté par . Évalué à -2.

    j'ai encore été sur www.kde.org pour mater les captures d'écrans, et ben kde c'est moche, j'ai pas d'explication sur le pourquoi et le comment, mais c'est l'impression générale que j'en ai:
    visuellement c'est chargé, c'est lourd, y'a trop de couleurs, trop d'effets, etc.

    j'aime pas.

    gtk et gnome, à contrario, me fait beaucoup moins mal aux yeux, voir ici les icones : http://jimmac.musichall.cz/(...)

    sinon je préfère gnustep et windowmaker par dessus tout, un style aussi simple, fonctionnel, épuré, que du bonheur !!
    • [^] # Re: j'ai rien contre QT et trolltech mais quand meme...

      Posté par . Évalué à 1.

      Les goûts et les couleurs !
    • [^] # Re: j'ai rien contre QT et trolltech mais quand meme...

      Posté par (page perso) . Évalué à 1.

      Ca c'est un bon troll !
      Voilà quelqu'un qui a compris comment ça marche :)

      P.S. : Gnome sux ! KDE rox !

      L'association LinuxFr ne saurait être tenue responsable des propos légalement repréhensibles ou faisant allusion à l'évêque de Rome, au chef de l'Église catholique romaine ou au chef temporel de l'État du Vatican et se trouvant dans ce commentaire

    • [^] # Re: j'ai rien contre QT et trolltech mais quand meme...

      Posté par . Évalué à 1.

      Il y avait longtemps que j'avais pas testé kde et j'ai fait un nouvelle essai (kde 3.2.3) .

      Ben ça ne change pas.
      Impression en vrac et en bref d'un test rapide.
      Je ne comprends pas que par défaut les toolbars n'utilisent que de ridicules petits icones et sans texte. C'est d'un pénible au début...

      Le paneau de configuration est toujours hyper trop chargé. Ça prend sans problème 30 min pour tout lister la première fois. En fait, vers la fin, ma concentration avait déjà nettement diminuer...

      Konqueror qui fait gestionnaire de fichier et navigateur web, ce n'est pas une bonne idée. Je me suis retrouvé "comme un con" en train de chercher le navigateur alors que l'avais sous les yeux.
      Il t'affiche toutes les partitions ! Comme en plus j'ai des loopbak et de la crypto, j'ai 20 entrées dans périphérique alors qu'il n'y a que 3 partitions/périphérique que je peux monter.
      Lorsque je liste un répertoire avec beaucoup d'images, il fait les prévisualisation dans l'ordre. Donc si je vais à la fin de la liste, je dois attendre.
      Rigolo, ya même un menu "envoyer le lien". C'est si compliqué de faire un copier/coller ? Dans cet environnement "high-tech" il y a aussi les boutons copier/coller... Qui les utilise ? Rapidement tout le monde utilise les raccourcis claviers (surtout pour un bureau "power-user"). Puis si c'est dans un menu tu vois rapidement les raccourcis. Si c'est dans la toolbar, tu ne les vois pas tout de suite et te retrouve "comme un con" à cliquer.

      J'arrête la liste, tout est hyper trop chargé, trop lourd. C'est pas un bureau "user-friendly" c'est le tableau de commande d'une centrale nucléaire.

      Je comprends que des distributions pour débutant (genre dicovery ou SuSE personal) utilise KDE par défaut.

      Ben, je désinstalle et j'y touche plus avant KDE 5.0 au moins.
      Bon point : ça marche. Pas de problème rencontré.
      Autre bon point : Avec Gnome on a pas deux environnements graphiques qui ne se marchent sur les pieds. Leurs philosophies sont radicalement différentes.
      • [^] # Re: j'ai rien contre QT et trolltech mais quand meme...

        Posté par . Évalué à 0.

        > Je comprends que des distributions pour débutant (genre dicovery ou SuSE personal) utilise KDE par défaut.

        Ooops. je voulais dire :
        - "Je ne comprends pas que des distributions pour débutants (genre dicovery ou SuSE personal) utilisent KDE par défaut."

        Ça change tout... (et j'ai corrigé des fautes...).
        Avec la phrase sortie du contexte, je vais me faire moinser.

        Tant que j'y suis, quelles conditions sont nécessaires pour pouvoir poster un journal ou un forum ? C'est juste pour information.

        Comme je ne peux pas faire de journal, je glisse cette information.
        X.Org prépare une nouvelle version dans les semaines à venir. Si vous suivez ce thread vous serez où en est X.Org et quels sont les travaux en cours :
        http://freedesktop.org/pipermail/xorg/2004-July/001442.html(...)
        Intéressant.
      • [^] # Re: j'ai rien contre QT et trolltech mais quand meme...

        Posté par (page perso) . Évalué à 1.

        >Le paneau de configuration est toujours hyper trop chargé. Ça prend sans
        >problème 30 min pour tout lister la première fois. En fait, vers la fin, ma
        >concentration avait déjà nettement diminuer...

        Mwai, c'est vrai qu'il est un peu chargé mais pour moi, cela convient tres bien, apres j'avoue que si je pose mon père devant ca, il pete un cable. Mais pour moi, y'a toutes (ou presques *) les options de conf de kde. Et j'en utilise beaucoup avant d'avoir un kde au poil. Et contrairement à l'époque ou j'etais sous gnome, mon bureau est comme je le veux, repond comme je le desire, ... Ca dépend de ce que tu attends de ton bureau, pouvoir lancer un term et tout faire en ligne de commande avec screen ou avoir un truc puissant, un window manager configurable, ....

        >Konqueror qui fait gestionnaire de fichier et navigateur web, ce n'est pas
        >une bonne idée. Je me suis retrouvé "comme un con" en train de chercher
        >le navigateur alors que l'avais sous les yeux.

        Ben avec un argument comme ca :) Moi, ce que je vois, c'est que sous konqueror, j'ai un onglet Download avec mes fichiers, les autres sont mes pages web et quand je veux telecharger un fichier, je fais un glisser deposé vers le premier onglet. Et ca ca rox!

        >Rigolo, ya même un menu "envoyer le lien". C'est si compliqué de faire un
        >copier/coller ? Dans cet environnement "high-tech" il y a aussi les boutons
        >copier/coller... Qui les utilise ? Rapidement tout le monde utilise les
        >raccourcis claviers (surtout pour un bureau "power-user"). Puis si c'est dans
        >un menu tu vois rapidement les raccourcis. Si c'est dans la toolbar, tu ne les
        >vois pas tout de suite et te retrouve "comme un con" à cliquer.

        La majorité des utilisateurs utilisent leur souris pour gérer leurs fichiers, faut revenir sur terre, les utilisateurs de raccourcis clavier, ils sont pas nombreux. Apres, non il n'y a pas un envoyer vers mais un "copier vers"/"déplacer vers" super pratique pour déplacer un fichier sans aller jusqu'au repertoire désiré avec le gestionnaire de fichier.

        >Autre bon point : Avec Gnome on a pas deux environnements graphiques
        >qui ne se marchent sur les pieds. Leurs philosophies sont radicalement
        >différentes.

        Ben voila, fallait commencer comme ca :) Personnellement, meme si je comprend que kcontrol puisse sembler trop chargé, pour moi y'a pas de probleme :) Voila, donc on a deux environnements tres différents, le premier kde, geek oriented: dcop, kommander, ... et le second gnome, orienté debutant et personnes se foutant un peut de leur bureau, voulant juste un truc qui marche.

        voila, et je stop le troll par un Kde Rox, Gnome Rox (moins quand meme:)

        * Pour les options non accessible via kcontrol, il y'a ca : http://extragear.kde.org/apps/kconfigeditor.php(...) (le gconf-editor de kde) qui permet d'acceder a toutes les options de kde :) Y'en a une sympa pour ne pas avoir le redimensionnement opaque de certains objets dans les applis :) Je l'ai pas encore trouvé, mais au premier lancement de kde, il suffit de dire "peu d'effets graphiques" a l'assistant. Par contre, sous mandrake, faut le lancer a la main :)
        • [^] # Re: j'ai rien contre QT et trolltech mais quand meme...

          Posté par . Évalué à 0.

          > mais pour moi, cela convient tres bien

          J'ai donné mes impression en vrac et en bref d'un test rapide.
          Je n'ai pas les gouts de tout le monde et vice versa.
          Je n'ai pas la prétention d'avoir un gout universel.
          C'est juste un rappel.

          > Ben avec un argument comme ca

          Il n'est pas si stupide que ça l'argument. Il y a quelques mois je n'aurais peut-être rien remarqué. Mais avec Gnome 2.6 et l'habitude de la "cohérence" du mode spatial qui ne fait pas gestionnaire de fichier/navigateur/couteau suisse, ce mélange gestionnaire de ficher et navigateur de Konqueror saute aux yeux et est "troublant".

          > les utilisateurs de raccourcis clavier, ils sont pas nombreux.

          Certe, il n'y a pas en chaqu'un de nous un emacs qui sommeil. Mais les utilisateurs du raccourcis clavier "copier" et "coller" sont extrèmment nombreux. Je me trompe ?

          > Apres, non il n'y a pas un envoyer vers mais un "copier vers"/"déplacer vers"

          Il y a un "envoyer le lien". J'en suis sûre (KDE 3.2.3). Regardes le menu "fichier" (il me semble que j'ai trouvé ça dans ce menu).

          > Ben voila, fallait commencer comme ca

          Ça c'est forcément à la fin. Je ne peux pas dire ça tant que j'ai pas testé KDE.

          > gnome, orienté debutant et personnes se foutant un peut de leur bureau

          Oublions le "debutant" (je ne suis pas un débutant et pourtant je préfère Gnome) mais le "se foutant un peut de leur bureau" est lourdingue.
          Si je fais une comparaison (qui peut paraitre hazardeuse) :
          - noyau compilé à la main => KDE
          - noyau standard fournis par la distribution => GNOME

          Dans les deux cas, on ne se fout pas du noyau. Celui qui compile le noyau veux un truc aux petits oignons et l'autre veux l'utilise tout de suite pour passer à autre chose. Mais dans les deux cas ils ne se foutent pas du noyau. Leurs exigences sont différentes mais il y a exigence ! Le profile "Gnome" pourrait être "il faut que ça marche sans me prendre la tête, c'est important pour moi car j'ai autre chose à foutre". Si le bureau ne respecte pas ce critère, c'est poubelle => donc ils n'en ont pas rien à foutre.

          Puisque tu sembles utiliser Mandrake (simple), ça te plairais que je dise "les utilisateurs de Mandrake se foutent de leur OS" ?

          Bien sûre que non et tu as totalement raison.

          > Y'en a une sympa pour ne pas avoir le redimensionnement opaque de certains objets dans les applis

          Quand je disait que KDE est "trop lourd", je ne parlais pas de consommation CPU ou mémoire. À vu de tarain c'est grosso-modo la même chose que Gnome.
          • [^] # Re: j'ai rien contre QT et trolltech mais quand meme...

            Posté par (page perso) . Évalué à 1.

            >Mais les utilisateurs du raccourcis clavier "copier" et "coller" sont
            >extrèmment nombreux. Je me trompe ?

            Oui :) Je parle des windowsien de base ;)

            >Quand je disait que KDE est "trop lourd"...

            C'etait pas en reponse a ton commentaire ca :)
          • [^] # Re: j'ai rien contre QT et trolltech mais quand meme...

            Posté par (page perso) . Évalué à 1.

            >Il y a un "envoyer le lien". J'en suis sûre (KDE 3.2.3). Regardes le
            >menu "fichier" (il me semble que j'ai trouvé ça dans ce menu).

            C'est pour envoyer un mail :p aucun rapport avec le copier/coller :)

            http://l3lx202.univ-lille3.fr/~bellegarde/sendlink.png(...)
            • [^] # Re: j'ai rien contre QT et trolltech mais quand meme...

              Posté par . Évalué à 0.

              > C'est pour envoyer un mail :p aucun rapport avec le copier/coller :)

              Oui et non.
              Sous Gnome je faire :
              - copier le lien
              - nouveau mail
              - coller
              ou
              - nouveau mail
              - drag and drop du lien

              Avec KDE :
              - Envoyer le lien...

              C'est plus rapide avec KDE mais je trouve bien dommage d'ajouter une entrée au menu "Document" (et pas "fichier") seulement pour ça.

              Je dis ça je dis rien, je viens de me rendre compte qu'il y avait ça dans Mozilla, Firefox et epiphany.

              -------------> []
  • # Un petit test, très rapide...

    Posté par (page perso) . Évalué à 3.

    Je viens de le compiler sous MacOSX, et je dois dire que je suis réellement très impressionné. Je n'ai fais que compiler et tester les différents exemples, mais voilà ce qui me saute aux yeux au premiers abords :

    1) Interview :
    C'est quelque chose que l'on attendais depuis longtemps, utiliser une architecture Model/View pour la visualisation des données de type arborescence, liste, table.
    Et ça marche à merveille. Les données ne sont déclarées que dans un seul objet (QAbstractItemModel) et sont partagées entre les différents widgets qui peuvent l'afficher (QTableView, QTreeView, QListView).
    Et là où c'est encore plus fort, c'est que la sélection dans un widget est répercutée dans tous les autres widgets... j'adore.

    2) MainWindow :
    Là encore, c'était attendu, une refonte de tout ce qui est "dockwindows" (en français?). Et là encore, ça marche pas mal, bien que j'ai rencontré des bugs sous MacOSX (au niveau de la couleur notamment). Ca ouvre beaucoup plus de possibilité au programmeur.

    3) Arthur :
    C'est à mon avis l'avancée la plus importante. Une refonte complète du moteur de dessin, qui maintenant gère le double-buffering par défaut, l'alpha-blending, le dessin sur n'import quel objet (sur un widget, une image ou même une fenêtre OpenGL).
    Il faut le voir pour le croire, lorsqu'on a une fenêtre OpenGL, avec en fond des carrés en alpha-blending dessiné à l'aide d'appel à QPainter.

    Je n'ai malheureusement pas tout testé (notamment Tulip et Scribe), mais cette nouvelle version annonce de grands changements, et pas mal d'inovation. J'ai rencontré quand même quelques problèmes de stabilité (avec XCode 1.1, il parle de XCode 1.2 dans la doc...), mais il ne faut pas oublier que c'est juste une "technology preview".
    A noter pour l'instant qu'il n'y a ni designer, ni linguist, mais juste assistant.

    J'essaierais de faire un test détaillé plus tard, avec des captures d'écran si possible.

    Au passage, je ne l'ai vu nul part, mais voilà le calendrieer prévu par Trolltech :
    Q3 2004 : Technology Preview 2
    Q4 2004 : Beta
    Q1 2005 : Sortie officiel
    • [^] # Re: Un petit test, très rapide...

      Posté par . Évalué à 1.

      Tu pourrais preciser plus cette histoire de QPainter dans opengl.
      opengl sert juste pour faire un rendu standard, ou on peut vraiment texturer avec un qpainter (voir modeliser avec les boutons en 3d et tout) ? est-ce que l'interactivité avec les QPainter est présente ou non ?
      • [^] # Re: Un petit test, très rapide...

        Posté par (page perso) . Évalué à 1.

        C'est relativement simple. Maintenant, le widget qui intègre une vue OpenGL (QGLWidget) possède une fonction paintEvent ( QPaintEvent * event ), fonction qui appelle ensuite automatiquement la fonction paintGL().

        On peut donc maintenant dans cette fonction utiliser le painter, et dessiné directement sur le widget OpenGL. Par exemple, pour dessiner un rectangle en fond :
        QPainter p(this);
        p.drawRect(0, 0, width(), height());

        D'après les message sur la liste QT4 preview, toutes les opérations de dessin sur le painter sont d'abord dessinées sur une pixmap, puis ensuite rendu comme une texture en OpenGL. Ca ouvre de nombreux horizons, mais il faut aussi voir au niveau performance.

        Je te conseille de télécharger la preview pour voir ce que ça donne, les exemples sont relativement simples et compréhensibles.

        D'ailleurs, je n'ai pas vue le lien pour le téléchargement, c'est ici :
        http://www.trolltech.com/download/tech_previews.html(...)

Suivre le flux des commentaires

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