Laying Claim to Sundman’s Law

It was a longstanding premise, or assumption, or rule of thumb that I had carried around with me for a decade or two before I formulated it concisely while employed at the late, great, Laszlo Systems, progenitor of the ahead-of-its-time-and-now-sadly-forgotten OpenLaszlo platform.

If I’m not mistaken, my friend Benji Shine was with me when I boiled it down to its essence, viz:

Never upgrade any tool in the build chain, ever.

This rule can be extended to email clients.

You can put this on my tombstone if you like, if I have one, and if Dear Wife says it’s OK to do so. But in any event I want credit for it. Whenever you’re in a situation when some wet-behind-the-ears kid is insisting that you upgrade to Python 19.34.2.1 or PHP 212.3.2 or COBOL 23004040.293949.22, just say “no” and cite Sundman’s Law. Somewhere, Sundman will be smiling.

One Comment

  1. Stearns’ corollary: Never (set out to) write a system in which Sundman’s Law applies. This is just an application of something I was taught a long time ago: The cost of a software change should be proportional to the change desired, not proportional to the size of the code base.

    For decades, I thought this was what EVERY programmer was taught, and I couldn’t understand why anyone would disagree. I’ve never been very observant. Now, of course, anyone can read a Steve Yegge essay on their phone and learn that, shockingly, there are people who think long-lived systems require massively-interdependent global planning — the strong ties of pointless links. This, of course, is what leads to Sundman’s Law being true for such systems.

    You would think that I could come to this understanding of others by myself through reading the writings of what Stevey calls “programming conservatives”. But frankly such writing is non-sensical gibberish to me. It seems I need someone from my own faith to explain it to me.

    However, it turns out that the phenomenon applies to other domains. For example, it turns out that I really hate people (other than my own family). It is only by avoiding dependence on people that I can actually get anything done. If the cost of a change is proportional to the size of your community, or if you can’t replace any of the elements of your human dependency chain, you’re screwed.

    Good luck with your email, John.

Comments are closed