|
Publicité ' | ||||||||||||||||||||||||
|
|
#21 |
|
Membre régulier
![]() Inscription : mars 2003 Messages : 134 ![]() |
Il me semble que s'ils ne développent pas avec un débogueur, c'est :
-soit parce qu'ils font de très petit programme, -soit parce qu'ils ne programme plus, -soit parce que leur programme n'a que très peu de bug et plus de nouveauté (donc ils ne programment plus vraiement), -soit parce qu'ils ne savent pas se servir d'un débogueur, -soit parce qu'ils sont fermés dans leur esprit, et ne veulent pas progresser en utilisant un outils complexe. Ils ont un blocage purement idéologique. J'ai bien peur qu'ils sont dans le dernier cas. A titre personne, j'aime bien utiliser un débogueur, et cela m'aide beaucoup. Je trouve le débogueur d'éclipse très bon, y compris pour déboguer des servlets. Des fois, j'utilise traces (log4j ou printf) (par exemple pour trouver la partie qui est trop lente), d'autre fois un débogueur (un point d'arrêt conditionnel permet par exemple de suivre le déroulement du programme a partir de la 10.000 itération d'une boucle), d'autre fois, je fais de la relecture de code (très utile pour vérifier si tous les chemins sont correctes et qu'il n'y a pas un bug très subtile dans un cas très particulier). Et il y a d'autre outils de débogage (recherche de memory leak, etc...) En informatique, il faut être ouvert à tout. Si une technologie est meilleur dans certains cas qu'une autre, il faut s'il mettre. Mais je reconnais que sous linux, gdb seul, est très évolué, mais aussi très austère. |
|
|
113
|
|
|
#22 | |
![]() ![]() ![]() Nicolas ValléeIngénieur d'études Inscription : décembre 2005 Messages : 9 978 ![]() |
Citation:
cela montre surtout que tu n'as pas la moindre idée du contenu d'un article de Myers publié en 79. avant de parler de blocage idéologique de la part juste de "sommités" de l'informatique, essaies plutôt de demander ce qui pourrait les conforter dans l'absence de nécessité réelle d'avoir recours à ce genre d'outils |
|
|
|
42
|
|
|
#23 |
|
Membre chevronné
![]() Inscription : mars 2010 Messages : 281 ![]() |
Effectivement, ne trouver comme seul explication à la question "pourquoi ne fait-il pas comme moi" que "c'est parce qu'il est fermé dans son esprit", c'est une bonne preuve d'ouverture du tiens ! Surtout face à des gens qui font évoluer l'informatique en créant de petits langages, comme C++ par exemple...
|
|
|
61
|
|
|
#24 |
|
Membre confirmé
![]() ![]() Inscription : décembre 2005 Messages : 172 ![]() |
Je ne sais pas en quoi consiste la vie de tous les jours de ces grands esprits, mais ça doit sans doute être assez différent du quotidien des développeurs plus communs (doués et moins doués). Je ne pense pas qu'ils passent énormément de temps à lire le code de "qualité industrielle" écrit par d'autres ou bien soit forcés d'utiliser le nième framework en carton développé en interne (non documenté, encore jamais utilisé sur d'autres projets, etc.). Après tout, pour moi, un débuggeur sert avant tout à comprendre le fonctionnement d'un code incompréhensible et / ou qu'on ne connaît pas ; il ne sert pas à en écrire du correct. Pour ça, des types comme Donald Knuth préfèrent un crayon, du papier et un coin tranquille pour bosser au calme. Il a même arrêté d'utiliser l'email pour éviter de perdre son temps avec des problématiques trop superficielles.
|
|
|
32
|
|
|
#25 |
![]() ![]() Jean-Marc Blanc Inscription : avril 2007 Messages : 2 847 ![]() |
Bonjour à tous!
Il me semble qu'on devrait distinguer deux cas:
Jean-Marc Blanc
__________________
Calcul numérique de processus industriels Formation, conseil, développement Point n'est besoin d'espérer pour entreprendre, ni de réussir pour persévérer. (Guillaume le Taiseux) |
|
|
12
|
|
|
#26 |
|
Membre éprouvé
![]() Martin BeydonÉtudiant Inscription : novembre 2010 Messages : 241 ![]() |
Je code en C/C++ et j'utilise rarement de debugger. Si mon programme ne fait pas ce que je veux, je regarde ca a la main ou au printf. Si mon programme plante, je fait juste un coup de valgrind pour localiser le plantage et ensuite printf. Je pense qu'on a pas besoin de debbuger si on connait parfaitement son programme ce qui a mon avis est le cas de ces developpeurs.
(desole pour les accents : clavier qwerty).
__________________
"L'insanité consiste à répéter la même action dans l'espoir d'aboutir à un résultat différent" Albert Einstein ---------------------- T.O.A.O 6-MarViN |
|
|
15
|
|
|
#27 | |
|
Membre émérite
![]() Développeur informatique Inscription : juin 2007 Messages : 366 ![]() |
Citation:
Et l'informatique est un champ tellement vaste, qu'on est pas tous supposés avoir lus les écrits de Myers, il y a déjà bien assez à lire pour devenir un programmeur moyen. Toujours est il que refuser d'utiliser un debugger (en admettant qu'il soit de qualité correcte) c'est se priver de l'outil adéquat. Mon ex-femme a bien réussit à monter un meuble avec une Mag-Light en guise de marteau, toutefois elle serait la première à reconnaitre que ça aurait été plus pratique avec un marteau (je vous rassure, c'est pas parce qu'elle a massacré ma Mag-Light qu'on a divorcé
__________________
The greatest shortcoming of the human race is our inability to understand the exponential function. Albert A. Bartlett La plus grande lacune de la race humaine c'est notre incapacité à comprendre la fonction exponentielle. |
|
|
|
27
|
|
|
#28 |
|
Membre éclairé
![]() Jacques MartinInscription : mai 2009 Messages : 313 ![]() |
Faut que je regarde ce que c'est un debugger. En informatique on fait toujours des découvertes.
|
|
|
25
|
|
|
#29 |
|
Membre confirmé
![]() Inscription : juillet 2008 Messages : 407 ![]() |
Le débogage sous visual studio est vraiment pas mal: le pas à pas permet tout bêtement d'éviter de mettre l'équivalent de je ne sais combien de prints partout (c'est ce que je faisais avec le C).
|
|
|
31
|
|
|
#30 | |
![]() ![]() ![]() ![]() Thomas LevesqueDéveloppeur .NET Inscription : février 2004 Messages : 17 838 ![]() |
Citation:
- la fenêtre Espion (Watch) : permet d'examiner chaque objet en détail, y compris ses membres privés - la possibilité de "sauter" des instructions ou de revenir en arrière arbitrairement - le "edit and continue" : permet de modifier le code à la volée sans avoir à recompiler. Super pratique quand on réalise qu'on a fait une erreur alors que le programme est déjà en train de tourner (malheureusement ça ne fonctionne pas dans tous les cas, par exemple ça ne marche pas dans un type ou une méthode générique, ni quand il y a des méthodes anonymes dans la méthode en cours)En tous cas je pourrais difficilement envisager de me passer d'un debugger... Je l'ai fait quand je codais en C sous Solaris (encore qu'il m'arrivait occasionnellement de lancer un gdb), et quand je faisais du PHP, mais c'était vraiment pénible...
__________________
Pas de questions techniques par MP ! Le forum est là pour ça... |
|
|
31
|
|
|
#31 |
|
Invité régulier
![]() |
Etudiant en BTS IRIS (informatique réseaux pour l'industrie), je n'utilise pas le débogueur intégré de NetBeans car depuis son installation il ne fonctionne pas sur ma machine. Du coup j'ai pris l'habitude de déboguer en printf et cout.
|
|
04
|
|
|
#32 |
|
Membre à l'essai
![]() Inscription : janvier 2007 Messages : 41 ![]() |
Je programme depuis des années avec le langage Java sous l'IDE NetBeans et le débogueur fournit est très utile pour localiser l'erreur dans le déroulement d'un programme, puisque dés fois même avec des Printf ca ne suffit pas a appréhender l'erreur.
|
|
|
02
|
|
|
#33 |
|
Membre confirmé
![]() Laha TOMMYAdministrateur systèmes et réseaux Inscription : septembre 2009 Messages : 163 ![]() |
Je debug mon programme avec printf.
|
|
|
03
|
|
|
#34 |
![]() ![]() yan verdavaineIngénieur expert Inscription : mars 2004 Messages : 9 885 ![]() |
Pour un code fait par eux pourquoi pas.
Mais pour un code fait par quelqu'un d'autre, cela me surprend. Après c'est une habitude. Les avantages que je vois à la méthode printf c'est
Après avoir fait les deux dans le monde professionnel, je préfère largement un débogueur +ide et quelques printf quand le debuggeur ne m'aide pas. L'utilisation du debuggeur simplifie beaucoup de chose et parfois permet de chercher et comprendre un bug en tâtonnant. Mais son utilisation borne le fonctionnement de l’exécution (la zone mémoire est différente, les pointeurs n'ont pas la même valeur, certaine valeur non initialisé ne change pas entre deux exécution, ...). Ce qui fait passer à côté de certain bug. Pour résumer, je trouve que les deux se complète. |
|
|
41
|
|
|
#35 |
|
Membre chevronné
![]() Inscription : avril 2004 Messages : 592 ![]() |
Je garde un souvenir ému de Turbo Pascal 3.0 où, en cas de division par zero, par exemple, le curseur venait toujours se placer sous le / correspondant.
Je n'ai rien vu depuis d'aussi efficace.
__________________
Ce qui s'énonce clairement se conçoit bien ( Le hautbois) |
|
|
11
|
|
|
#36 | |
|
Membre éprouvé
![]() Inscription : janvier 2011 Messages : 161 ![]() |
Citation:
Le développement dirigé par les tests unitaires réduit drastiquement le besoin d'avoir recours au debugger. Le cycle incrémental red/green/refactor et les indications données par l'outil d'exécution de tests unitaires deviennent le debugging. Dans un récent podcast, Kent Beck, créateur d'eXtreme Programming, parle d'un gourou de la programmation de compilateur qu'il admire beaucoup (j'ai oublié son nom) et qui mentionne un ratio de lignes de tests souvent égal à 10x le nombre de lignes de code pour les programmes complexes comme les compilateurs. |
|
|
|
51
|
|
|
#37 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : janvier 2007 Messages : 9 651 ![]() |
en tous cas, par rapport à la question initiale, j'ai déjà répondu moultes foi, et en général je n'utilise pas de debuggeurs..
Un bon print suffit.. Les rares fois où ça devient utile c'est pour localiser dans une grosse appli asynchrone ... Et par exemple mettre un breakpoint et faire du pas à pas quand on ne sait pas trop où ça coince... Sinon, c'est en général plus rapide d'inclure 2 ou 3 print... Et quelqu'un a fait une remarque par rapport aux codes venant de l'extérieur.. Mais c'est exactement pareil.. D'une part, avant de l'inclure, on le regarde (enfin , moi c'est ce ue je fait). Si ça plante, et si c'est dans cette partie du code, des print sont aussi rapides et faciles que des aller-retour avec la souris pour cliquer sur des "show value", "next", etc etc..
__________________
"Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle". Consultant indépendant. Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie. C, Fortran, XWindow/Motif, Java Je ne réponds pas aux MP techniques |
|
|
11
|
|
|
#38 | |
|
Membre Expert
![]() Jean-Bernard Inscription : mars 2007 Messages : 1 001 ![]() |
Citation:
Ca revient exactement au même que d'utiliser un débuggeur pour le faire ^^ A ceci près que ça doit être beaucoup plus long à exécuter... mais je suppose seulement, j'ai peu d'expérience avec valgrind. |
|
|
|
01
|
|
|
#39 |
![]() ![]() yan verdavaineIngénieur expert Inscription : mars 2004 Messages : 9 885 ![]() |
Perso, je corrige 10 fois plus vite 90% des bugs que je rencontre (les miens ou ceux des autres) grâce à un coup de débogueur, ou comprend un code 10 fois plus vite. Et encore je ne fais que du pas à pas, visu de la call-stack et des variables. Certains déboguer permet de revenir en arrière, modifier le code pendant le débogage ou même appeler une fonction sur une instance.
D’expérience, je n'ai rencontré encore personne qui débogué correctement juste au printf. A chaque fois que j'ai rencontré des personnes qui ne savaient débugger qu'avec du printf , j'ai corrigé leurs codes en lançant 2-3fois le débogueur sur leurs bout de code que je ne connaissais pas alors que cela faisait 0.5j, 1j ou + qu'ils n'y arrivaient pas... Et ce n'était pas que des débutants. Quand je rencontre une personne qui n'utilise jamais de débogueur, j'ai toujours une première impression mauvaise... J'ai toujours l'impression que cela ne sert qu'à gonfler leur égo ou compenser leur manque en développement... Pourtant, j'essaie de ne pas généraliser. Mais dans le monde des SSII, je n'ai pas encore rencontré quelqu'un qui pouvais me faire penser autrement. En générale leurs codes sont tellement pollués par ces printf qu'il devient illisible. Un code avec une ligne sur trois en commentaire car c'est un printf de debug, ça pique les yeux. Bien sure, chaqu'un ses expériences. Heureusement tout le monde n'est pas dans mon cas. Mais je trouve dommage de délaisser totalement les débogueurs car c'est pour moi l'outils le plus important d'un développeur. Par contre, il ne faut pas en abuser. Tous comme il ne faut pas abuser des printf. |
|
|
75
|
|
|
#40 | |
![]() ![]() ![]() Nicolas ValléeIngénieur d'études Inscription : décembre 2005 Messages : 9 978 ![]() |
Citation:
|
|
|
|
32
|
Copyright © 2000-2013 - www.developpez.com