Philippe F a écrit 2217 commentaires

  • [^] # Re: Ah oui mais...

    Posté par  (site web personnel) . En réponse à la dépêche Démarche qualité et Logiciel Libre. Évalué à 3.

    > - c'est parfois le bordel à réaliser et si on a pris soin dans les unitaires lors du développement, les choses se passent bien.

    Plus tu testes mieux ca se passe. Pour moi, il n'y a pas de bonne raison de ne pas tester un module que tu pourrais tester.

    <<
    Je suis un "accros" des :
    #ifdef DEBUG
    assert (....)
    #endif
    >>

    Moi j'en suis parvenu a la conclusion qu'il n'y a pas de raison de supprimer les assert en mode release. L'overhead est completement negligeable.

    D'ailleurs, tu peut deja t'epargner quelques lignes de code avec un:
    #ifdef DEBUG
    #define ASSERT( toto ) assert( toto )
    #else
    #define ASSERT( toto )
    #endif

    et utiliser ASSERT() partout.

    Perso, je suis plus dans une optique d'utiliser des logs pour les assert, qui ne seront pas affiches par defaut en mode release mais que je peux activer a tout moment. Si un client a un probleme, je lui dis de lancer le soft en mode debug et de m'envoyer le log.
  • [^] # Re: c'est toujours pas libre ?

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 4.

    Fournir les sources d'un logiciel, cela a un interet si il y a un retour en terme de contribution, diffusion, correction de bugs. Si ca n'apporte aucun des ces elements, il n'y a aucun interet a fournir les sources.

    On le voit dans le cas de TheKompany. Non seulement les gens ont hurles parce que le logiciel n'etait pas gratuit, mais en plus il n'y a aucun retour positif.

    Donc je ne vosi pas pourquoi je donnerai les sources de mon logiciel commercial a mon client. Lui permettre de se passer de moi, d'installer mon produit sur 7000 postes en ne payant qu'une seule licence, lui permettre de contacter une boite de service pour faire la maintenance a ma place sur mes propres sources, ce ne sont pas des choses qui m'`interessent. Au contraire, ca va faire couler ma boite et mettre tous mes employes au chomage.

    Les seuls modeles viables commerciaux + libres sont ceux ou le libre fait vraiment partie du business model et ne vient pas en plus. Dans le cas de trolltech, la version libre leur sert de support de promotion de leur toolkit aupres des developpeurs.

    Si je fais un logiciel qui me prend 3 ans a developper et que je vends 100 kF par licence, imagine combien j'ai a perdre en le mettant en libre.
  • [^] # Re: et wxWidgets dans tout ça ?

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 2.

    [QSTring]

    J'avoue que les qstring, c'est en effet parfois un peu lourd. Je me suis deja fait mordre une ou deux fois.

    [Sous-classer en C++]

    Je vois pas trop ce que tu veux dire par la. Sous Qt, sous-classer est une technique utilisee tres tres couramment. Ca correspond a la realite d'un besoin : tu as souvent besoin de specialiser un composant pour une utilisation legerement differente de l'utilisation de base. C'est une des forces de Qt que de permettre ce genre de chose tres facilement.

    J'ai vu des toolkits ou on ne peut jamais modifier le comportement des widgets de base, et ou on est donc obliger de les recoder a la main quand on veux les specialiser.

    Par contre, je ne comprends pas ta remarque sur le C++. En PyQt, tu peux tout faire en python, pas besoin de C++.

    Sinon, pour le futur de PyQt, je pense que Phil Thompson va s'aligner mais ce n'est pas sur.
  • [^] # Re: GTK et Gnome n'ont plus de raison d'être !

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 4.

    Permets moi de te dire que ta remarque est debile.

    Une appli proprio n'etait pas libre mais le deviendra peut-etre. Je vois pas le rapport ni avec gtk, ni avec qt, ni avec la choucroute.
  • [^] # Re: Ah oui mais...

    Posté par  (site web personnel) . En réponse à la dépêche Démarche qualité et Logiciel Libre. Évalué à 10.

    Honnetement, au lieu de sauter sur le troll proprio/libre, vous devriez reflechir a la facon d'augmenter la qualite des logiciels libres.

    Ce que je partage avec l'auteur de cette news comme point de vue, c'est que les tests unitaires ne sont pas assez utilise en logiciel libre. C'est un tort car ca permet de faire evoluer tres rapidement l'architecture d'un logiciel tout en conservant sa qualite. Si je prends une appli comme grisbi, il y a eu des versions completement inutilisables tellement elles etaient buggees. Pourtant, c'est pas dur d'ecrire des tests unitaires pour les fonctionnalites qui posaient probleme.

    Depuis que je suis devenu un integriste du test unitaire, je constate que j'ai beaucoup moins de bugs sur mes projets et qu'ils sont beaucoup plus faciles a faire evoluer. Constation corroboree par d'autres convertis du test unitaire.

    Alors le test unitaire, mangez-en. On peut en faire en C (cunit), en C++ (cppunit), en pyton (unittest), en java (junit, easymock), et C#, en ruby et en tout ce que vous voulez. L'important est d'avoir une suite de test automatisee.

    Le contre-argument classique est "mais on ne peut pas tester cette partie-la". Avec un peu d'astuce, on peut tout tester mais il faut s'en donner les moyens. Par exemple, j'ai peu tester un protocole de communication radio ou il fallait simuler des conditions radio anormales. Je travail aussi sur du code embarque ou il faut tester le comportement d'un programme compile avec de l'overlay (pas de notion de fonctionr re-entrante, les variables locales ne sont pas sur la piles mais a des emplacements fixes). Ca aussi, on a put tester sans probleme a condition de reflechir a la facon d'aborder le probleme.

    Ce qui est genial, c'est qu'une fois que les briques de bases ont beaucoup de tests unitaires, c'est tres tres facile de faire des tests fonctionnels de tres haut niveau, en assemblant des briques de tests unitaires.

    Par exemple, une fois que j'ai eu mon protocole de communication debugge, j'ai pu teste l'ensemble de mon programme avec introdution de conditions radio anormales et autres petits problemes. J"etais doublement confiant dans sa qualite.
  • [^] # Re: De la criticité des bugs

    Posté par  (site web personnel) . En réponse à la dépêche Démarche qualité et Logiciel Libre. Évalué à 6.

    Moi j'ai des contre-exemples. Par exemple, depuis 2 ans, il y a un bug avec patch attache sur kmail pour utiliser le composant editeur de KDE au lieu d'utiliser systematiquement l'editeur de kmail. Ca nous permettrait d'utiliser yzis ou vi dans kmail.

    Bah, les developpeurs s'en foutent. Pourtant le bugs a pas mal de votes, et j'ai rencontre plein de gens interesses par la fonctionnalite.

    Au final, si personne ne veux corriger un probleme, il ne sera pas corrige. Le developpeur ne considere que ce n'est pas important et puis voila.
  • [^] # Re: GPL != Libre

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 2.

    La press-release fait mention d'une possible adaptation de cette contrainte dans le futur mais pour l'instant, la reponse est oui.
  • [^] # Re: c'est toujours pas libre ?

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 2.

    > Entretenir la confusion, c'est propager l'idee que le libre veut dire gratuit,et forcement gratuit. Malheureusement, c'est souvent l'idee que le grand public a du libre.

    Oui, bien sur. Je sais que tout le monde ici est persuade que c'est le cas mais quand on regarde les cas concrets on se marre.

    Combien de boite font du libre commercial ? Disons MySql, Trolltech, Mandrake, Red Hat, Suse pour les tres gros. En cherchant parmi les petits, on doit arriver a une 20aine ou une 30aine.

    A cote de ca, combien de logiciels libres ? Tu ne sens pas comme un decalage ?

    Combien de gens savent que quelques produits de TheKompany sont GPL mais dont les sources ne sont pas distribuees ? Dans ce cas, ces softs sont des bides, les gens ont hurle parce que ce n'etait pas gratuit mais GPL et personne n'a jamais contribue.

    J'ai cree avec succes deux entreprises et ca fait aussi pas mal d'annees que je fais du logiciel libre. Je suis intimement persuade que faire de l'argent avec du libre reste extremement difficile et ne peut se faire quand des conditions tres particulieres sont reunies.

    Le commercial + libre reste une exception exceptionelle, et j'en suis desole mais c'est comme ca. Dans mes boites on fait entre 100% et 95% de logiciel proprio et c'est ce qui nous permet de vivre.
  • [^] # Re: Desole, certaines entreprises programment encore en C

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 2.

    Ok, mais tu peux ranger ces logiciels avec ceux ecrits en Cobol.

    Aujourd'hui demarrer un projet non embarque en C est une pure aberration dans l'industrie, en pariculier dans le cas de logiciels graphiques.

    Meme le C++ devient obsolete.
  • [^] # Re: GTK et Gnome n'ont plus de raison d'être !

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 6.

    > Les développeurs d'applications GPL seraient bien marrons si Trolltech décidait de passer les prochaines versions de QT en non libre !

    Ben non, Qt passerai automatiquement en licence BSD. cf commentaire plus bas et cf la Free-Qt Foundation.

    Gtk est la, donc c'est un peu bete de se dire qu'on ne doit plus l'utiliser. Cela dit, je reste persuade qu'ecrire un toolkit graphique en C est une anerie et fait perdre un temps monstreux en dev aux developpeurs.

    Si MDI et consorts poussent d'autres langage de programmation (mono, java, python, ...) c'est bien parce qu'il semble que le C soit un peu depasse.

    Ca me faisait marrer de lire le blog de MDI qui etait epate de la vitesse avec laquelle ils developpaient en C# + gnome. Et oui, bienvenu de le monde de l'objet, du polymorphisme, des garbage collector, des constructeurs et des destructeurs et de l'heritage.

    Si vous voulez vous marrer un jour, regardez la quantite de code Gtk qu'il faut pour ecrire l'equivalent:
    class MyWidget: public QWidget
    {
    public:
    MyWidget( QWidget * p) : QWidget(p) {}

    public slots:
    void my_slot(int p1, int p2, int p3);
    };


    D'apres mes souvenirs (en gtk1), ca tape dans les 50 lignes de code, dont la moitie compose de macro sur des structures sans aucune verification de type.
  • [^] # Re: c'est toujours pas libre ?

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 2.

    > Trolltech fait l'amalgame entre "commecial" et "proprietaire"

    Mouai. Prenons le nombre d'applis open source commerciales et divisons le par le nombre d'appli open source benevoles. Maintenant, faisons la meme operation avec le nombre d'appli open source commerciale que nous divisons par le nombre d'appli close source commerciales.

    Je serai surpris qu'un seul de ces chiffres depasse les 0.01% . Certe, Trolltech fait un amalgame, mais il peut se defendre par les chiffres.
  • [^] # Re: et wxWidgets dans tout ça ?

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 2.

    > Concernant la gestion des evenements (cf. lien) Fox offre plus de souplesse (mais moins que Gnustep & co : Aie un troll est laché) pour des langages comme python

    Mouai. Je code tous les jours en PyQt (c'est mon boulot) et je n'ai pas eu la sensation de manquer de souplesse, au contraire. Le systeme signal/slot porte a python est beaucoup plus souple que celui du C++ puisque n'importe quelle methode ou fonction python peut servir de slot (callback).
  • [^] # Re: Peur...

    Posté par  (site web personnel) . En réponse au journal Qt 4.0 en GPL sous Windows. Évalué à 4.

    << b) Si tu savais utiliser CreateProcess et avais la la doc de cet API, tu saurais que nombre de ces arguments peuvent etre a NULL et qu'au final c'est pas plus complique a utiliser qu'un API equivalent sur Linux
    >>

    Desole, mais meme si tous les arguments sont a NULL, l'api reste plus compliquee. C'est un probleme de l'api windows que tu ne peux pas nier.

    Sous qt, je peux lancer un processus sans consuler la doc. Sous windows, je dois la relire trois fois pour etre sur que j'ai pas mis un NULL au mauvais endroit.

    <<c) CreateProcess c'est un des nombreux APIs te permettant de lancer des processus, t'es libre d'utiliser d'autres APIs qui te permettent de faire des choses plus simples, plus simplement. >>

    Ah ouai ? Et tu peux me dire ou on trouve cette api miracle ? Parce que quand on cherche sur le msdn, on tombe toujours sur CreateProcess.
  • [^] # Re: 1 de perdu...

    Posté par  (site web personnel) . En réponse au journal Qt 4.0 en GPL sous Windows. Évalué à 2.

    Faux. Qt >= 3.1 utilise des widgets natifs sous Aqua, windows et KDE. Pour les versions inferieur, c'est aussi le cas, mais pas sur toutes les plateformes.

    Enfin, quand je dis widgets natifs, c'est un peu exagere. Ils utilisent l'api de style natif du systeme d'exploitation pour dessiner leurs widgets. Mais normalement, ca ne doit faire aucune difference visuelle.

    Quand j'installe gimp sous windows, il me demande si je veux utiliser le style wimp. Je suppose que gtk est donc exactement comme qt, ils utilisent au mieux le style de la plateforme et au pire,un style similaire recode a la main.
  • [^] # Re: 1 de perdu...

    Posté par  (site web personnel) . En réponse au journal Qt 4.0 en GPL sous Windows. Évalué à 3.

    > très attendu "The Hurd"

    euh, j'ai du mal lire. Le hurd etait tres attendu quand Linus a commence Linux. Depuis, plus personne ne l'attend...

    Ok, c'est gratuit et ca n'enleve rien au respect que j'ai pour les developpeurs du Hurd. C'est juste que le monde ne s'arrete pas de tourner en attendant leur prochaine version.
  • [^] # Re: et wxWidgets dans tout ça ?

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 2.

    J'oubliais:

    - sous windows, Qt utlise l'api de style de windows, donc les widgets ont exactement la meme tete que les widgets MFC

    - idem sous aqua/mac os X, et sous KDE.
  • [^] # Re: c'est toujours pas libre ?

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 6.

    Pour des petits patchs, correction de bugs, il est communement accepte que ce n'est pas un "travail derive" et que la licence n'entre pas en compte.

    En revanche, tu as raison, si tu veux coder une fonctionnalite qui interesse Trolltech, te devras le faire soit avec une licence type BSD, soit renoncer a ton copyright, soit autoriser aussi la licence commerciale.

    Dans la pratique, ce n'est pas un gros probleme pour Trolltech. Comme ils ont des revenus, ils peuvent embaucher une armee de developpeurs super competents et recoder eux-meme ce qu'ils ont envie d'avoir dans Qt. Ca fait une grosse difference par rapport aux projets open source qui ne fonctionnent que par contribution.

    Exemple, les qcanvas de Qt ont d'abord ete developpe par Varwick Allison en dehors de Trolltech. Ils ont ete rajoute dans Qt quand il a ete embauche. Autre exemple, QSA, le moteur javascript de Qt a ete code par le mec qui a code le moteur javascript de KDE. Trolltech l'a embauche pour qu'il refasse ce qu'il avait deja fait, mais en mieux (il avait des contraintes differentes).

    Pour finir, si tu veux fournir une version de Qt avec des modifs a toi qui ne sont que GPL, tu peux faire un fork ou fournir un patch.

    Sinon, contrairement a toi, je trouve leur modele excellent. Grace a leur revenus, ils peuvent payer 80 programmeurs a plein temps pour faire un super boulot sur Qt, et tous les developpeurs Open Source en beneficient. Marier son metier et l'open source, c'est un peu le reve de tous les programmeurs de logiciel libre.
  • [^] # Re: et wxWidgets dans tout ça ?

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 2.

    << Rely only on low-level system facilities. FOX relies only on core system facilities, and does NOT wrap native GUI libraries or toolkits. This has the following benefits: >>

    Ben justement, Qt fait la meme chose. Ca c'est une difference avec wxWidget.

    Bon, si tu enleves les classes non graphiques de Qt (qui sont super pratiques, plus faciles a utiliser que la STL) et le systeme de signaux/slot qui est une des plus belle reussite de Qt, il ne reste pas grand chose.

    J'ai pas essaye, mais tel que tu le decris, fox, c'est qt en moins bien.
  • [^] # Re: preprocessing

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 3.

    Non. Le choix de passer par un pre-processeur apporte plus que juste les signaux et les slots. On gagne les proprietes, de l'introspection et une generation dynamique de slots. Tout ca, tu ne l'as pas par les template.

    C'est un sujet debattu et rebattu. Trolltech repond regulierement qu'ils ont envisage le passage en template mais que le moc presente de nombreux avantages techniques qui font qu'ils gardent cette approche.

    Tu utilises quoi quand tu n'utilises pas qmake ? Avec tous les generateurs de projets/makefile, gerer les mocs est trivial donc je suis curieux de voir ou ca te pose probleme.

    > les boîtes commerciales programmant des applis proprio vont
    > continuer à l'utiliser, préférant surement recoder 2 fois l'interface (win, X) que des payer des redevance a Qt...

    Tu reves. 1500 $ par plateforme et par developpeur, ce n'est rien pour une boite. Si tu gagnes un mois de dev, tu t'es rembourse. Pour ce prix, tu peux obtenir un toolkit avec un support 24h, des developpements custom, un moteur javascript pour scripter tes applications, integrations complete dans microsoft windows (objets ActiveX) et tu programmes en C++ (pour votre info, l'industrie a laissee tombe le C il y a longtemp). Gtk n'a aucune chance. Va voir les success story du site de trolltech pour t'en convaincre.
  • [^] # Re: et wxWidgets dans tout ça ?

    Posté par  (site web personnel) . En réponse à la dépêche Trolltech va publier Qt 4 pour Windows sous double licence. Évalué à 3.

    C'est marrant, il y a un mosfet qui est un excellent developpeur et qui a bosser sur KDE. Bon, apparamment, ce n'est pas toi

    > Je trouve que wxwidgets est un tres bon toolkit

    On a pas dit qu'il etait mauvais, on a dit qu'ils avaient fait le mauvais choix.

    > et un de ses enormes avantages que tu condamnes justement est le
    > fait qu'il est tres proche des MFC

    Ca presente un interet pour toi parce que tu programme en MFC. Maintenant, l'approche mutli-toolkit pose de nombreux problemes. Par exemple, un widget dispo un gtk mais pas en MFC devra etre recode en MFC avant d'etre disponible en wxWidget. Et plus il y a de toolkit supportes, plus la maintenance devient difficile.

    Il y a ensuite les bugs specificques plateformes, qui alourdissent encore la maintenance.

    Ensuite, il a les optimisations. Typiquement, le mec qui developpe sous linux se fait un super rich text control qu'il utilise pour stocker 2000 lignes de log. Il est content, ca marche bien et il pense que ca marche bien partout. Seulement pas de bol, le rich text control des MFC est _tres_ lent donc son appli sous windows est inutilisable.

    Au contraire, l'approche de Trolltech enleve tous ces problemes. Le portage se reduit a porter les trois classes qui decrivent la plateforme. Les optimisations sur le rendu sont faites une fois pour toute et il n'y a pas de bugs specifique plate-formes. Ensuite, tous les widgets foncitonnent de la meme facon sur toutes les plateformes, le portage est vraiment une affaire de minutes.

    Autres remarques:
    - je ne sais pas comment tu peux preferer MFC a gtk. J'aime pas beaucoup gtk mais au moins, leur API est logique, deterministe, facile a comprendre, exempts de bugs bizarre et tres bien documentee. Aucun de ces adjectifs ne s'appliquent a MFC a mon avis.

    - l'interface graphique en XML, gtk a ca depuis 7 ou 8 ans (cf glade) et Qt aussi (cf Qt Designer)


    Tu devrais essayer Qt, ca te changera de paradigme et tu verras que tu seras plus efficace qu'en MFC.
  • [^] # Re: Double licence ?

    Posté par  (site web personnel) . En réponse au journal Qt 4.0 en GPL sous Windows. Évalué à 5.

    Un soft peut avoir plusieurs licences tout comme un citoyen peut avoir plusieurs nationalite. Quand il passe la frontiere, il choisit le passport qu'il a envie de montrer et quand tu utilises un soft, tu choisis (si il a plusieurs licences) la licence avec laquelle tu veux l'utiliser.
  • # Nous avons eu raison de croire en Qt

    Posté par  (site web personnel) . En réponse au journal Qt 4.0 en GPL sous Windows. Évalué à 10.

    Ce que je constate, c'est que la confiance qu'ont toujours eu les developpeurs KDE dans Trolltech est une fois de plus justifiee.

    Quand KDE s'est lance, tout le monde a critique la licence de Qt mais les developpeurs KDE sont restes confiants que cela ne serait pas un obstacle pour le futur. Deux ans plus tard, Trolltech sortait la QPL qui resolvait tous ces problemes-la.

    Ensuite, apres les seances de ralage industrialises, Trolltech est passe de la QPL a la GPL.

    Et maintenant le GPL sous windows. Vraiment, c'est des gars bien !
  • [^] # Re: surtout pas

    Posté par  (site web personnel) . En réponse au journal Besoin d'arguments de chocs contre Microsoft. Évalué à 2.

    Cette haine peut avoir de nombreuses explications et la rattacher a de l'incompetence, c'est le racourci ideologique facile qui t'evitera d'etre intelligent.
  • [^] # Re: surtout pas

    Posté par  (site web personnel) . En réponse au journal Besoin d'arguments de chocs contre Microsoft. Évalué à 6.

    Cool. Et tu peux aider le monsieur pour lui donner des arguments _contre_ microsoft ?

    Nan, je plaisante
  • [^] # Re: Un truc en C++ qui fait ca

    Posté par  (site web personnel) . En réponse au journal couverture de code. Évalué à 2.

    Je te donnes la liste des liens que j'avais trouve lors d'une premiere recherche:

    http://ltp.sourceforge.net/coverage/lcov.php(...)
    http://www.semdesigns.com/Products/TestCoverage/CppTestCoverage.htm(...)

    Bon, en fait, il n'y a pas grand chose.

    J'ai decouvert au bout de 2 heures que ca fait partie de gcc, et ca me semble le plus robuste comme approche. Mais tu peux essayer les autres, ca peut etre interessant (enfin, ceux qui sont libres).

    La methode bourrin ou tu pre-process tes sources et ou tu rajoutes des macros de couveture de code, tu peux aussi te la redevelopper a la main.