TITLE: X of the Day AUTHOR: Eugene Wallingford DATE: June 25, 2009 9:48 PM DESC: ----- BODY: Quick hits, for different values of x, of course, but also different values of "the day" I encountered them. I'm slow, and busier than I'd like. Tweet of the Day Courtesy of Glenn Vanderburg:
Poor programmers will move heaven and earth to do the wrong thing. Weak tools can't limit the damage they'll do.Vanderburg is likely talking about professional programmers. I have experienced this truth when working with students. At first, it surprised me when students learning OOP would contort their code into the strangest configurations not to use the OO techniques they were learning. Why use a class? A fifty- or hundred-line method will do nicely. Then, students learning functional programming would seek out arcane language features and workarounds found on the Internet to avoid trying out the functional patterns they had used in class. What could have been ten lines of transparent Scheme code in two mutually recursive functions became fifteen or more of the most painfully tortured C code wrapped in a thin veil of Scheme. I've seen this phenomenon in other contexts, too, like when students take an elective course called Agile Software Development and go out of their way to do "the wrong thing". Why bother with those unit tests? We don't really need to try pair programming, so we? Refactor -- what's that? This feature of programmers and learners has made me think harder trying to help them see the value in just trying the techniques they are supposed to learn. I don't succeed as often as I'd like. Comic of the Day Hammock dwellers, unite!