Journal : Qu'est-ce qu'un outils de développement de rève ?
Posté par Nicolas Boulay () le 16 janvier 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 ?
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 ?
> Lire le journal (80 commentaires, moyenne: 2,9).
Vous avez demandé le commentaire #896493.



Vim
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
Ton outil ultime, c'est juste un éditeur de texte qui reconnait ton langage ?
[^]Re: Vim
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
Emacs + VIPER + vimpulse.
Emacs fait l'IDE, VIPER + vimpulse font le vim.
http://linuxette.blogspot.com/
http://enarkeenologos.blogspot.com/
http://www.actu-philosophia.com
[^]Re: Vim
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
Tu peux regarder du coter du tip 357 [http://www.vim.org/tips/tip.php?tip_id=357], avec le script gdbvim [http://www.vim.org/scripts/script.php?script_id=84].
A titre personnel, j'utilise directement gdb avec l'option -tui pour visualiser le code correctement.
Etienne
[^]Re: Vim
Il y a visiblement mieux avec l'outil clewn [http://clewn.sf.net/]. Qui offre visiblement une vrai integration.
Etienne
[^]Re: Vim
>ctrl+espace
bah ctrl-x-n c'est pas la mort non plus.
[^]Re: Vim
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
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
Ce qu'il te faut, dans ce cas, c'est Cream.
http://cream.sourceforge.net/
[^]diff
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
Ç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
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
Blender ?
[^]Re: Vim
c'est même un contre-exemple, dvorak est réputé être plus facile à apprendre que qwerty