Précédent   Forum du club des développeurs et IT Pro > Général Développement > Débats sur le développement - Le Best Of
Débats sur le développement - Le Best Of Décideurs : Le meilleur des débats sur les choix de technologies pour le développement. Ce forum est réservé aux professionnels.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Actualité déjà publiée
 
Outils de la discussion
Publicité
'
Vieux 21/01/2011, 23h01   #21
tulipebleu
Membre régulier
 
Inscription : mars 2003
Messages : 134
Détails du profil
Informations forums :
Inscription : mars 2003
Messages : 134
Points : 71
Points : 71
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.
tulipebleu est déconnecté   Envoyer un message privé Réponse avec citation 113
Vieux 21/01/2011, 23h06   #22
gorgonite
Rédacteur/Modérateur

 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur d'études
Inscription : décembre 2005
Messages : 9 978
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 978
Points : 18 177
Points : 18 177
Citation:
Envoyé par tulipebleu Voir le message
-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.
...
En informatique, il faut être ouvert à tout. Si une technologie est meilleur dans certains cas qu'une autre, il faut s'il mettre.

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
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 42
Vieux 22/01/2011, 14h41   #23
TropMDR
Membre chevronné
 
Inscription : mars 2010
Messages : 281
Détails du profil
Informations forums :
Inscription : mars 2010
Messages : 281
Points : 756
Points : 756
Citation:
Envoyé par tulipebleu Voir le message
Il me semble que s'ils ne développent pas avec un débogueur, c'est :
...
-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.
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...
TropMDR est déconnecté   Envoyer un message privé Réponse avec citation 61
Vieux 22/01/2011, 15h20   #24
Chatanga
Membre confirmé
 
Avatar de Chatanga
 
Inscription : décembre 2005
Messages : 172
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 172
Points : 243
Points : 243
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.
Chatanga est déconnecté   Envoyer un message privé Réponse avec citation 32
Vieux 22/01/2011, 16h26   #25
FR119492
Rédacteur/Modérateur
 
Jean-Marc Blanc
Inscription : avril 2007
Messages : 2 847
Détails du profil
Informations personnelles :
Nom : Jean-Marc Blanc
Âge : 72

Informations forums :
Inscription : avril 2007
Messages : 2 847
Points : 3 982
Points : 3 982
Bonjour à tous!
Il me semble qu'on devrait distinguer deux cas:
  1. Le programme qu'on est en train de développer se plante; en général, on a plus ou moins une idée d'où se trouve le problème, et il suffit de semer quelques "Write" dans la région concernée, et on localise assez vite l'erreur.
  2. On doit tester l'ensemble d'un programme; le plus efficace consiste à examiner les résultats qu'il nous donne, par exemple en résolvant le problème inverse. Si ces résultats sont corrects, tant mieux. Sinon, on revient au cas 1.
Donc, pour conclure, un débogueur ne me semble pas être une solution efficace.
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)
FR119492 est déconnecté   Envoyer un message privé Réponse avec citation 12
Vieux 22/01/2011, 17h48   #26
6-MarViN
Membre éprouvé
 
Homme Martin Beydon
Étudiant
Inscription : novembre 2010
Messages : 241
Détails du profil
Informations personnelles :
Nom : Homme Martin Beydon
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : novembre 2010
Messages : 241
Points : 430
Points : 430
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
6-MarViN est déconnecté   Envoyer un message privé Réponse avec citation 15
Vieux 22/01/2011, 18h11   #27
jmnicolas
Membre émérite
 
Avatar de jmnicolas
 
Homme
Développeur informatique
Inscription : juin 2007
Messages : 366
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 35
Localisation : France

Informations professionnelles :
Activité : Développeur informatique
Secteur : Transports

