Journal Qu'est-ce qu'un outils de développement de rève ?

Posté par  (site web personnel) .
Étiquettes : aucune
0
16
jan.
2008
Une autre question métaphysique, aujourd'hui.

Quel serait votre outil de développement de rêve ?

Parmi les outils qui font gagner du temps, les gestionnaires de version permettent de suivre l'évolution d'un code et de mettre des points de repère entre les temps de essais/erreurs et une solution avec le code qu'il y avait "avant". Le "diff" permet de ne pas faire de grosses boulettes avec des oublies.

Un bug tracker permet d'éviter d'oublier des remarques. C'est un super pense bête même si on remet des choses à plus tard, rien ne peut être oublié.

Une gestion de doc simple comme un wiki ou doxygen peut être utile sur de gros projet. J'aime bien aussi l'outil de partage de document de Google pour écrire un document à plusieurs (même si un wiki permet de faire la même chose en ligne mais publiquement).

Les outils Gnu pour tester, profiler le code comme oprofile, gprof, valgrind ou les options de coverage de gcc.

Il y a aussi les autotools qui facilitent la construction de soft n'importe ou, remplacer lentement par cmake, qmake ou autre.

Pour un développeur de soft, un des trucs les plus chiant à faire est de trouver/corriger les bugs. C'est assez peu intéressant comme tâche. Il existe des outils pour aider comme Valgrind mais il est surtout pertinent que pour le C/C++ (pour trouver les fuites mémoires).

Les langages comme Java, Perl, Python, Ruby permette de coder plus vite avec leur syntaxe "haut niveau".

