97 Things Every Programmer Should Know

(Chris Devlin) #1

(^116) 97 Things Every Programmer Should Know
Linda Rising
MAYBE iT’S BECAUSE MOST OF THEM ARE SMART PEOPLE, but in all the
years I’ve taught and worked side by side with programmers, it seems that
most of them thought that since the problems they were struggling with were
difficult, the solutions should be just as difficult for everyone (maybe even
for themselves a few months after the code was written) to understand and
maintain.
I remember one incident with Joe, a student in my data structures class, who
had to come in to show me what he’d written. “Betcha can’t guess what it does!”
he crowed.
“You’re right,” I agreed, without spending too much time on his example and
wondering how to get an important message across. “I’m sure you’ve been
working hard on this. I wonder, though, if you haven’t forgotten something
important. Say, Joe, don’t you have a younger brother?”
“Yep. Sure do! Phil! He’s in your Intro class. He’s learning to program, too!” Joe
announced proudly.
“That’s great,” I replied. “I wonder if he could read this code.”
“No way!” said Joe. “This is hard stuff!”
“Just suppose,” I suggested, “that this was real, working code, and that in a few
years, Phil was hired to make a maintenance update. What have you done for
him?” Joe just stared at me, blinking. “We know that Phil is really smart, right?”


A Message to


the Future

Free download pdf