{"id":445,"date":"2010-11-17T06:30:27","date_gmt":"2010-11-17T14:30:27","guid":{"rendered":"http:\/\/www.airs.com\/blog\/?p=445"},"modified":"2010-11-17T06:30:28","modified_gmt":"2010-11-17T14:30:28","slug":"complexity-2","status":"publish","type":"post","link":"https:\/\/www.airs.com\/blog\/archives\/445","title":{"rendered":"Complexity"},"content":{"rendered":"<p>I&#8217;ve noticed that I have a bias toward complexity.  I tend to try to look at problems from all the angles I can think of.  Most problems are complex from at least some points of view; otherwise, they would not be problems at all.  Looking at problems from all angles encourages a focus on their complex aspects rather than their simple ones.<\/p>\n<p>I do profoundly believe H.L. Mencken&#8217;s classic quote: &#8220;For every complex problem, there is a solution that is simple, neat, and wrong.&#8221;  For any problem, it&#8217;s very tempting to shear away the complexity and push forward with a solution that solves the simpler part.  Unfortunately solving the simpler part of the problem tends to make the complex part both worse and harder to solve later.<\/p>\n<p>This is a common problem in programming.  I think it is the primary reason that programs become harder to maintain over time.  It is very hard to keep a focus on solving complex problems rather than ignoring the complexity in order to solve a simpler problem.  This is also a common problem in politics, and I&#8217;m sure we can all find our favorite examples there.<\/p>\n<p>At the same time, I&#8217;ve come to realize that focusing too much on complexity is a different and more subtle trap.  It encourages you to focus on the specific issues rather than the general ones.  Sometimes a complex problem can be solved by solving a different, larger, problem.  Sometimes you need to take a step back.  The trick is to not ignore the complexity, but to be open to the possibility that it simple doesn&#8217;t matter.<\/p>\n<p>When I was younger, I always felt that Alexander cheated when he simply cut the Gordian Knot.  He didn&#8217;t actually solve the problem, and indeed I think the analogy is often used poorly, to suggest that it&#8217;s somehow smarter to not solve the problem.  However, I&#8217;ve slowly come to realize that there is a good use of the analogy.  I don&#8217;t know whether Alexander&#8217;s solution was a good one; he didn&#8217;t live long enough to prove it one way or another.  But there are times when that is the right approach.<\/p>\n<p>I apologize for the abstract nature of this post.  I&#8217;ve been thinking of this in the context of working on Go.  I think that working on the project has helped me a lot in terms of looking for the larger simplicity without ignoring the real complexity.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I&#8217;ve noticed that I have a bias toward complexity. I tend to try to look at problems from all the angles I can think of. Most problems are complex from at least some points of view; otherwise, they would not be problems at all. Looking at problems from all angles encourages a focus on their [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-445","post","type-post","status-publish","format-standard","hentry","category-random"],"_links":{"self":[{"href":"https:\/\/www.airs.com\/blog\/wp-json\/wp\/v2\/posts\/445","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.airs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.airs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.airs.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.airs.com\/blog\/wp-json\/wp\/v2\/comments?post=445"}],"version-history":[{"count":1,"href":"https:\/\/www.airs.com\/blog\/wp-json\/wp\/v2\/posts\/445\/revisions"}],"predecessor-version":[{"id":446,"href":"https:\/\/www.airs.com\/blog\/wp-json\/wp\/v2\/posts\/445\/revisions\/446"}],"wp:attachment":[{"href":"https:\/\/www.airs.com\/blog\/wp-json\/wp\/v2\/media?parent=445"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.airs.com\/blog\/wp-json\/wp\/v2\/categories?post=445"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.airs.com\/blog\/wp-json\/wp\/v2\/tags?post=445"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}