Pour vous, qu'est-ce que vous aimeriez pour vous faciliter la vie ? Qu'est-ce qui vous fait perdre le plus de temps ?
  • # Facile

    Posté par  (Mastodon) . Évalué à 10.

    Pour vous, qu'est-ce que vous aimeriez pour vous faciliter la vie ?

    Quelques esclaves (aka stagiaires) pour coder à ma place.

    ("Esclave" et "stagiaire" sont à entendre au féminin, évidemment)
    • [^] # Re: Facile

      Posté par  . Évalué à 4.

      En général, si on a des esclaves du sexe opposé¹, c’est pas pour coder.

      Donc : des stagiaires du même sexe que soi pour coder et des esclaves du sexe opposé pour montrer aux stagiaires ce qu’ils auront quand ils seront chef à la place du chef (ce qui n’arrivera pas, gniark gniark gniark).

      ¹ ben oui, il paraît qu’il y en a qui sont des filles… Ah zut, c’est dans une optique hétérosexuelle, mutatis mutandis pour les autres… Ah zut, les bis, les pédos, les zoos… Bon, démmerdez-vous !
      • [^] # Re: Facile

        Posté par  . Évalué à 1.

        Tu cherches des stagiaires kamikaze à qui on promettrait 42 stagiaires vierges?

        Ou alors, c'est juste une blague sexiste nulle ?
        • [^] # Re: Facile

          Posté par  . Évalué à -1.

          D’une, si c’est une « blague sexiste nulle » alors c’est une blague sexiste nulle qui répond à une blague sexiste nulle (cf. la précision sur la féminitude des stagiaires et esclaves).

          De deux, ma blague nulle n’est pas sexiste car elle ne discrimine pas les sexes et elle ne suppose aucune hiérarchie entre eux. Il y a certes une hiérarchie par l’esclavage, cet esclavage est certes sexuel (relatif aux relations sexuelles) mais cet esclavage n’est pas sexiste.
          Et le lien qui va avec : Sexisme

          De trois : prout.
          • [^] # Re: Facile

            Posté par  . Évalué à 0.

            De un.
            une blague sexiste nulle qui répond à une blague sexiste nulle
            mon commentaire est valable pour les deux commentaires.

            De deux.
            ma blague ne suppose aucune hiérarchie entre eux
            tu suppose qu'un des sexes est capable de coder et l'autre juste bon à être baiser. il y a quand même une certaine hiérarchie, et le terme sexiste me parait approprié.

            De trois: ca pu :-)
            • [^] # Re: Facile

              Posté par  (site web personnel, Mastodon) . Évalué à 0.

              >tu suppose qu'un des sexes est capable de coder et l'autre juste >bon à être baiser

              Un sexisme à la fois envers les hommes et envers les femmes ?
              c'est très con.(encore un sexisme envers les femmes ?)

              Bref, c'est plutôt une question de grade. Je ne dis pas que son commentaire était drôle mais autant se tourner vers la bonne question.
            • [^] # Re: Facile

              Posté par  (Mastodon) . Évalué à 8.

              mon commentaire est valable pour les deux commentaires.

              Vous allez voir que bientôt il va être politiquement incorrect de ne pas être bisexuel...

              Mon commentaire à moi était une blague tout à fait sérieuse, à ceci près que tant qu'à être dans le domaine du rêve, j'aurais dû demander une ingénieur (ingénieuse ?) plutôt qu'une stagiaire. Et s'il est sexiste de préférer la compagnie des femmes, alors je suis sexiste. Je pense que j'y survivrai.
              • [^] # Re: Facile

                Posté par  . Évalué à 2.

                Et s'il est sexiste de préférer la compagnie des femmes, alors je suis sexiste. Je pense que j'y survivrai.


                Idem. Et comme le disait Guitry :
                Je suis contre les femmes. Tout contre.

                Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur

            • [^] # Re: Facile

              Posté par  . Évalué à 6.

               [T]u suppose[s] qu'un des sexes est capable de coder et l'autre juste bon à être bais[é] 

              Non, ça¹ suppose qu’un des sexes peut servir à baiser et donc que l’autre ne servira qu’à coder².
              La hiérarchie est sur baiser/coder, baiser étant plus intéressant que coder.

              C’est toi qui supposes que coder demande plus de capacités que baiser ou que baiser est moins considéré, voire plus avilissant, que coder (tu n’es donc pas codeur).

              ¹ « ça » car pas seulement « je »
              ² Cette supposition est d’ailleurs amoindrie par le commentaire sur les bis, zoos, etc.
              • [^] # Re: Facile

                Posté par  . Évalué à -1.

                Et un transexuel qui baise et qui code en meme temps ? :)
              • [^] # Re: Facile

                Posté par  . Évalué à 0.

                >> C’est toi qui supposes que coder demande plus de capacités que baiser.

                Je confirme que c'est entièrement faux, c'est bien plus simple de coder.
                • [^] # Re: Facile

                  Posté par  . Évalué à 0.

                  mais de toute façon le sex et les logicielles c est mieux quand c est gratuit et donnés de son plein gré...
      • [^] # Re: Facile

        Posté par  (Mastodon) . Évalué à 8.

        ben oui, il paraît qu’il y en a qui sont des filles…

        Naturellement, je répondais en me plaçant de mon propre point de vue, et sans présumer de généralité à ce sujet. À chaque fois que je dis "femme", il faut lire "(ou hommes pour les femmes hétéros ou les hommes homosexuels)".

        De la même manière que lorsque je mentionne Emacs, on peut lire entre les lignes "ou Vim pour les femmes et les tapettes".

        (Ça y est, je suis mort)
        • [^] # Re: Facile

          Posté par  . Évalué à 3.

          Pas de problème avec ta phrase, c’est juste que j’ai utilisé « on » comme sujet, forme impersonnelle et assexuée, il m’a donc fallu rendre assexué le reste de la phrase.

          Ceci dit, les vrais hommes codent sans éditeur…
          • [^] # Re: Facile

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

            Ouais, moi je me sépare jamais de ma sonde nanoscopique pour modifier les registres en direct.
  • # Vim

    Posté par  . Évalué à 10.

    Pour être franc, mon outils de développement de rêve je l'ai déjà trouvé.
    Son nom, vous le connaissez bien, c'est Vim.

    Je le trouve partout ou je vais.
    Je le trouve en console ou dans un environnement graphique.
    Il gère tous les languages avec lequel je travaille.
    Il possède tout un tas de fonctionnalités optionnelles fort utiles, bien que les fonctionnalités livrées de base remplissent 99 % de mes besoins.
    Il possède aussi une énorme communauté d'utilisateurs (fans) toujours prête à aider.

    Que demander de plus ?
    • [^] # Re: Vim

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

      Ton outil ultime, c'est juste un éditeur de texte qui reconnait ton langage ?

      "La première sécurité est la liberté"

    • [^] # Re: Vim

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

      pour écrire quoi que ce soit je le trouve bien aussi (ou plutôt je ne trouve pas mieux)
      mais pour la prog, même si ctags est pas mal, ca manque de "ctrl+espace" donc si quelqu'un sait comment transformer vim en un IDE complet je suis preneur... mais un vrai vim, pas un eclipse avec vi intégré qui est tout moisi.
      • [^] # Re: Vim

        Posté par  . Évalué à 4.

        Emacs + VIPER + vimpulse.

        Emacs fait l'IDE, VIPER + vimpulse font le vim.
      • [^] # Re: Vim

        Posté par  . Évalué à 1.

        Pour la completion de code sous vim, y a l'omni completion qui est apparu dans la version 7 ([http://vimdoc.sourceforge.net/htmldoc/version7.html#new-omni(...)]).

        Et pour les langages qui ne sont pas supportés il y a des scripts comme omnicppcomplete (mentionné plus bas).

        Je m'en sert principalement pour du c++ et je trouve que ça marche bien. Bon par contre ça n'en fait pas un IDE complet mais c'est quand même bien pratique.
        Ce qui me manque le plus ça serai de pouvoir utiliser un debugger directement depuis vim. Y a quelqu'un dans la salle qui sait si c'est déjà fait?
      • [^] # Re: Vim

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

        >ctrl+espace

        bah ctrl-x-n c'est pas la mort non plus.
      • [^] # Re: Vim

        Posté par  . Évalué à 1.

        pour la prog, j'utilise maintenant Sun Studio (ou netbeans). Avec le plugin jvi (jvi.sourceforge.org). Tu as quasiment toutes les fonctionnalités de vi, plus un vrai IDE derrière.
        Pratique ...
    • [^] # Re: Vim

      Posté par  . Évalué à 2.

      Que demander de plus ?

      Des raccourcis claviers standards (plus précisement : similaires aux applications actuelles). Par example shift+flèches pour sélectionner du texte, Ctrl+c/x/v pour la gestion du tampon, une interface facile à comprendre sans avoir lu "vim pour les nuls", "vim pour les débutants", "vim pour les power users", "vim pour les xxx", etc... une configuration de base qui marche à chaque fois (qui ne balance pas des ~^[}:/>% lorsqu'on appuie sur delete parce que on utilise un terminal vt3957ab-18c).

      Effectivement, le problème avec les *nix c'est que à part vim et emacs, faut se lever tôt pour trouver un éditeur avec des fonctionnalités avancées potables. Après avoir passé pas mal de temps avec nedit, j'utilise maintenant jedit qui a les fonctions que je considère comme indispensables: un mode colonne (ou visual) facile à utiliser, un déplacement back/forward à la manière des navigateurs, un choix facile des couleurs de l'interface. C'est pas encore idéal mais bon c'est le meilleur que j'ai trouvé.

      En fait mon éditeur fétiche c'est ultraedit mais bon ça se limite à windows... bien que l'éditeur m'assure qu'une version Linux est en dev (enfin je me demande si ils me baladent pas un peu là).

      Un autre outil que je trouve indispensable est le 'diff'. Sous linux, le meilleur que j'ai trouvé est kdiff3... qui est malheureusement bien loin de beyond compare sous windows (mais je n'ai jamais essayé d'outils proprios et payants sous linux donc la comparaison est un peu faussée là aussi, si certains ont des bonnes adresses, je suis preneur)
      • [^] # Re: Vim

        Posté par  (Mastodon) . Évalué à 4.

        Des raccourcis claviers standards [...]

        Ce qu'il te faut, dans ce cas, c'est Cream.

        http://cream.sourceforge.net/
      • [^] # diff

        Posté par  . Évalué à 2.

        Un autre outil que je trouve indispensable est le 'diff'. Sous linux, le meilleur que j'ai trouvé est kdiff3... qui est malheureusement bien loin de beyond compare sous windows

        Je ne connais pas Beyond Compare, mais sous Linux, tu as meld qui est très bon : http://meld.sourceforge.net/
        Si les applis gnome ne te dérangent pas, ça vaut le coup d'y jeter un œil à mon avis.
      • [^] # Re: Vim

        Posté par  . Évalué à 2.

        Ça me fait penser il a une longue discussion à laquelle j'avais discuter ici il y a quelquer temps sur l'ergonomie des logiciels.

        Il y a en effet une très grande différence entre un logiciel rapide à prendre en mains et un logiciel fait pour être rapide.

        Si tu veux un éditeur de texte tout con, tu utilises gedit, t'as rien à savoir, ça marche de suite comme tu veux.

        Pour vim ou emacs, le but est la productivité. Ce sont des applications faites pour être le mieux possible et pas le plus accessible.

        C'est un peu comme l'azerty / dvorak / bépo.
        les claviers de types dvorak sont-ils non ergonomique parce que pas comme ce qu'on trouve d'habitude ?

        Ces logiciels étants fait pour l'optimisation, je pense qu'il ne faut à aucun prix sacrifier leurs avantages (ceux qui tappes beaucoups en dactylo savent que les flèches pour se déplacer, c'est très pénible) pour coller à des « standards ».
        • [^] # Re: Vim

          Posté par  . Évalué à 5.

          C'est un peu comme l'azerty / dvorak / bépo.
          les claviers de types dvorak sont-ils non ergonomique parce que pas comme ce qu'on trouve d'habitude ?


          Mauvais exemple. Tu mets quelqu'un qui n'a jamais touché à un clavier de sa vie devant un dvorak ou un azerty, il ne fera pas ou très peu la différence.

          Tu mets quelqu'un qui n'a jamais touché un traitement de texte de sa vie devant gedit ou vim, il y a des chances qu'il la voie, la différence.

          En bref, ce qui fait la productivité de vim ne me semble pas du tout incompatible avec ce qui fait l'accessibilité de vim. Si vim est aussi inaccessible c'est pour des raisons historiques, pas pour des raisons d'incompatibilité puissance/accessibilité.
          • [^] # Re: Vim

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

            Blender ?

            "La première sécurité est la liberté"

          • [^] # Re: Vim

            Posté par  . Évalué à 2.

            Mauvais exemple. Tu mets quelqu'un qui n'a jamais touché à un clavier de sa vie devant un dvorak ou un azerty, il ne fera pas ou très peu la différence.

            c'est même un contre-exemple, dvorak est réputé être plus facile à apprendre que qwerty
  • # Un tout ptit truc

    Posté par  . Évalué à 3.

    Qu'est-ce qui vous fait perdre le plus de temps ?

    Mon lecteur RSS, Linuxfr, ...

    Non sérieusement j'aimerais bien voir un truc qui marche bien en Common Lisp: la série des whoo-calls, who-macroexpands, etc. qui permet de voir quelle fonction en appelle une autre, sauter facilement à une définition de fonction, etc. Et non grep ne compte pas.
  • # Le code ne se bonifit pas avec l'age

    Posté par  . Évalué à 3.


    Pour vous, qu'est-ce que vous aimeriez pour vous faciliter la vie ?


    Des outils de refactoring pour le C/C++ comme ceux qui existent pour Java/Python

    Qu'est-ce qui vous fait perdre le plus de temps ?


    L'absence de refactoring dans certains gros projets. Vous parlez de cmake/qmake remplaçant les autotools? Il faudrait déjà que make soit utilisé... :(
  • # Squeak like ?

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


    Quel serait votre outil de développement de rêve ?

    Un outil comme squeak ; pouvoir se focaliser sur ce que l'on code et pas sur le comment on code, pouvoir corriger et mettre à jour une application en cours d'exécution localement ou à distance (avec seaside), un code ou chaque changement conduit à une historisation à chaque sauvegarde, etc. Bref, utiliser des outils vraiment productifs et avec lesquels on s'éclate ...
    Et ceci, pour moi, est d'autant plus vrai lorsque je code à mes temps perso parce que justement je n'ai pas bcp de temps libres et que donc j'ai vraiment besoin de ce genre d'outils qui m'aide à aller vite sans renier à la qualité.


    Qu'est-ce qui vous fait perdre le plus de temps ?

    Les outils pour la masse, bref ceux que l'on utilise dans l'industrie.
    Le pb de ces outils est qu'ils limitent grandement notre imagination et notre capacité créatrice.
    C'est dommage mais c'est comme ça ; dans notre société de consommation les produits, pour toucher le plus de personne (la masse), doivent se limiter au dénominateur commun de cette masse et surtout ne pas trop innover sous peine de se voir rejeter ou se voir camper à un marché marginal ; l'innovation se limitant alors à suivre ou à satisfaire une certaine demande qui a dépassé une masse critique (et donc à l'identifier avant d'atteindre cette masse critique), et non à être en avant garde, à proposer des choses nouvelles, vraiment nouvelles ...
    • [^] # Re: Squeak like ?

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

      Le libre n'a pourtant pas l'habitude de suivre la masse, non ?

      "La première sécurité est la liberté"

      • [^] # Re: Squeak like ?

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

        Effectivement, des fois il ne le fait pas ... c'est pour ça qu'il y a Squeak, Seaside, ... ;-)
        C'est pour ça que je pense que le libre est un monde riche et duquel on peut attendre de belles surprises, même si elles ne sont pas toujours bien comprises.
    • [^] # Re: Squeak like ?

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

      « pouvoir corriger et mettre à jour une application en cours d'exécution localement ou à distance »


      Pour info, c'est tout à fait possible en Java avec un bon débogueur, comme celui de NetBeans :-) (Eclipse aussi en théorie, mais j'ai pas réussi à m'en servir).
      Netbeans et Eclipse, que je connais un peu, font aussi de l'« historisation à chaque sauvegarde »
      • [^] # Re: Squeak like ?

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

        Pas tout à fait. D'abord il est nécessaire d'exécuter la JVM en mode debug pour pouvoir communiquer avec elle via le debugger.
        Ensuite, le debugger ne te permet pas de rajouter du code ou même de le modifier à distance. Par contre, tu peux modifier tes objets en cours d'exécution. Ensuite, le flot d'exécution est linéaire : je ne peux donc pas demander à exécuter à nouveau une ou un ensemble d'instructions après modification sans relancer le flot d'exécution complet.

        Quant à l'historisation à chaque sauvegarde de Netbeans et d'Eclipse, j'ignorais la chose. J'utilise en général subversion pour l'historisation des modifications entre autre. Ca me surprend quand même car je n'ai pas encore trouvé le moyen, sans passer par un gestionnaire de conf, de récup une version antérieur d'une classe d'objets.
        • [^] # Re: Squeak like ?

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

          Bon ben par contre Visual Studio le fait très bien avec C# : en plein milieu d'un flot d'exécution je peux mettre sur "pause", modifier le code, et appuyer sur "play" sans avoir besoin de relancer tout le flot d'exécution.
          Evidemment comme pour Java y'a une VM derrière qui tourne dans un mode particulier en association avec le debuggeur, mais d'un point de vue utilisateur où est le problème ?
          Cela dit concrêtement je m'en sers rarement et j'ai du mal à voir en quoi ca increase tant que ca ma productivity.
          Pour l'historisation, c'est quoi la différence avec subversion+historique de l'IDE ?
          • [^] # Re: Squeak like ?

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

            Cela dit concrêtement je m'en sers rarement et j'ai du mal à voir en quoi ca increase tant que ca ma productivity.

            tout dépend des projets sur lesquels tu bosses...
            Il m'est arrivé de bosser (en C++) sur des extensions à adobe indesign, et rien que pour le fait de ne pas avoir à attendre 5 bonnes minutes que la version debug se lance j'étais bien content de pouvoir modifier une partie de mon code tout en le debuggant
        • [^] # Re: Squeak like ?

          Posté par  . Évalué à 1.

          Ensuite, le debugger ne te permet pas de rajouter du code ou même de le modifier à distance.
          De tête si.
          Il recommence la fonction au début si tu modifie une fonction.

          en tout cas il me semble bien que j'avais réussi a le faire avec eclipse il y a un certain temps.

          Par contre rajouter des fonctions, ca j'avoue que je ne sais pas.
          • [^] # Re: Squeak like ?

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

            L'utilisant 142 fois par jours, je confirme que ça marche. EN fait, on ne peux pas modifier la structuration des données, modifier les signatures des methodes, mais on peut changer le contenu d'une méthode.
        • [^] # Re: Squeak like ?

          Posté par  . Évalué à 2.

          Faut faire de l'Erlang pour avoir de la bonne mise à jour à chaud de code \o/

          (en plus c'est libre :))
  • # Un outil de développement de rêves ?

    Posté par  . Évalué à 10.

    Moi, pour déveloper mes rêves, j'utilise toute les nuits un matelas et un oreiller.
    Pratique, très simple à configurer, outil éprouvé par des générations de dormeurs, assez peu de pertes de temps (sauf quand la température n'est pas bonne ou qu'il y a trop de bruit).
    Mon seul regret : pas de gestion des versions, ni même de fonction "enregistrer". Enfin, l'outil est libre, il n'y a qu'à contribuer.
    • [^] # Re: Un outil de développement de rêves ?

      Posté par  . Évalué à 2.

      et m**** j'arrive trop tard, j'voulais la faire aussi :-D
    • [^] # Re: Un outil de développement de rêves ?

      Posté par  . Évalué à 6.

      En même temps, il est connu pour avoir pas mal d'acariens.
      • [^] # Re: Un outil de développement de rêves ?

        Posté par  . Évalué à 8.

        ouais, mais on peu l'utiliser a deux, et apprendre de nouveaux lang..posi.. heu... trucs :)
        • [^] # Re: Un outil de développement de rêves ?

          Posté par  . Évalué à 10.

          Mouaip, ce genre de mode de développement collaboratif, c'est pas mal aussi pour développer des enfants.
          Du moins la première phase du développement. Après faut plein d'autres trucs et ça devient beaucoup plus chiant.

          Comme quoi démarrer un projet c'est sympathique, ça donne beaucoup de plaisir et tout, mais savoir en assurer la maintenance, c'est autre chose.
  • # Pour ce que je code...

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

    Pour mes affreux melanges de script bash, script perl et binaire gruik en C, j'utilise suivant mon humeur et l'ordinateur sur lequel je me trouve gedit, nano, vim, mousepad et surtout 2-3 terminal man (indispensable).
    Je n'ai pas le besoin de logiciels plus evolué.
  • # je n'ai pas trouvé

    Posté par  . Évalué à 3.

    En fait je n'ai jamais trouvé mon outil de rèves. Alors je code avec kwrite. et à chaque crise métaphysique, je me jure d'aller essayer emacs ... bientôt.

    Eclipse est trop lourd (et en java), pour php j'avais essayé zend truc, mais cela ramait à mort sur mon redhat de l'époque.

    Maintenant que je touche un peu C,C++, je chercherais un truc simple à utiliser, qui propose le code complétion (suivant les include, même perso), le parcours des classes et des libs (par exemple une liste des functions dispo avec le prototype), la coloration, etc.... mais surtout qui ne soit pas intrusif (place des fichiers persos partout et qui fait que l'on ne peut pas reprendre 'à la main' facilement derrière.

    J'aimerais qu'il ne propose rien d'automatique pour comprendre complètement tous les mécanismes (j'ai de la chance, ou je travaille je peux prendre le temps de faire les choses & je complète par du travail perso).

    Alors si vous aviez un (des) lien, je suis vraiment preneur. Ah, si il doit être 100% libre et dispo sur debian ;-) [ personne n'est parfait. ]

    hervé
  • # trouver la doc … la lire … et la comprendre

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

    « Qu'est-ce qui vous fait perdre le plus de temps ? »

    Trouver la doc … la lire … et la comprendre !
    • [^] # Re: trouver la doc … la lire … et la comprendre

      Posté par  . Évalué à 6.

      Et l'ecrire?
    • [^] # Re: trouver la doc … la lire … et la comprendre

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

      Puis on se retrouve avec un truc du genre (exemple vécu il y a peu).

      - Trouver la doc. Facile, c'est sur le site web du projet, avec un lien bien placé.
      - La lire. Uh, bah ouais, logique.
      - La comprendre. Oh, c'est très bien expliqué, pas de problème
      - L'utiliser ! Et se rendre compte que ça ne fonctionne pas du tout et qu'on vient de perdre trois heures, la doc étant générée automatiquement sur base des nightly builds du CVS/SVN/autre et non sur base de la dernière version stable publiée sur le site...
  • # Ton environnement de rêve ça ressemble drôlement ....

    Posté par  . Évalué à 4.

    ... à Emacs. :o)
  • # euh

    Posté par  . Évalué à 1.

    Pour moi, dans le cadre du boulot, j'ai découvert l'univers Mainframe IBM. Et c'est pas mal, c'est rapide, y'a pas à se prendre la tête sur les outils etc... Je ne fait que coder, pas à me battre contre les outils. Et le cobol avec DB2.... C'est du 100% proprio, mais bon.
  • # Un outils qui empeche les nommages nom comprehensible.

    Posté par  . Évalué à 0.

    Pour me faciliter le vie, j'aimerais qu'il soit interdit de ne pas nommer intelligeament les variables et functions. Ras le bol des indices de boucle i, des objets object, des tableau tab et autres nommages generiques.
    Rendre le code lisible pour tous le monde, c'est se simplifier la vie lorsqu'il faut le remprendre plus tard.
    • [^] # Re: Un outils qui empeche les nommages nom comprehensible.

      Posté par  (Mastodon) . Évalué à 9.

      Tes indices de boucles, tu les préfères nommés comment, "indice" ? i, j ou k comme indices de boucle, n ou m comme limites de boucles ou nombre d'éléments, f, g ou h pour des fonctions, ce ne sont pas des noms "bêtes", ce sont des notations rapides à écrire qui viennent des maths, et qui sont souvent tout à fait clairs dans un contexte local.

      Je suis d'accord que les attributs d'objets ou les variables globales doivent avoir des noms explicites, mais localement dans une fonction, je préfère un code concis et clair plutôt qu'un code bourré de noms de variables à rallonge qui ne l'explicitent pas réellement.
    • [^] # Re: Un outils qui empeche les nommages nom comprehensible.

      Posté par  . Évalué à 6.

      Va programmer sous Windows, t'auras ce que tu veux ...

      LPSTR lpMyIndexToYourAnswerToMyQuestionThatWasWhatIsTheColorOfHenriIVWhiteHorse
      for ( lpMyIndexToYourAnswerToMyQuestionThatWasWhatIsTheColorOfHenriIVWhiteHorse=0;
      lpMyIndexToYourAnswerToMyQuestionThatWasWhatIsTheColorOfHenriIVWhiteHorse < dwStringSizeOfYourAnswerToMyQuestionThatWasWhatIsTheColorOfHenriIVWhiteHorse
      lpMyIndexToYourAnswerToMyQuestionThatWasWhatIsTheColorOfHenriIVWhiteHorse++) {
      .....

      }

      Pour moi, non merci.
  • # Un correcteur orthographique

    Posté par  . Évalué à 3.

    pour garder sa crédibilité
  • # clan/llvm

    Posté par  . Évalué à 3.

    j'attends beaucoup de clang combiné à llvm pour le c/c++. pour le c, ça devrait sortir courant de cette année.
    Le must, c'est qu'on aura un parser c efficasse qui pourra être intégré à des petits IDE pour gérer l'autocompletion, le refactoring etc...
    pour qu'on ai la même chose pour le c++, je pense qu'on devra attendre 2009 voir 2010, voir peut être que la fonctionnalitée sera abandonnée vu la difficultée de la chose...
    liens :
    http://clang.llvm.org/index.html
    http://llvm.org/
    • [^] # Re: clan/llvm

      Posté par  . Évalué à 2.

      oui. moi aussi.

      Ce que j'attends surtout, c'est de pouvoir generer facilement des bindings pour differents langages dynamiques (ie: python quoi).

      Je trouve que c'est vraiment-vraiment dommage que GCC ne soit pas plus modulaire... Un systeme de greffons/plugins pour extraire les informations (que l'on juge) pertinentes de son code serait vraiment pas du luxe.
      Oui, il y a gccxml. Ok. Mais le developpement laisse a desirer, je trouve.

      Il y avait un article a propos de ca sur LWN "recemment":
      http://lwn.net/Articles/258700/
      http://blog.mozilla.com/tglek/2007/11/29/gcc-plugins-under-m(...)

      Que d'efforts dupliques pour un vrai (et complet) parser de code pour C/C++...
  • # Le must pour le développement web

    Posté par  . Évalué à 2.

    Pour les interfaces web j'utilise quotidiennement le framework Echo2 ( http://echo.nextapp.com/site/echo2 )
