Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

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.

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

Comment on The great ball of mud
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. ;)

    ~Brian
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?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (7)
As of 2014-12-22 10:11 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (114 votes), past polls