Programming first principles – 7. Premise – Complexity increases exponentially with scale

Video version of this article:

This premise reminds us that complexity increases exponentially with scale. See Programming complexity.

As the number of entities in our code increases, the possible number of interactions between them increases exponentially.

In other words, any insufficient or imperfect processes during development will have an exponentially negative effect later.

Our solution to that must be that we always keep complexity as low as possible, to minimize the effects of its exponential increase as the system scales.

This article is part of the "Programming first principles series":

  1. Purpose - What this series is about
  2. Audience - Who this series is for
  3. Requirements of software
  4. Premise - Minimal information
  5. Premise - We must understand what we're doing
  6. Premise - Minimize propagating changes throughout the system
  7. Premise - Complexity increases exponentially with scale (this article)
  8. First principle - Proof that code works
  9. First principle - Principle of least astonishment
  10. First principle - Principle of least knowledge
  11. First principle - Separation of concerns
  12. First principle - Abstraction
  13. Side effects

Also suggested:

Share this post

Share on facebook
Share on google
Share on twitter
Share on linkedin
Share on pinterest
Share on print
Share on email