17 créateurs de langages de programmation disent ne pas utiliser de débogueurs
Comment déboguez-vous ?

Les rubriques (actu, forums, tutos) de Développez
Tags
Réseaux sociaux


 Discussion forum

Le , par Idelways, Expert Confirmé Sénior
« Masterminds of Programming » est un livre à succès qui regroupe un ensemble d'interviews exclusives avec les créateurs de 17 langages de programmation. Parmi eux, les très populaires Bjarne Stroustrup (C++), James Gosling (Java) ou encore Guido van Rossum, le créateur du langage Python, qui vient par ailleurs d'être sacré langage de l'année 2010 par Tiobe.

Les questions posées à ces créateurs portent sur des thèmes variés du monde de la programmation allant de la conception à la concurrence en passant par le débogage... C'est ce dernier point, pourtant ingrat, qui a interpellé un blogueur et développeur Python à la lecture du livre.

Chris McDonough a en effet constaté que tous ces créateurs affirment déboguer en relisant le code ou en insérant de simples instructions "print". La plupart d'entre eux nient, en somme, utiliser un débogueur interactif.

McDonough, qui avoue humblement ne pas faire le poids devant ces gourous du développement, s'étonne tout de même qu'ils n'utilisent pas les débogueurs interactifs, pourtant pratiques et qui lui « sauvent la mise à chaque fois ». Il affirme même que de ne pas les avoir serait pour lui « terrible ».

Une explication possible, d'après McDonough, serait que ces esprits supérieurs de la programmation ont plus de "stack space" dans leur cerveau qui peuvent contenir plus de code que ceux des programmeurs qui utilisent les débogueurs.

L'autre explication, diront les mauvais esprits, est que ces maitres du développement prennent soin de leur image de développeurs hors-normes.

Il y a certainement un peu des deux.

Et vous ?

Comment expliquez-vous que ces « masterminds » disent ne pas utiliser des débogueurs interactifs ?
Les utilisez-vous ou déboguez-vous, vous aussi, « à la main » ?

Source : le blog de Chris McDonough


Vous avez aimé cette actualité ? Alors partagez-la avec vos amis en cliquant sur les boutons ci-dessous :


 Poster une réponse

Avatar de Paul TOTH Paul TOTH
http://www.developpez.com
Expert Confirmé Sénior
le 21/01/2011 14:26
je fais les deux, parfois en même temps

notamment je n'utilise jamais les breakpoints conditionnels j'utilise plutôt un test dans le code

Code :
1
2
3
 
  if Condition then 
    ShowMessage('Ici'); // break point sur cette ligne
Avatar de Scalap Scalap
http://www.developpez.com
Candidat au titre de Membre du Club
le 21/01/2011 14:33
Je suis développeur C++/Qt sous LInux et effectivement dans ma boite on code avec vi (gvim pour moi) et nous n'utilisons pas de debugger.
Les printf( qDebug() avec Qt ) sont énormément utilisés
Très rarement, même vraiment très très rarement, je lance un gdb.

Au début cela était étrange de ne pas en utiliser. Surtout que je venais du monde Windows et sous IDE (notamment Visual studio).
Le break point a cette époque était vraiment un ami. Mais bon ! loin des yeux loin du cœur.
Avatar de gorgonite gorgonite
http://www.developpez.com
Rédacteur/Modérateur
le 21/01/2011 14:40
Citation Envoyé par Idelways  Voir le message
Chris McDonough a en effet constaté que tous ces créateurs affirment déboguer en relisant le code ou en insérant de simples instructions "print". La plupart d'entre eux nient, en somme, utiliser un débogueur interactif.

déjà le niveau moyen des personnes dont il parle est particulièrement élevé, et ils ne se "contentent" pas de savoir utiliser la langage, mais en comprennent les subtilités en terme de sémantique opérationnelle et modèle-mémoire... par ailleurs, ils ont certainement des méthodologies de développement ad-hoc qui intègrent une analyse très poussée des raffinements "sûres", voire de l'analyse statique. du coup il y a certainement moins de bugs déjà dans leur premier jet
Avatar de chaplin chaplin
http://www.developpez.com
Membre Expert
le 21/01/2011 14:56
Comment expliquez-vous que ces « masterminds » disent ne pas utiliser des débogueurs interactifs ?
- Parce qu'ils ont beaucoup de pratique.

Les utilisez-vous ou déboguez-vous, vous aussi, « à la main » ?
- Oui, quand on a pas le compilateur sous la main et qu'il faut expliquer soit à son collaborateur, soit au prestataire où il s'est planté.
Avatar de el_slapper el_slapper
http://www.developpez.com
Expert Confirmé Sénior
le 21/01/2011 15:07
Je programme en COBOL et en VBA. En VBA, j'utilise abondamment le debuggeur. En COBOL, je n'en ai pas, je mets des DISPLAY(équivalent du print) partout. Donc j'alterne entre les deux