Informations forums :
Inscription : juin 2007
Messages : 366
Points : 807
Points : 807
Citation:
Envoyé par gorgonite Voir le message
cela montre surtout que tu n'as pas la moindre idée du contenu d'un article de Myers publié en 79.
Tu m'excuseras, mais moi j'avais un an en 1979
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.
jmnicolas est déconnecté   Envoyer un message privé Réponse avec citation 27
Vieux 22/01/2011, 18h39   #28
_Xavier_
Membre éclairé
 
Avatar de _Xavier_
 
Jacques Martin
Inscription : mai 2009
Messages : 313
Détails du profil
Informations personnelles :
Nom : Jacques Martin
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : mai 2009
Messages : 313
Points : 353
Points : 353
Faut que je regarde ce que c'est un debugger. En informatique on fait toujours des découvertes.
_Xavier_ est déconnecté   Envoyer un message privé Réponse avec citation 25
Vieux 22/01/2011, 22h52   #29
b_zakaria
Membre confirmé
 
Inscription : juillet 2008
Messages : 407
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 407
Points : 290
Points : 290
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).
b_zakaria est déconnecté   Envoyer un message privé Réponse avec citation 31
Vieux 23/01/2011, 01h13   #30
tomlev
Rédacteur/Modérateur


 
Avatar de tomlev
 
Homme Thomas Levesque
Développeur .NET
Inscription : février 2004
Messages : 17 838
Détails du profil
Informations personnelles :
Nom : Homme Thomas Levesque
Âge : 31
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Développeur .NET
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : février 2004
Messages : 17 838
Points : 34 228
Points : 34 228
Citation:
Envoyé par zakaria84 Voir le message
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).
Pour moi, les énormes avantages du debugger de VS sont :
- 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...

Tutoriels : Les markup extensions en WPF - La sérialisation XML avec .NET (Aller plus loin) - Extraction de données de pages web à l'aide de HTML Agility Pack
Projet : Dvp.NET, la librairie .NET open-source des membres de Developpez !
tomlev est déconnecté   Envoyer un message privé Réponse avec citation 31
Vieux 23/01/2011, 12h30   #31
maxime1452
Invité régulier
 
Homme Maxime LLAS
Étudiant
Inscription : décembre 2010
Messages : 15
Détails du profil
Informations personnelles :
Nom : Homme Maxime LLAS
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : décembre 2010
Messages : 15
Points : 9
Points : 9
Envoyer un message via MSN à maxime1452 Envoyer un message via Skype™ à maxime1452
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.
maxime1452 est déconnecté   Envoyer un message privé Réponse avec citation 04
Vieux 23/01/2011, 13h58   #32
silfride
Membre à l'essai
 
Inscription : janvier 2007
Messages : 41
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : janvier 2007
Messages : 41
Points : 23
Points : 23
Citation:
Envoyé par maxime1452 Voir le message
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.
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.
silfride est déconnecté   Envoyer un message privé Réponse avec citation 02
Vieux 24/01/2011, 07h35   #33
ratomms
Membre confirmé
 
Avatar de ratomms
 
Homme Laha TOMMY
Administrateur systèmes et réseaux
Inscription : septembre 2009
Messages : 163
Détails du profil
Informations personnelles :
Nom : Homme Laha TOMMY
Localisation : Madagascar

Informations professionnelles :
Activité : Administrateur systèmes et réseaux
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : septembre 2009
Messages : 163
Points : 239
Points : 239
Je debug mon programme avec printf.
ratomms est déconnecté   Envoyer un message privé Réponse avec citation 03
Vieux 24/01/2011, 09h58   #34
yan
Rédacteur/Modérateur
 
Avatar de yan
 
Homme yan verdavaine
Ingénieur expert
Inscription : mars 2004
Messages : 9 885
Détails du profil
Informations personnelles :
Nom : Homme yan verdavaine
Âge : 31
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur expert
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2004
Messages : 9 885
Points : 13 811
Points : 13 811
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
  • obligation à bien connaitre et comprendre l'ensemble du code (et donc à bien réfléchir sur ce que tu veux vérifier).
  • possibilité de faire un débogage en release.
  • plus proche de l’exécution réelle du programme.

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.
yan est déconnecté   Envoyer un message privé Réponse avec citation 41
Vieux 24/01/2011, 10h49   #35
Nebulix
Membre chevronné
 
