Perhaps We Need Something Other Than Silver Bullets
Of course, debates on the theoretical effectiveness of programming paradigms may be missing the point entirely, given the too-horrifying-to-be-true assertion that many programmer applicants cannot:
Write a program that prints the numbers from 1 to 100. But for multiples of three print "Fizz" instead of the number and for the multiples of five print "Buzz". For numbers which are multiples of both three and five print "FizzBuzz".
Last night, I watched a new TV show called Are You Smarter Than A Fifth Grader? (implication: yeah, I watch American Idol. Want to make something of it?) The contestant was a "Computer Systems Analyst." Rather than answer the question "How many decades in two millennia?" she took the money she had won previously (by triumphing over her doubts about "What is the closest star to the Earth?"). I think she left \$50,000 on the table. When asked to guess, she offered "20?" So, yeah, I'm thinking she might have trouble with FizzBuzz.
In far, far brighter news, Microsoft today announced the Beginner Developer Learning Center, which is intended to provide resources for people all the way to "zero experience." This is a really wonderful idea. I had inklings, but not direct knowledge, that something like this was in the works and I am looking forward to poking around the site.
P.S. Hilariously, Jeff's comments section is filled with people demonstrating their prowess by implementing -- and sometimes failing -- the program. Don't do that here. As Scott Hanselman says, "You'll only die a little inside if you do."