Combining Simplicity and Complexity

There’s an ongoing debate about the merits of simplicity vs. complexity. “People want things simple and easy to use!” proclaim some.


This is a companion discussion topic for the original entry at http://betterexplained.com/articles/combining-simplicity-and-complexity/

That’s a nice way to break it down, but your argument would be more persuasive if you chose clearer words: complex doesn’t mean powerful; it means complicated, composite, or intricate. How about weak/powerful and simple/complicated?

Hi Jonah, thanks for the comment. Yes, thinking about it more, I think the complex/complicated argument may be too subtle. To me, “complex” can take a positive or at least neutral connotation, while complicated is typically negative.

I like weak/powerful because it polarizes the issue, but unfortunately weak has a negative connotation; perhaps “basic” and “advanced” can work.

Something along these lines may do the trick:

  • What can it do? (basic/advanced)
  • How easy is it to understand? (simple/complicated)

Update: Yes, I like this distinction better. I’m going to update the article to make this more clear.

A turing machine is simple & advanced, but is it easy to use/productive? Not for any sort of real computation, it’s more labour intensive than assembler! I think you need to clean up your model for that kind of case.

Thanks, that’s a good observation. A Turing machine is “simple” in the sense that every step is easily understood, but it hardly “simple to use” or expressive. I may have to replace it with a better example :slight_smile:

nitpick: the guy’s called “MacGyver”. :wink:

Ah, thanks for the correction – just fixed it :).

[…] We taught a course on beginner web app programming using AppJet. We had no idea whether high school students would be interested in this, and if they were, whether AppJet would be easy enough for them. Since the entire purpose of AppJet is to make programming web apps easier, we figured it we could get 8th-graders to write web apps, then we were doing a pretty good job. Side note: AppJet is not just for beginners. Easy does not imply limited in power. For instance, JavaScript is an easy programming language to learn, but it supports higher-order functions and lexical closures. […]

Try using the lambda calculus as an example instead of Turning machine.

Simplicity is best, you guessed
but really not sure
thoughts are impure
in your path theres a detour

As a math oriented person, you might be interested in the Akaike Information Criteria (AIC). It basically pits complexity and simplicity against each other when making choices, and finds a happy medium. It is used for selecting models when fitting data, but the thought can go a long way.

Your thoughts expand on a throw away discussion with one of my computer science teachers many years ago. It has always stayed with me and whenever I’m in the depths of analysis paralysis I go back to it for guidance:-

“Complex and complicated are not the same thing”

A long piece of straight wool is simple and not complicated.

Tangle that piece of wool up and it remains simple (a single entity), but is now complicated (entagled and not easy to discern what is going on).

Take that original piece of wool and chop it up into pieces. It is now complex (multi faceted) but not complicated (each piece is readily understandable).

Only once those multiple pieces of wool are tangled together do we get a complex and complicated system.

@Charmkite: Cool, I’ll have to check that out.

@Paul: Thanks for that awesome physical analogy, I like it!

[…] Combining Simplicity and Complexity | BetterExplained […]

[…] session handlers, etc. Yet, CodeIgniter weilds more power to most developers because it combines complexity with simplicity. That is, it combines automation with conventions that are intuitive and easy to understand. Not […]

simple, complicated, explanation, symplectic etc.
Sometimes etymologies are misleading, but they can be suggestive and illuminate root images.
Cf. protoeuropean ‘plek’ having to do with weaving, braiding, etc.
If the consensus of theoretical physicists is correct, the best understanding we have of the uni-/multiverse covers less than 5% with “dark matter” and “dark energy” making up the rest 95+%.
“Method” from the Greek meta+hodos comes from “along the way”. “Problema” from “(obstacle)thrown up in the way” (Tao). Clarity vs obscurity; distinction vs confusion (Descartes) vis-a-vis “theoria”, “to see as the gods see”.
Subscribe (free) to online “Complexity Digest”. Look at R. Onians, The Origins of European…REV. ed. Bruno Snell is also useful. Onians covers Chinese and Icelandic etc. Cf. Santa Fe Institute and
mezoscopic epigenetics. Dance of “happiness” involves complex steps. Enjoy!