Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic

The great ball of mud

by tilly (Archbishop)
on Nov 11, 2001 at 06:32 UTC ( #124633=perlmeditation: print w/replies, xml ) Need Help??

There is a very good paper that I read when it came out, forgot about, but then had it pointed out again by pwhysall.

It is aptly titled, The Big Ball of Mud. And it is, appropriately enough, an essay about the most commonly used design pattern. You might expect that it is about how horrible it is to have a mess. But there is more here than that. Rather it is about how messes arise, what messes do right, what you can do about them, and what you can learn from them. (Which is a lot more than might think.)

If you have never worked in a big ball of mud, and your code would never evolve into one, then there is no point in your reading this. You either lack the experience needed to put the points made into a proper context, or else you are not a mere mortal like myself. But if you are an experienced mortal, you may find it worth the read.

Oops, big ball, not great ball. *blush* (I left the title alone.)

Replies are listed 'Best First'.
Re: Big Ball of Mud
by dws (Chancellor) on Nov 11, 2001 at 09:01 UTC
    Big Ball of Mud is a fun read, and I recommend it heartily to anyone who hasn't yet been involved in a Very Big Project, or to anyone who has, and is looking for insight into why the project turned into a big mess.

    Big Ball of Mud has its roots in Ralph Johnson's group at the University of Illinois, Urbana. (Johnson is one of authors of Design Patterns.) A lot of very influential thinking sprang from the circle that formed around Johnson. (One of his grad students implemented the first Refactoring Browser for Smalltalk.) Refactoring in turn formed one of the core practices of Extreme Programming.

    The references in Big Ball of Mud are worth mining for other good reading. There's also a Big Ball of Mud page on Wiki that has some extra words by Brian Foote, plus a few good pointers.

Re: The great ball of mud
by mitd (Curate) on Nov 11, 2001 at 13:18 UTC
    I am sure 'great ball of mud' is one those new fangled software engineering terms that I just haven't updated to yet. The article describes what this old fart and his geriatric fart friends referred to as:
    1. 3rd Degree Mess
      The great steaming pile of pooh
    2. 2nd Degree Mess
      The great steaming pile of pooh that will not flush.
    3. 1st Degree Mess
      The great steaming pile of pooh that has taken over the universe.

    mitd-Made in the Dark
    'Interactive! Paper tape is interactive!
    If you don't believe me I can show you my paper cut scars!'

Re: The great ball of mud
by brianarn (Chaplain) on Nov 12, 2001 at 23:03 UTC
    Y'know, when I first saw this post, I thought it was going to be some sort of joke or pun about MUDs (multi-user dungeon or whatever you want to call it). Having coded on various muds over the past 4-5 years, it's made me realize that the mud source is a big ball of mud. ;)

Re: The great ball of mud
by princepawn (Parson) on Nov 17, 2001 at 18:25 UTC
    I am amazed by how articulate these authors are... I mean everything in the paper rang true to me but to come up with so many references and appropriate illustrations to support their view point is really a work of skill.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlmeditation [id://124633]
Approved by root
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (6)
As of 2022-05-24 09:41 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (82 votes). Check out past polls.