More than a decade ago, I was good with debuggers. Today, I can't even use the relevant variants.
That is partly because I'm doing scripting languages these days (no memory overwrites, etc) and partly because I write my code so it'll be simple to debug.
IMHO, I'm more productive. And I'm happier, laziness is my favorite virtue.
Disclaimer: I'm doing too little web stuff, otherwise I'd probably be using Firebug etc all the time.
Edit: One thing from the book I really agree with, is "Parenthesize to avoid ambiguity."
I put a marker in my beloved C book ("C: A Reference Manual" by Harbinson and Steele) on the page with priorities for built in operators/functions. Much later, I removed the dog ear and decided: If I had to look up the parsing priorities for some built in functions, then I should use parentheses instead -- for the people reading (including myself).
gdb hasn't changed much in that time, I think. Have you looked at it? A lot of debuggers are based on it, so you still have access to a gdb terminal. Though yes, making easy-to-debug code is very useful, and probably good advice in general. Easy-to-debug is also usually easy-to-understand.
And I hate trickiness without parenthesizing in large one-liners. My limit is usually 3 or 4 operators. There's no reason to not parenthesize, and plenty of reason to, especially for later readability.
edit: just realized another possibility. Are you just out of practice?
That is partly because I'm doing scripting languages these days (no memory overwrites, etc) and partly because I write my code so it'll be simple to debug.
IMHO, I'm more productive. And I'm happier, laziness is my favorite virtue.
Disclaimer: I'm doing too little web stuff, otherwise I'd probably be using Firebug etc all the time.
Edit: One thing from the book I really agree with, is "Parenthesize to avoid ambiguity."
I put a marker in my beloved C book ("C: A Reference Manual" by Harbinson and Steele) on the page with priorities for built in operators/functions. Much later, I removed the dog ear and decided: If I had to look up the parsing priorities for some built in functions, then I should use parentheses instead -- for the people reading (including myself).