Hacker News new | past | comments | ask | show | jobs | submit login
Rubber Duck Debugging (ethernal.org)
26 points by teej on March 10, 2009 | hide | past | favorite | 8 comments



I heard a similar story. Back in the day, when computers were big and slow, there was a debugging room in the Bell Labs. When a programmer had difficulties debugging his piece of code, he went to that room and talk to a teddy bear about his code and the error he's getting. This should have made him realize what he's doing wrong. I don't know how successful the method was for them, however it works often for me.


"One university computer center kept a teddy bear near the help desk. Students with mysterious bugs were required to explain them to the bear before they could speak to a human counsellor." - The Practice of Programming, Kernighan and Pike 1999.

It's a good book and a good technique. We used to use the director for the same purpose at my first "real" job. He couldn't program but he was really good at looking skeptical.


This has a own section in the book The Pragmatic Programmer. Chapter 3, Debugging, Rubber Ducking.

However, even if I agree with the great use I really use it more for code reviews than for actual hardcore debugging. (This could be my fault because I use distributed async processes in my work)

I think the rubber ducking has more advantage if you use a high level dynamic type language to code in (rather than more low-level C with pointers).


Funny, I'm quite often the 'rubber duck' for other members of my team. I was thinking of trying to find a way to get a cardboard cutout of myself that they could pull out when needed.


I love being this guy. Great way to learn how different systems work, and it's fun trying to find bugs or holes in other people's code. (Politely!)


A friend of mine found he could diagnose most problems by explaining the code to me, whether or not I was there.


This is a great method. I always start writing an email to another developer when I'm having a problem, and by the time I finish it I've usually solved my issue.


I've found that enlightenment comes right after clicking "Send".




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: