Borland Kylix 3 versus Linux GCC Development

Posté par  . Modéré par Nÿco.
Étiquettes : aucune
0
12
mar.
2003
GNU
En navigant nonchalamment sur le site d'IBM, je suis tombé sur cette étude: "Borland Kylix 3 versus Linux GCC Development". Le "Cost Xpert Group" est une société fournissant différents outils permettant d'évaluer le coût de l'utilisation des logiciels ("software cost estimation tools") ainsi que des formations et du consulting sur les moyens d'optimiser tout ça. L'étude en question a été menée pour le compte de Borland.

NdM : PDF de 408 Ko. La page IBM presente un formulaire QCM "rate this article". Les différentes mesures sont effectuées sur 3 types de projets:
- une application embarquée
- une application serveur Web
- une application client-serveur

Les statistiques sont établies sur:
- le coût de développement
- le temps de développement
- l'effort de maintenance post-développement
- la documentation devant être générée pendant le développement pour assurer la maintenance.

Résultat des courses: quelle surprise, c'est Kylix qui est le meilleur, avec des
écarts supérieurs à 10% dans pratiquement tous les cas, et notamment 42% pour les seuls coût de développement...
Mais il manque beaucoup de détail, notamment sur l'environnement utilisé avec
g++, car comparer un simple compilateur et un IDE complet, ça frise la
malhonnêteté. On ne sait pas non plus quelle version g++ est utilisée. Rien non plus sur l'inclusion ou non des frais de licence de Kylix.

