Brian Foote is an itinerant software developer and rogue scholar who has been programming professionally since the 1970s. The unremitting squalor and duplication endemic he saw drove him to graduate school to study whether we could do better. This led to an interest in object-oriented programming, reflection, design patterns, and refactoring. His focus is now on why contemporary advances in tools and programming tactics have not had the impact they had once promised.
Thursday 16.45 - 17.35 in: Double Rainbow
The cause of programmatic pulchritude has been championed by many over the last forty years, from the Literate Programming boomlet of the seventies, the Architecture craze of the eighties, the Patterns Movement of the nineties, and even the burgeoning Software Crafts movement of the current decade, alas, to little apparent effect. Because, for all our aspirations to the contrary, the de-facto standard software architecture remains, alas, the ubiquitous and enduring “Big Ball of Mud” school of design.
What are the mudslingers doing right?
Wednesday 13.00 - 13.50 in: Gangnam Style
Over the last generation or so, software development has changed profoundly, but some of these changes occurred so slowly they have barely been recognized.
Software was once built by skilled but peculiar artisans, who meticulously crafted their original, green-fields commissions from first principles. Today, their frontiers are gone, and the very few of us build anything new from the ground up. Instead existing resources are rehashed, recombined, and remixed to produce “new” mash-ups based up the work of others. It’s collaborative, this 21st century scavenging, and it has become the state-of-the-art approach to software development.
These changes in the way we produce software have much in common with the changes that have transformed the music industry over the last thirty years. The garage band era of original composition has given way to the direct borrowing of scraps of other people’s pieces and a cavalier disregard for traditional originality.
This session will explore how software developers in the age of sampling have as much in common with contemporary high-tech music “producers” as they do with traditional engineers.