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 Yusei (Mastodon) . Évalué à 10.
Quelques esclaves (aka stagiaires) pour coder à ma place.
("Esclave" et "stagiaire" sont à entendre au féminin, évidemment)
[^] # Re: Facile
Posté par Sylvain Sauvage . Évalué à 4.
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 Putifuto . Évalué à 1.
Ou alors, c'est juste une blague sexiste nulle ?
[^] # Re: Facile
Posté par Sylvain Sauvage . Évalué à -1.
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 Putifuto . Évalué à 0.
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 matthieu bollot (site web personnel, Mastodon) . Évalué à 0.
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 Yusei (Mastodon) . Évalué à 8.
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 zebra3 . Évalué à 2.
Idem. Et comme le disait Guitry :
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 Sylvain Sauvage . Évalué à 6.
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 Calve . Évalué à -1.
[^] # Re: Facile
Posté par seginus . Évalué à 0.
Je confirme que c'est entièrement faux, c'est bien plus simple de coder.
[^] # Re: Facile
Posté par liatogo . Évalué à 0.
[^] # Re: Facile
Posté par Yusei (Mastodon) . Évalué à 8.
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 Sylvain Sauvage . Évalué à 3.
Ceci dit, les vrais hommes codent sans éditeur…
[^] # Re: Facile
Posté par Sufflope (site web personnel) . Évalué à 0.
# Vim
Posté par Ririsoft . Évalué à 10.
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 Nicolas Boulay (site web personnel) . Évalué à 6.
"La première sécurité est la liberté"
[^] # Re: Vim
Posté par matthieu bollot (site web personnel, Mastodon) . Évalué à 3.
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 Camille_B . Évalué à 4.
Emacs fait l'IDE, VIPER + vimpulse font le vim.
[^] # Re: Vim
Posté par PoFMaN . Évalué à 1.
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 Étienne . Évalué à 1.
A titre personnel, j'utilise directement gdb avec l'option -tui pour visualiser le code correctement.
Etienne
[^] # Re: Vim
Posté par Étienne . Évalué à 1.
Etienne
[^] # Re: Vim
Posté par Joris Dedieu (site web personnel) . Évalué à 1.
bah ctrl-x-n c'est pas la mort non plus.
[^] # Re: Vim
Posté par castorpilot . Évalué à 1.
Pratique ...
[^] # Re: Vim
Posté par calandoa . Évalué à 2.
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 Yusei (Mastodon) . Évalué à 4.
Ce qu'il te faut, dans ce cas, c'est Cream.
http://cream.sourceforge.net/
[^] # diff
Posté par dromadaire35 . Évalué à 2.
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 seginus . Évalué à 2.
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 Thomas Douillard . Évalué à 5.
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 Nicolas Boulay (site web personnel) . Évalué à 2.
"La première sécurité est la liberté"
[^] # Re: Vim
Posté par z a . Évalué à 2.
c'est même un contre-exemple, dvorak est réputé être plus facile à apprendre que qwerty
# Un tout ptit truc
Posté par Thomas . Évalué à 3.
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.
[^] # Re: Un tout ptit truc
Posté par Earered . Évalué à 4.
Pour le C, il faut remercier SCO: cscope http://cscope.sourceforge.net/
[^] # Re: Un tout ptit truc
Posté par paul . Évalué à 1.
[^] # Re: Un tout ptit truc
Posté par Thomas . Évalué à 1.
-- Thomas
# Le code ne se bonifit pas avec l'age
Posté par Earered . Évalué à 3.
Des outils de refactoring pour le C/C++ comme ceux qui existent pour Java/Python
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 Miguel Moquillon (site web personnel) . Évalué à 4.
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é.
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 Nicolas Boulay (site web personnel) . Évalué à 1.
"La première sécurité est la liberté"
[^] # Re: Squeak like ?
Posté par Miguel Moquillon (site web personnel) . Évalué à 1.
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 Nicolas Dumoulin (site web personnel) . Évalué à 1.
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 Miguel Moquillon (site web personnel) . Évalué à 1.
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 TImaniac (site web personnel) . Évalué à 1.
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 CrEv (site web personnel) . Évalué à 3.
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 briaeros007 . Évalué à 1.
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 kadreg (site web personnel) . Évalué à 2.
[^] # Re: Squeak like ?
Posté par Guillaume Knispel . Évalué à 2.
(en plus c'est libre :))
# Un outil de développement de rêves ?
Posté par Aldoo . Évalué à 10.
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 windu.2b . Évalué à 2.
[^] # Re: Un outil de développement de rêves ?
Posté par imr . Évalué à 6.
[^] # Re: Un outil de développement de rêves ?
Posté par fabien . Évalué à 8.
[^] # Re: Un outil de développement de rêves ?
Posté par Aldoo . Évalué à 10.
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 inico (site web personnel) . Évalué à 3.
Je n'ai pas le besoin de logiciels plus evolué.
# je n'ai pas trouvé
Posté par hervé Couvelard . Évalué à 3.
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é
[^] # Re: je n'ai pas trouvé
Posté par Étienne . Évalué à 1.
Pour faire la completion de code, j'utilise omnicppcomplete [http://www.vim.org/scripts/script.php?script_id=1520]. Dans mon système de makefile, j'ai rajouté une target dependdirs qui affiche tous les répertoires où trouver des include, avec un tout petit script, je peux donc générer le fichier de tags dans chaque répertoire, et la completion marche à merveille.
On peut rajouter taglist [http://vim-taglist.sourceforge.net/] pour naviguer dans les classes et echofunc [http://vim.sourceforge.net/scripts/script.php?script_id=1735] pour afficher la signature d'une fonction lors de l'ouverture de la parenthèse.
[^] # Re: je n'ai pas trouvé
Posté par Nicolas Boulay (site web personnel) . Évalué à 2.
Marrant, j'avais pense a des reponses sur des types de bugs, des concepts qui rendent certaine choses hyper lourde,etc...
"La première sécurité est la liberté"
[^] # Re: je n'ai pas trouvé
Posté par Antoine (site web personnel) . Évalué à 1.
[^] # Re: je n'ai pas trouvé
Posté par Thomas J. (site web personnel) . Évalué à 2.
Il est vraiment bien fichu et la communauté autour du projet est très active.
Seul petit hic au niveau de l'auto-complétion qui est pas encore super au point.
Utilise les Nightly builds si tu as envie d'essayer (elles sont énormement plus à jour que la dernière release qui date de 2005) : http://forums.codeblocks.org/index.php?PHPSESSID=038ddc0eb0c(...)
[^] # Re: je n'ai pas trouvé
Posté par Houbaa . Évalué à 2.
# trouver la doc … la lire … et la comprendre
Posté par Nicolas Dumoulin (site web personnel) . Évalué à 8.
Trouver la doc … la lire … et la comprendre !
[^] # Re: trouver la doc … la lire … et la comprendre
Posté par Tutur . Évalué à 6.
[^] # Re: trouver la doc … la lire … et la comprendre
Posté par Amand Tihon (site web personnel) . Évalué à 2.
- 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 GeneralZod . Évalué à 4.
# euh
Posté par goernil . Évalué à 1.
# Un outils qui empeche les nommages nom comprehensible.
Posté par Tutur . Évalué à 0.
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 Yusei (Mastodon) . Évalué à 9.
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 totof2000 . Évalué à 6.
LPSTR lpMyIndexToYourAnswerToMyQuestionThatWasWhatIsTheColorOfHenriIVWhiteHorse
for ( lpMyIndexToYourAnswerToMyQuestionThatWasWhatIsTheColorOfHenriIVWhiteHorse=0;
lpMyIndexToYourAnswerToMyQuestionThatWasWhatIsTheColorOfHenriIVWhiteHorse < dwStringSizeOfYourAnswerToMyQuestionThatWasWhatIsTheColorOfHenriIVWhiteHorse
lpMyIndexToYourAnswerToMyQuestionThatWasWhatIsTheColorOfHenriIVWhiteHorse++) {
.....
}
Pour moi, non merci.
# Un correcteur orthographique
Posté par Houbaa . Évalué à 3.
[^] # Re: Un correcteur orthographique
Posté par ciol . Évalué à -1.
# clan/llvm
Posté par ecyrbe . Évalué à 3.
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 Sebastien . Évalué à 2.
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 timid . Évalué à 2.
Le tout sous licence MPL, je le recommande chaudement au moins pour les applis intranet
# Je me marre .....
Posté par totof2000 . Évalué à 7.
Ha Ha Ha !!!!!
J'aime ton humour :D
# no silver bullet
Posté par Antoine . Évalué à 1.
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 Nicolas Boulay (site web personnel) . Évalué à 2.
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 ham . Évalué à 1.
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 Sylvain Sauvage . Évalué à 3.
Pff, encore un qui ne connaît pas la poudre verte…
# debugging is fnu
Posté par Krunch (site web personnel) . Évalué à 2.
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 Ontologia (site web personnel) . Évalué à 4.
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 Axioplase ıɥs∀ (site web personnel) . Évalué à 3.
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 donegarden . Évalué à 0.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.