The Tyranny of Complexity

This twitter thread about the Tyranny of Complexity speaks to me.

I see myself as one of these types of people who fights for simplicity. It is a difficult position to be in for the most part which is why I prefer to work alone I think.

There is no Tyranny of Simplicity.

Here’s the whole things since twitter threads are stupid:

In the ol’ days, we used to only ship the code to a browser page that was needed for that page. If we didn’t need the file, we didn’t include the <script src> for it. Simple.

Now’a’days you kids and your fancy bundlin’, tree shakin’, and code splittin’.

I know why SPAs were invented and why they’re so great. And why bundling, shaking, and splitting were invented as follow-on techniques. Etc.

But sometimes you should just need to take a step back and remember that complexity always begets more complexity, never more simplicity.

I call this the tyranny of complexity.

The problems of bundling, shaking, and splitting are, generally, all invented problems, wounds we inflicted on ourselves by our prior choices.

Just a gentle reminder that you can always back-track away from the never-ending-drive-of-complexity and look for side paths that lead toward more simplicity.

You will never be able to inflict enough complexity to solve all the problems, because complexity keeps bleeding out more problems.

At some point, you may stop caring about the remaining problems and be “finished”, but then that complexity legacy is inherited by the next person.

Some people seem to be enthralled and enchanted by complexity. The more it blossoms, the more their imagination runs wild with the possibilities of more complexity. The more they inflict, the more they enjoy it.

It’s as if they substitute the ability to inflict complexity for the natural desire to find purpose and meaning in their endeavors.

Can we justify our existence by rippling out ever more undulating waves of complexity all around us? Of course.

But there’s another kind of person who wants nothing more than to calm the waves, whose existence is justified by creating beauty through simplicity.

There’s no tyranny of simplicity. There’s no drive that keeps you on that path. It’s a choice we can make with every step.

What if writing code was more like the gentle art of tending a delicate garden, instead of machete-hacking your way through an endless tropical rainforest?

More thinking about this.

I think this tyranny of complexity thing is why there will always be new programming languages. A programming language is especially subject to the tyranny of complexity because as more people use it, the more is demanded of the curators.

It seems that people who create new programming languages often cite the problem with complexity in the existing languages as a reason for creating the new thing. That is certainly the case with Rich Hickey and clojure.

I think clojure has done an admirable job of maintaining that because Rich has put simplicity at the center of the language goals. Even so, I think complexity seeps in via the language libraries and supporting tools.

I found another example

Compare this to the Agile Manifesto

That’s the tyranny of complexity.

I’m glad I copied this one down. It is no longer available on twitter because the author made his account private.