The topic of complex vs. complicated came up a lot at my last job (EarthLink). I was often subjected to long tirades by engineers claiming their application frameworks were complex, making them powerful. Looking at the code, seeing what the framework was doing, it was easy to realize that the frameworks weren’t complex…they were complicated. Twisty labyrinths of code that would leave you dizzy.
I was happy to see Jon Eaves post about complex vs. complicated, but I especially liked something I found in one of the comments:
the very definition of complexity is the emergent behaviour of simple pieces in interaction
Good times.