Aller plus loin

  • # Re: Borland Kylix 3 versus Linux GCC Development

    Posté par  . Évalué à 10.

    Saluons aussi l'exploit d'avoir benché gcc et kylix avec un logiciel qui ne tourne que sous MSWin (cf http://www.costxpert.com/products/downloads.html(...) )

    (j'ai pas lu l'article, hein.. d'ailleurs, j'ai meme pas envie de le lire..)
  • # Re: Borland Kylix 3 versus Linux GCC Development

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

    Première observation : en dernière page du document, on trouve le copyright. Et, chose curieuse, on lit :
    Made in Borland®. Copyright © 2002 Borland Software Corporation. All rights reserved.
    Ca donne plus que des doutes quant à l'objectivité de l'étude. On peut même assimiler ça à de la publicité comparative.

    Pour aller un plus loin, sur le mode opératoire affiché, rien à dire : il semble assez cohérent.
    Cependant, là où le bât blesse, c'est dans la comparaison elle même, je ne vois pas comment on peut comparer un IDE et un compilateur. Il me semble que peu de personnes, sinon aucune, utilisent gcc tout seul pour faire du développement.
    Alors, effectivement, si on utilise gcc avec emacs ou vi, on n'aura peut-être pas toutes les possibilités offertes par un IDE (génération de code, par exemple) ; mais on peut utiliser en parallèle les outils classiques (make et tout le tralala) et pour la documentation, il existe me semble-t-il des outils assez puissant (je pense à Doxygen, par exemple).
    Si on utilise un IDE, comme KDevelop, on a sans doute accès, mais là je ne suis pas compétent, à des fonctionnalités équivalentes. Alors, peut-être que KDevelop n'est pas aussi abouti que Kylix (???) mais de là à obtenir une telle différence avec Kylix, j'en reste sans voix.
    • [^] # Re: Borland Kylix 3 versus Linux GCC Development

      Posté par  . Évalué à 4.

      Pour ce qui est des "couts de production" cités dans l'article, je veux bien que le logiciel ait son importance, mais c'est la qualité du développeur qui baissent les couts de production. Et encore, quand je dis qualité, c'est pas exactement vrai puisque c'est la connaissance du développeur dans le projet qui va lui permettre de gagner du temps. Car tout le monde sait qu'un programme de qualité prend du temps pour être développer, ne serait-ce que pour mener à bien le débogage. Autant utiliser KDevelop+ gcc, la qualité sera au rendez vous pour celui qui sait programmer.
      • [^] # Re: Borland Kylix 3 versus Linux GCC Development

        Posté par  . Évalué à 3.

        "tout le monde sait qu'un programme de qualité prend du temps pour être développer, ne serait-ce que pour mener à bien le débogage."

        pour moi, ce qui prend du temps, c'est la réflexion avant de commencer a coder pour bien visualiser la structure du programme : penser a réutiliser des modules déja conçus, concevoir des modules réutilisables, réaliser un cahier des charges et s'y tenir lors du codage, bref penser a tout pour programmer proprement dès le début.
    • [^] # Re: Borland Kylix 3 versus Linux GCC Development

      Posté par  . Évalué à 8.

      C'est un pour cela que j'ai proposé cette news. Il ne fait pas de doute que l'objectivité de cette étude est plus que douteuse, mais néanmoins, qu'en pense les personnes compétentes sur le sujet? Y a t il vraiment un écart aussi important entre Kylix et les Kdevelop, Anjuta, Eclipse (avec le plugin c++),..?
      Et puis n'oublions pas que comme le dit le splash-screen d'Anjuta, "the best is in you"
    • [^] # Re: Borland Kylix 3 versus Linux GCC Development

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

      > Il me semble que peu de personnes, sinon aucune, utilisent gcc tout seul pour faire du développement.

      Ah, si, les vrais, ils utilisent "cat >" comme éditeur de texte, et gcc en ligne de commande ;-)

      > Alors, effectivement, si on utilise gcc avec emacs ou vi, on n'aura peut-être pas toutes les possibilités offertes par un IDE (génération de code, par exemple)

      Avec les modes qui vont bien et quelques connaissances en Lisp, je ne manque de rien sous Emacs.

      Le problème est plus une question de culture. Je fais des formations C++ et je suis catastrophé de voire que pour 9 personnes sur 10, les fonctionalités d'un éditeur de texte se limitent à insérer du texte, copier-coller, sauver.
      • [^] # Re: Borland Kylix 3 versus Linux GCC Development

        Posté par  . Évalué à 8.

        moi je suis catastrophé de voir des types experimentes ouvrir un xemacs pour chaque fichier ! ( en ligne de commande "xemac toto.cpp &")
        et ils ne compilent jamais dans xemacs alors qu'ils ont un gros bouton "compile" devant les yeux . A la place ils compilent dans un xterm et cherchent ensuite les erreurs a la main dans le source.... !

        horrible !

        Ils ne comprennent pas comment ou pourquoi je laisse mon emacs tourner 24h/24 15 jours durant ...
      • [^] # Re: Borland Kylix 3 versus Linux GCC Development

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

        Ah, si, les vrais, ils utilisent "cat >" comme éditeur de texte, et gcc en ligne de commande ;-)
        [mode enculage-de-mouche on] oui, mais bon, tu utilises quand même cat :-) [mode enculage-de-mouche off]

        Avec les modes qui vont bien et quelques connaissances en Lisp, je ne manque de rien sous Emacs.
        D'accord avec toi. Même quand j'ai besoin de développer sous Windows (sniff !) avec Visual Studio (encore plus gros sniff) comme en ce moment, ben je code sous emacs. Parce qu'au moins, tu peux tout faire au clavier.
        Et bien, sûr, mais là j'ai pas encore trop joué avec emacs lisp, on peut ajouter des fonctions de génération de code.

        je suis catastrophé de voire que pour 9 personnes sur 10, les fonctionalités d'un éditeur de texte se limitent à insérer du texte, copier-coller, sauver.
        Ces mêmes personnes ont aussi l'impression de revenir à l'âge de pierre si elles n'utilisent pas leur souris et se limitent au clavier. Il m'est même arrivé de me faire charrier parce que j'utilisais cygwin sous windows pour manipuler des fichiers ; il n'avaient simplement pas compris que je faisais beaucoup plus vite qu'eux pour une même tâche.
        • [^] # Re: Borland Kylix 3 versus Linux GCC Development

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

          gcc -E - > toto.i <<EOF
          #include <stdio.h>

          int
          main(void)
          {
          printf("Hello world\n"),

          return 0;
          }
          EOF

          gcc toto.i -o toto


          Mais la je suis pas sur que l'on peut encore appeler cela du developpement....
        • [^] # Re: Borland Kylix 3 versus Linux GCC Development

          Posté par  . Évalué à 0.

          Ces mêmes personnes ont aussi l'impression de revenir à l'âge de pierre si elles n'utilisent pas leur souris et se limitent au clavier. Il m'est même arrivé de me faire charrier parce que j'utilisais cygwin sous windows pour manipuler des fichiers ; il n'avaient simplement pas compris que je faisais beaucoup plus vite qu'eux pour une même tâche.

          A ce point, j'espère que t'as demandé une augmentation. Ca doit être frustant de ne pas être reconnu à sa juste valeur.
      • [^] # Re: Borland Kylix 3 versus Linux GCC Development

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

        Avec les modes qui vont bien et quelques connaissances en Lisp, je ne manque de rien sous Emacs.

        Si, d'un bon browser de code. Au bureau je suis passé d'XEmacs à IntelliJ Idea pour faire du Java, et malgrè le fait qu'il se traine comme une bouse sur ma machine (bi PIII 900), je vais bien plus vite avec. Les fonctionalités disponibles comblent largement le pb de perfs. Si seulement un truc équivalent pouvait exister pour C++...
    • [^] # Re: Borland Kylix 3 versus Linux GCC Development

      Posté par  . Évalué à 1.

      Faut bien avouer quand même que GCC n'est pas ce qu'on fait de mieux pour compiler du C++

      Le compilateur de Borland est probablement meilleur que GCC pour le C++ (il n'aurait pas de mal à le surclasser sur ce point).

      Depuis GCC 3 les choses on commencé à s'améliorer, mais on est encore loin du compte à mon avis.

      aegir
  • # Re: Borland Kylix 3 versus Linux GCC Development

    Posté par  . Évalué à 10.

    Vos avis sont effectivement intéressant. Il est clair que l'étude a été menée dans le seul but d'essayer de démontrer la supériorité de Kylix sur GCC.

    D'un autre côté rien ne sert de faire du conservatisme non plus.

    Il est clair que les outils de Borland peuvent accéler quelques peu les développements, en particulier si les développeurs viennent du monde Windows et sont habitués à ce genre d'IDE.

    D'un autre côté, il est clair qu'il vaut mieux passer un peu plus de temps en développement pour avoir un produit + robuste qui nécessitera moins de maintenance.

    ll est clair qu'un outil facilitant la création de GUI et des intéractions associées fait gagner énormément de temps car le codage d'un GUI à la mano prends du temps.

    Par contre, en tant que partisan à l'époque de C++ Builder que j'utilisais dans mes projets d'études pour rendre des projets GUI rapidement alors que beaucoup de monde rendait des projets console, j'ai été déçu récemment sur plusieurs points :

    - Le composant DBExpress pour accéder à mysql que ce soit sous Delphi ou C++ Builder est atroce ! Il n'arrive pas à conserver la connexion à mysql et on arrive pas à forcer cette reconnexion sans message d'erreur dans l'appli. Pas très pro

    - Chaque requête par défaut clône la connexion et quand on fait un netstat, c'est pas beau à voir, surtout que la connexion n'est pas très bien fermée !

    - Certaines fonctions comme LAST_INSERT_ID sont donc inexploitables.

    Et pire que çà soit dans le composant mysql ou d'en d'autres pour les expressions régulières ou la récupération de pages via http, il y a des fuites de mémoire alors que j'ai bien relu mon code, vérifié la présence de delete après chaque new, respecter les exemples de la doc pour les expressions régulières...

    Je vous laisse imaginer le résultat sur une application robot qui doit tourner extrêmement longtemps en boucle, avec des threads qui utilisent à la fois mysql, les expreg et le web. La mémoire s'évanouie au fur et à mesure.


    Conclusion : Alors que j'étais un fervant partisan de C++ Builder, je rechigne maintenant à l'utiliser dans mon taf, par soucis de productivité car étant censé accélérer le développement, je me retrouve au final avec des applications peu fiables, qui épuisent la mémoire au fur et à mesure via les composants fournis par Borland !!!, ce qui m'oblige à tout recoder en Java qui lui m'a donné une application qui libère les ressources malgrè l'utilisation de l'API de Sun pour éviter de réinventer la roue.

    Donc si c'est pareil pour Kylix... Il vaut mieux investir un peu de temps dans l'apprentisage de qt ou gtk et d'apprendre à utiliser kdevelop ou consort.
  • # Re: Borland Kylix 3 versus Linux GCC Development

    Posté par  . Évalué à 0.

    Les différentes mesures sont effectuées sur 3 types de projets:
    - une application embarquée


    Pour de l'embarquée kylix est mieux que GCC ? J'imagine pas la taille de la memoire flash ou rom qu'il faut pour stocker le code compile, de plus ce type de memoire est assez chere, donc : appareil plus chere et moins competitif, sans parler de la ram et les resources processeur que doit consommer un programme kylix ....
    La plupart des programmeurs C sous GNU/Linux utilisent des editeurs comme emacs ou vim, mais le fait qu'ils ne contiennent pas des icones multicolores de partout n'en fait pas des mauvais outils ....

    D'ailleur un petit man gcc donne une liste de processeurs supportes par gcc, a la louche une dizaine, alors que kylix = X86.

    - une application serveur Web

    C'est vrai, j'ai pas assez de requetes appelant "winnt\command.exe" dans les log de apache sur ma debian .... Un nouveau serveur web coder avec les pied en delphi, reglera ce probleme avec l'apparition de nouveau vers.
    Et meme remarque que en haut, les ressource processeurs ....
    De plus la monté en charge doit etre catastrophique ....
  • # Re: Borland Kylix 3 versus Linux GCC Development

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

    Pour info, cet article n'est qu'une actualisation à Kylix3 de la version faite par Borland pour Kylix (1... ?)

    Sur Borland Developer Network : http://bdn.borland.com/article/0,1410,28555,00.html(...)
  • # Re: Borland Kylix 3 versus Linux GCC Development

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

    Pour la partie benchmark pur le lien suivant peut etre interessant....

    http://casteyde.christian.free.fr/cpp/benchmarks/index.html(...)
  • # Re: Borland Kylix 3 versus Linux GCC Development

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

    ça me semble limite malhonnête de comparer du C (donc difficile voir ch... à coder ;-) avec kylix... parce que si je me souviens bien, kylix c'est une sorte de pascal et pas du C/C++ ? Donc un langage de plus haut niveau, donc forcément + facile et rapide à développer.

    Pour être honnête on pourrait comparer kylix à Python par exemple et là c'est pas gagner... vu que Python est à ma connaissance un des langages ou la productivité est la + élevé AMHA ...

    Jiba

Suivre le flux des commentaires

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