Last month, in my conversation with Scott Bain on Impediments to TDD, I wanted to explore how he was incorporating TDD and Design Patterns, two areas of particular expertise for Scott. That is the topic of today’s conversation.
Also huffduffed as…
If you remember programming in C, you'll remember that it felt like music, or wine, or philosophy. Programming languages back then were laconic; they said all in just a few words. Today's mainstream programming languages, in contrast, are heavy, intricate and verbose. How did we get here and what comes next? Rob Pike, the co-creator of the Go programming language and a Distinguished Engineer at Google, thinks the solution is a language that gives us the best from both worlds.
Relating anecdotes from the past, Kent Beck, the father of Extreme Programming and JUnit, reflects back on the impact his ideas have had in the last 20 years, especially with respect to the history of Test Driven Development (TDD), Design Patterns, and Extreme Programming (XP). According to him, good ideas take about that much time to mature and come to fruition.
He regrets how patterns have become a tool in the arsenal of the software developer to solve a programming problem whereas he intended it to be one that would create more space for the user who was to be affected by the software. Reminiscing about the birth of patterns, he draws analogies between architecture in general and software architecture.
Finally he discusses the factors that affect the successful acceptance of an idea.
The Keybohohohoard Should Not Be Ignohohohored
why breaks out into song as he reminds us of the utility of the keyboard in programming interfaces for teaching kids.