Eh bien ça se vaut, à mon sens. Juste, il faut avoir les outils qui vont bien. COBOL sous Z/OS, j'ai déjà vu des débuggeurs, ils sont lourds, délicats à utiliser, alors qu'on peut faire des DISPLAY massifs qui permettent de suivre l'intégralité de l'éxécution d'un coup d'oeil. VBA, c'est l'inverse; le débuggeur permet d'avoir une vision rapide et efficace de la situation, alors que les "traces"(j'ai même oublié comment on fait tellement j'ai trouvé ça faible) sont illisibles.

Ca donne aussi une différence de manière d'appréhender : dans une trace, on a d'un coup l'execution complète, avec tout l'historique. Dans un débuggeur, on vit le moment ou se produit le bug, et on est concentré dessus. Cette différence de philosophie explique, AMHA, pourquoi certaines préfèrent telle ou telle approche.
Avatar de Haseo86 Haseo86
http://www.developpez.com
Membre éclairé
le 21/01/2011 15:25
Personnellement je code (ou plutôt j'ai codé :p) principalement en C++, Java et C#, et je n'ai jamais utilisé de déboggeur.

Sans doute la meilleure raison à cela est que je n'ai jamais eu à entreprendre d'énormes projets, et j'ai toujours pu trouver rapidement mes erreurs "à la main".
Avatar de MokuJin MokuJin
http://www.developpez.com
Candidat au titre de Membre du Club
le 21/01/2011 15:58
J'ai codé en PHP nous notepad (sans debuggeur donc) et quand j'ai pu avoir un debuggeur digne de ce nom ça a été un vrai bonheur.
J'ai vraiment eu l'impression d'aller plus vite dans mon développement.

Depuis je fait du c# sous visual studio et sans débuggeur ce ne serais tout bonnement pas possible.

J'ai un ami qui fait du delphi, et qui a un niveau nettement supérieur au mien, lui il est plutot sans debuggeur, mais il a toujours fait comme ça.

Je pense sincèrement que ce n'est qu'une question d'habitude et de maitrise.

Citation Envoyé par gorgonite
ils ont certainement des méthodologies de développement ad-hoc qui intègrent une analyse très poussée des raffinements "sûres", voire de l'analyse statique. du coup il y a certainement moins de bugs déjà dans leur premier jet

Je suis carrément d'accord avec toi.
Avatar de martopioche martopioche
http://www.developpez.com
Membre éprouvé
le 21/01/2011 16:02
D'un autre coté, il me semble que c'est Martin Fowler qui qualifiait de temps perdu le temps passé sur le débuggeur. J'utilise très rarement le débuggeur en Java et Python, plus souvent en C++. Mais finalement dans tous les cas, c'est du fait d'une méconnaissance de ce qui se passe. Cette méconnaissance est soit due à mon ignorance de la techno (C++ par exemple), soit à de la reprise de code spaghetti. Si Bjarne Stroustrup parlait de C++, James Gosling de Java et Guido van Rossum de Python ou C, je présume que leur maîtrise de leur tachno est bien suffisante.
Avatar de Fabllot Fabllot
http://www.developpez.com
Membre chevronné
le 21/01/2011 16:03
Allez, je saute à pieds joints dans la mare !

Et bien, moi franchement, je préfère largement débugger avec un bon débuggeur, intégré à un ide. Je pense particulièrement à Visual Studio !

Et je m'explique :

J'ai fait pas mal de C il y a quelques années en débuggant au printf, puis suis passé au C++/Qt intégré à Visual et là j'ai redécouvert la programmation. Les débuggeur et breakpoints permettent un gain de temps considérable sur le débuggage.

Je travail aujourd'hui sur des plateformes type Bada (avec eclipse) où le débuggueur est lamentable, et fait régulièrement du PHP (là c'est pire)... Et je peux vous dire que je regrette énormément un débuggeur digne de ce nom !
Avatar de abriotde abriotde
http://www.developpez.com
Membre éclairé
le 21/01/2011 16:08
Personellement même si je suis pas un grand programmeur je n'utilise quasiment pas les débogueur car en général ils ne sont pas installé. Pour les utiliser il faut un IDE complet et méticuleusement soigné. Deplus dans 90% des cas on se dit ah oui c'est vrai j'ai pas traité ce cas en relisant le code alors que le déboggeur nous plonge trop dans le cambouis en empêchant de prendre de la hauteur. Le println complète assez bien. Après le débogueur c'est vrai que c'est partique quand c'est au point. (En javascript ils sortent à peine, pour les serveurs d'application web, ils sont inexploitables...) En Java c'est utile, en C l'appli gdb me permet de savoir ou ça plante pour le HTML vive firebug. Mais dans tous les cas (même avec un déboggeur) il arrive q'un println soit plus rapide.
Offres d'emploi IT
Développeur java (h/f)
CDI
Décision RH - Ile de France - Paris (75000)
Parue le 20/10/2014
Directeur de projet h/f
CDI
Kacileo - Ile de France - Paris (75000)
Parue le 01/10/2014
Architecte technique / Chef de projet (H/F)
CDI
CATI - Ile de France - Saint-Aubin (91190)
Parue le 07/10/2014

Voir plus d'offres Voir la carte des offres IT
 
 
 
 
Partenaires

PlanetHoster
Ikoula