Cargo Cultists, Part Two
Thanks all for your kind words and cogent thoughts on yesterday's post. I'd like to sum up some of the wisdom in the comments:
My advice for novice programmers was
- Don't be a cargo cultist -- understand the meaning and purpose of every line of code before you try to change it.
- Understand abstraction, and use it appropriately.
To that, you guys add:
- learn to use a debugger to step through the code and find problems
- learn to NOT use a debugger -- learn to build programs that are debuggable by reading and understanding them
- reading code is harder than writing it -- read lots of code
- sound methodology is important -- you need to know that you got it right
- object models carry semantics too -- learn their semantics
- realize that mastery of any skill doesn't take ten days, it takes ten years
Good advice!
I'd also like to respond to some of the points raised in the comments. I'll do that over the next couple of days.
Comments
- Anonymous
March 02, 2004
On the subject of "reading code is harder than writing it", there was a great quote that I saw over at CodeProject a while ago, it went like:
Always write code as if the maintenance programmer were an axe murderer who knows where you live.
Meaning: Write code that's readable, not just a big mess of lines smushed together with no whitespace or comments. - Anonymous
March 02, 2004
Programming and Personas - Anonymous
March 02, 2004
"realize that mastery of any skill doesn't take ten days, it takes ten years"
I've been coding professionally for 12 years and for fun another 7 years before that. I will for ever be a student of my skill.
In this game to acknowledge that you are a master is to acknowledge you are obsolete. - Anonymous
March 02, 2004
> Always write code as if the maintenance
> programmer were an axe murderer who knows
> where you live.
Actually, I think I have seen this quote in a Tip of the Day in Microsoft Visual Studio 6.0.