The Mound Builders of Mountain View

|

In what turned out to be a de-facto tenth anniversary observance of the conception of our epic spasm of pomposity Big Ball of Mud, I was asked to give my very first presentation of this work as a Google Tech Talk last month in Mountain View. The announcement for it read:

While much attention has been focused on high-level software architectural patterns, what is, in effect, the de-facto standard software architecture is seldom discussed.

A Ball of Mud (http://www.laputan.org/mud/mud.html) is haphazardly structured, sprawling, sloppy, duct-tape and bailing wire, spaghetti code jungle . We've all seen them. These systems show unmistakable signs of unregulated growth, and repeated, expedient repair. Information is shared promiscuously among distant elements of the system, often to the point where nearly all the important information becomes global or duplicated. The overall structure of the system may never have been well defined. If it was, it may have eroded beyond recognition. Programmers with a shred of architectural sensibility shun these quagmires. Only those who are unconcerned about architecture, and, perhaps, are comfortable with the inertia of the day-to-day chore of patching the holes in these failing dikes, are content to work on such systems.

Still, this approach endures and thrives. Why is this architecture so popular? Is it as bad as it seems, or might it serve as a way-station on the road to more enduring, elegant artifacts? What forces drive good programmers to build ugly systems? Can we avoid this? Should we? How can we make such systems better?


Brian Foote is a research computer scientist with nearly thirty years of professional programming experience. He cut his computational teeth in the realm of realtime scientific programming. The highly volatile requirements present in this domain led him to an interest in objects, reuse, software reuse, frameworks, components, and, ultimately, reflection and metalevel architectures. He is one of five people to have attended every OOPSLA conference since 1986.

He has also been active in the software patterns community, and edited Pattern Languages of Program Design 4. He was instrumental in gaining the conviction of the so-called Gang-of-Four (Design Patterns authors Vlissides, Johnson, Helm, and Gamma) for Crimes Against Computer Science at OOPSLA '99.

Brian is currently a Senior Pontificator at Industrial Logic, Inc., where he has been spreading the Gang of Four's Gospel to a new generation of Googlers.

Though Big Ball of Mud has been Slashdotted twice, and is probably his best known work, this will be Foote's first live, full-dress presentation based upon this material.

It went, well, God help me, something a lot like this:

Comments from LD || Referral from Best Tech Videos || วีดีโอพรีเซนต์เตชั่น Big Ball of Mud ที่ Google || Is your newspaper.com a big ball of mud? || soft wet earth || The $100MM Canonical Model || KLOCs and Golf Scores || Big Ball o' Mud: Code Tangles and Organizations

About this Entry

This page contains a single entry by Brian Foote published on September 11, 2007 4:55 PM.

Thomas Jay Peckish II on 21st Century Media was the previous entry in this blog.

Blue Mud in Oakland is the next entry in this blog.

Find recent content on the main index or look in the archives to find all content.

Pages

November 2012

Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

Brian's Links

Homepages

Diarists

Brian Marick
Martin Fowler
Ralph Johnson (That's Completely Bogus!)
Dave Thomas (The Pragmatist)
Glenn Vanderberg
Patrick Logan
Lambda the Ultimate
Joshua Allen (Better Living Through Software)
Mariann Unterluggauer (Motz)
James O. Coplien
Eugene Wallingford
Blaine Buxton
Nickieben Bourbaki
Travis Griggs
Ivan Moore
Mike Mikinkovich
Superboy & Ward
Rebecca Wirfs-Brock
Nat Pryce
Tim Ottinger
Forrest Chang
Gregor Hohpe
Sam Gentile
Robert Hanson
Chad Fowler
Jonathan Edwards
James Robertson
Bruce Eckel
Andrew Stopford
Tully Monster
Grady Booch
Dave's Ramblings
ShiningRay
Solveig Haugland
Dave Hoover
But Uncle Bob
Doug Schaefer
Smallthought
Ted Leung
blog.talbot.ws
The Farm
Ian Clysdale (Random)
Gilad Bracha
Keith Devens
Urbana-Champaign Techophiles
Stefan Lauterer (Tinytalk)
Planet Python
Chris Koenig
Peter Lindberg (Tesugen)
Jason Yip
Sean McGrath
Jeff Erickson (Ernie's 3D Pancakes)
Steve Freeman (Mock Turtle Soup)
hakank (komplexitetemergens)
Deciduous Ponderings
Take One Onion
Project.ioi.st
Ken Schreiner
Hen so.com
Michael Mahemoff (Software as She's Developed)
Tootruthy
Champaign Media Watch
Jason E. Sweat's Weblog (PHP, etc.)
Raymond Lewallen (Code Better)
Keith Ray
Raymond Chen (The Old New Thing)
Neil Gafter
Joe Walnes
Ivan Moore
LD/dazza (Lost in La Manche)
Scott Rosenberg (Wordyard)
Dave Stagner (Sit down and shut up!)
Walter Korman (Lemurware)
Munawar Hafiz (The space between)
Rafael de F. Ferreira (Rafael Rambling)
Mike Hostetler (Where Are The Wise Men)
Jordan Magazine
Andriy Solovey (Software Creation)
Mike Griffiths (Ideas and essays on code development)
Ashish Shiraj (Ashish Kumar -- Software Test Engineer)
Nathaniel T. Schutta (Just a thought...)
Lynn Cherny (Ghostweather R&D Blog)
Dominique Boucher (The Scheme Way)

Powered by Movable Type 5.14-en