Avec ça, un site web se code comme une appli swing (l'API est quasiement la même), pas une ligne de HTML ou autre méta langage de balisage à toucher, 100% objet.
Ca permet de réaliser des applications avec des interfaces complexes et interactives et des composants réutilisables en très peu de temps et sans se prendre le choux avec le javascript à débugguer, les CSS qui passent pas pareil sur tous les navigateurs, etc

En fin de compte ca ressemble un peu au google web kit

Une démo :
http://demo.nextapp.com/Demo/app

    Le tout sous licence MPL, je le recommande chaudement au moins pour les applis intranet
  • # Je me marre .....

    Posté par  . Évalué à 7.

    l y a aussi les autotools qui facilitent la construction de soft </>

    Ha Ha Ha !!!!!

    J'aime ton humour :D
  • # no silver bullet

    Posté par  . Évalué à 1.

    Il faut éviter la fiction de l'« outil de développement de rêve » : de même qu'il n'y a pas de silver bullet technique (i.e. ce n'est pas en adoptant tel nouveau paradigme qu'on résout tous les problèmes), il n'y a pas d'outil miracle qui élimine tous les soucis de la programmation. La programmation est par construction une activité intellectuellement complexe et elle le restera.

    De mon côté ce qui me plaît c'est d'avoir de petits outils légers et souples. Comme je vis dans le monde Python je choisirai mes exemples dans ce monde-là :
    - un interpréteur interactif avec complétion des symboles locaux
    - une commande help() dans ce même interpréteur interactif qui fonctionne sur n'importe quel objet
    - un exécutable "pydoc" qui fait la même chose que le help() suscité, mais depuis bash (exemple : "pydoc unittest")
    - la possibilité d'écrire simplement, et d'exécuter tout aussi simplement des tests unitaires (comme avec nose ou py.test)
    - la possibilité de faire rapidement des packages ou bibliothèques, avec gestion de certaines métadonnées de base (setuptools)
    - la possibilité d'installer facilement des bibliothèques ou outils packagés avec l'outil sus-mentionné (easy_install qui lit les métadonnées depuis http://pypi.python.org/ )
    - des conventions saines définies par le langage, par exemple pour les exceptions
    - des fonctions intégrées à la bibliothèque standard, pour faire du logging par exemple, voire du profiling

    Certains, selon leur goût, ajouteront probablement un debugger intégré. Ne pas devoir recompiler (faire un build séparé) pour avoir la possibilité de debugger est certainement un très gros plus.

    Le tout est d'avoir un environnement habitable et, comme dans une maison, cela veut dire combiner de multiples éléments de mobilier bien conçus, et non chercher la solution ultime (l'analogie originale est de Joel Spolsky je crois).
    • [^] # Re: no silver bullet

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

      Je n'avais pas en tête, un outil qui comble tous les besoins, mais un outil qui manque.

      Je me disais que chaque codeur rencontre toujours le même problème "chiant" dont il ne connait pas vraiment de moyen simple pour l'affronter.

      Par exemple, j'ai écris du logiciel pour des cibles qui n'existait pas encore. Tout tourne en simulation vhdl. Genre 10h de simulation pour un résultat. Tu peux t'amuser à rajouter des sortes de printf() mais cela rallonge encore la simulation.

      Comme info, tu as juste un gros log de la valeur des registres du cpu pour chaques instructions, à toi de faire le croisement entre la sortie assembleur, les symboles pour repérer une instruction fautive et comprendre l'origine d'un soucis. Cela peut être très chiant. Ici, pas question de debugger ou autre shell interactif...

      "La première sécurité est la liberté"

      • [^] # Re: no silver bullet

        Posté par  . Évalué à 1.

        je vois le Pb, c'est d'avoir un corrélation entre l'output de debug et le code , un peut comme l'omnicient debugger ci aprés.

        c'est assez standard d'inclure le fichier/ligne dans les traces, un outils/mode im/emacs/ide-de-ton-choix serais pas mal, ca aide pas mal de voir ce qui a été executé.

        Le debugger ca peut etre bien si on peut reproduire le probleme.
    • [^] # Re: no silver bullet

      Posté par  . Évalué à 3.

        il n'y a pas d'outil miracle qui élimine tous les soucis de la programmation. 

      Pff, encore un qui ne connaît pas la poudre verte…
  • # debugging is fnu

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

    Pour un développeur de soft, un des trucs les plus chiant à faire est de trouver/corriger les bugs. C'est assez peu intéressant comme tâche.
    Parle pour toi, moi c'est une de mes activités préférées : comprendre le code de quelqu'un d'autre et comprendre pourquoi/comment ça marche (pas).

    Par ailleurs, un outil qui a l'air jénial mais que j'ai toujours pas eu le temps d'utiliser sérieusement c'est l'Omniscient Debugger : http://www.lambdacs.com/debugger/

    pertinent adj. Approprié : qui se rapporte exactement à ce dont il est question.

  • # Puisqu'on à le droit de rêver...

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

    Je vais pas sortir la blague de l'éditeur de l'éditeur qui crache le code tout seul (tiens on pourrait, ya une news sur un nouveau méta-truc, Acceleo), mais imaginer un rêve pragmatique.

    Ayant récemment changé de taf, et travaillant maintenant avec des collègues réèlement compétent, je découvre tout ce qu'Eclipse a dans le ventre, et c'est vrai que l'on peut automatiser pas mal de choses, à condition d'aimer les interfaces à la clicodrome+Emacs qui oblige à se tordre les doigts avec des control+alt+shift+backspace+fin/whatever (c'est ce que j'aime pas dans Emacs).
    Faut avouer que c'est puissant comme outil.


    - Il y a plein de chose qu'un éditeur pourrait deviner avec une bonne IA, dans une logique "je détecte un comportement répétitif, je propose de le généraliser". Typiquement, les comportement primitif du genre "l'utilisateur tappe à partir de
    boolean b1,b2,b3,b4;
    un test comme suit :
    if (b1) {
    } else if (b2) {
    }


    L'IDE me proposerai de généraliser l'écriture

    La plupart du temps, quand c'est vraiment trop lent à le faire à la main,je sort un script perl.


    - Un système permettant de poser des contrats et trouver des contre exemples, comme dans Esterel...

    On en a pas mal discuté, mais vu les difficultés, il faudra longtemps avant que l'on en dispose pour Lisaac.


    - C'est plus un problème de langage, mais pouvoir rejouer un morceaux de programme,dans les mêmes conditions, après 1 heure de calcul, ça serait génial.
    Il parait que c'est possible en caml, mais c'est son approche fonctionnel qui le permet surement. Quoique certaines implémentations de smalltalk le fond aussi.
    Cela dit, dans certains cas, enregistrer l'état de la mémoire du programme répondrai peut être au problème, mais bonjour l'explosio, de la consommation.



    - Pouvoir mettre un scope sur une variable, plus exactement d'avoir un historique de ses états successifs, et un pointeur vers la ligne où elle a été modifiée. C'est un peu un concept de programmation orienté aspect, mais en c'est parfaitement implémentable en debug.
    Avec un système de regexp permettant un filtrage, pour ne pas se coltiner une liste trop longue de modifications.


    - Poser des questions

    Lorsqu'on débug, c'est surtout trouver le petit bug qui ennuie tout le monde qui pose problème.
    Un système de requêtage serait génial, il permettrait de demander quel branches de code peuvent impliquer que telle collection a été vidée. Quel est la relation entre telle ou telle variable. Ce dernier point permettrait de détecter que deux listes différentes contiennent des éléments identiques au niveau référence (même pointeurs) et que modifier l'élément dans une le modifie dans l'autre.


    - Visualiser un graphe d'appel en 3D



    Mes deux centimes.

    « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

  • # Le haut niveau

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


    Les langages comme Java, Perl, Python, Ruby permette de coder plus vite avec leur syntaxe "haut niveau".


    J'utilise de plus en plus Scheme avec des macros bien senties, pour remplacer du code Perl/Python/Ruby.

    En revanche, Java, hem... Pour coder vite, on a fait mieux...
  • # Un éditeur de rève

    Posté par  . Évalué à 0.

    Textmate ! Mais, il ne tounre pas sous Linux ...

Suivre le flux des commentaires

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