Inscription : avril 2004
Messages : 592
Détails du profil
Informations personnelles :
Localisation : France, Essonne (Île de France)

Informations forums :
Inscription : avril 2004
Messages : 592
Points : 759
Points : 759
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)
Nebulix est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 24/01/2011, 11h23   #36
Luckyluke34
Membre éprouvé
 
Inscription : janvier 2011
Messages : 161
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 161
Points : 433
Points : 433
Citation:
Envoyé par Idelways Voir le message
[B][SIZE="4"] Comment expliquez-vous que ces « masterminds » disent ne pas utiliser des débogueurs interactifs ?
Parce qu'ils font du TDD ?

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.
Luckyluke34 est déconnecté   Envoyer un message privé Réponse avec citation 51
Vieux 24/01/2011, 14h34   #37
souviron34
Expert Confirmé Sénior
 
Inscription : janvier 2007
Messages : 9 651
Détails du profil
Informations personnelles :
Âge : 55

Informations forums :
Inscription : janvier 2007
Messages : 9 651
Points : 12 081
Points : 12 081
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
souviron34 est déconnecté   Envoyer un message privé Réponse avec citation 11
Vieux 24/01/2011, 16h08   #38
jblecanard
Membre Expert
 
Jean-Bernard
Inscription : mars 2007
Messages : 1 001
Détails du profil
Informations personnelles :
Nom : Jean-Bernard
Localisation : France, Paris (Île de France)

Informations forums :
Inscription : mars 2007
Messages : 1 001
Points : 1 628
Points : 1 628
Citation:
Envoyé par yan Voir le message
Pour un code fait par eux pourquoi pas.
Mais pour un code fait par quelqu'un d'autre, cela me surprend.
Je suis d'accord et je pense que justement, vu leur poste, on évite de les faire bosser avec des développeurs "moyens", donc ils sont constamment environnés par du code dont ils sont l'auteur dans la plus grande proportion.

Citation:
Envoyé par 6-MarViN Voir le message
Si mon programme plante, je fait juste un coup de valgrind pour localiser le plantage et ensuite printf.
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.
jblecanard est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 24/01/2011, 22h45   #39
yan
Rédacteur/Modérateur
 
Avatar de yan
 
Homme yan verdavaine
Ingénieur expert
Inscription : mars 2004
Messages : 9 885
Détails du profil
Informations personnelles :
Nom : Homme yan verdavaine
Âge : 31
Localisation : France, Ille et Vilaine (Bretagne)

Informations professionnelles :
Activité : Ingénieur expert
Secteur : High Tech - Multimédia et Internet

Informations forums :
Inscription : mars 2004
Messages : 9 885
Points : 13 811
Points : 13 811
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.
yan est déconnecté   Envoyer un message privé Réponse avec citation 75
Vieux 24/01/2011, 22h54   #40
gorgonite
Rédacteur/Modérateur

 
Avatar de gorgonite
 
Homme Nicolas Vallée
Ingénieur d'études
Inscription : décembre 2005
Messages : 9 978
Détails du profil
Informations personnelles :
Nom : Homme Nicolas Vallée
Âge : 28
Localisation : France

Informations professionnelles :
Activité : Ingénieur d'études
Secteur : Transports

Informations forums :
Inscription : décembre 2005
Messages : 9 978
Points : 18 177
Points : 18 177
Citation:
Envoyé par yan Voir le message
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.
ben tu diras ça aux personnes dont il est question dans le post initial... je me demande s'ils en riront
__________________
Evitez les MP pour les questions techniques... il y a des forums
Contributions sur DVP : Mes Tutos | Mon Blog
gorgonite est déconnecté   Envoyer un message privé Réponse avec citation 32
Réponse Actualité déjà publiée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 07h15.


 
 
 
 
Partenaires

Hébergement Web