I was listening to Pandora.com the other day, and its algorithms decided to play me the Byrds classic (1965) folk-rock song “Turn! Turn! Turn!” I know you’ll recognize some of its lyrics: “To everything, there is a season, and a time for every purpose under heaven. A time to be born, a time to die; a time to plant, a time to reap; a time to kill, a time to heal; a time to laugh, a time to weep.”
The words, of course, come from the biblical book of Ecclesiastes, specifically the third chapter. Their authorship is popularly attributed to Shlomo ben David, Solomon the Wise (although see the debate at bit.ly/g8Q5I6). If true, an ancient Israelite king would own credit for the lyrics to a Billboard No. 1 hit (though I suspect the copyright has expired, so he wouldn’t get much money for it). Pete Seeger put the words to music in 1959, rearranging some to make the song more singable (“poetic license,” another triumph of usability over strict veracity) and adding six words of his own.
Geek that I am, I couldn’t help but realize the pattern that unites the verses of this song. They all describe opposite actions and state that a time exists for each. To put it into canonical geek language, there is a time for A and a time for !A (or ~A, if you’re going to get picky).
Andy Rooney extended this pattern in his book, “The Most of Andy Rooney” (Galahad Books, 1991), when he suggested changes to the list: “There is a time for putting chocolate sauce on vanilla ice cream, and a time for eating vanilla ice cream without chocolate sauce. … A time for exercise and a time for lying down and taking a little nap. … A time to play basketball, which shall be in the wintertime, and a time to knock it off with the basketball, which shall be as the wintertime comes to an end, and not in June.”
Rooney is one of my longtime influences. We both graduated from Colgate University, he in 1942 and I in 1979. I’ve sometimes described my goals for this column as: “Think of it as a cross between Andy Rooney, Dennis Miller and George Will. Or maybe it’s better if you don’t.”
I’ve blatantly plagiarized Sol’s and Pete’s and Andy’s idea and made the following observations about the contrasting times in a geek’s life. I hope you’ll use the e-mail link below to send me your own favorites. My friends, there is:
A time to slam down a huge jolt of caffeine, and a time to sip it slowly over the course of an hour.
A time to save state in object instances, and a time to make them stateless.
A time for bullet-proofing your code and a time for taking short cuts.
A time to listen to Clippy (“I see you’re writing a crude forgery”) and a time to shoot him in the head.
A time to play Solitaire at meetings, and a time to pay attention to the speaker (rare, unless that speaker is me).
A time for bullet points and a time to ditch PowerPoint and actually talk to your audience.
A time to chase the cat off your laptop keyboard, and a time to use your desktop and let her sleep.
A time to hold up delivery until you can fix a particular feature, a time to chop out the entire feature because you can’t fix it and need to make the ship date, and a time to just ship the damn thing.
A time to put your user first and not stroke your own ego. There isn’t an opposite to this one.
A time to work until two in the morning, and a time to go home and appreciate still having a family.
A time to read brilliant columns, and a time to quit goofing off and get back to work already. That’s now.
David S. Platt teaches Programming .NET at Harvard University Extension School and at companies all over the world. He’s the author of 11 programming books, including “Why Software Sucks” (Addison-Wesley Professional, 2006) and “Introducing Microsoft .NET” (Microsoft Press, 2002). Microsoft named him a Software Legend in 2002. He wonders whether he should tape down two of his daughter’s fingers so she learns how to count in octal. You can contact him at rollthunder.com.
A time to make a decision A time to say C# I love you :)
a time to write a function, a time to write a class a time to think about a class, a time to think about an object a time not to write at all, a time not to think at all a time to collect your garbage, a time to use to rely on your garbage collector a time to declare a variable type, a time to use "var" a time to not collect garbage at all, a time to use a dynamic language a time to like computer science, a time to hate computer sceintists a time to hate computer science, a time to like computer scientists!
If I were writing a verse to the song, I might say: A time to new, a time to delete A time to AddRef(), a time to Release() A time to fopen(), a time to fclose() A time to malloc(), a time to free()
A time to write a user story and a time to write a use case A time to use spreadsheets and a time to use TFS Scrum 1.0 template A time to use .Net and a time to use Java
More MSDN Magazine Blog entries >
Browse All MSDN Magazines
Subscribe to MSDN Flash newsletter
Receive the MSDN Flash e-mail newsletter every other week, with news and information personalized to your interests and areas of focus.