<story><title>Rob Pike: Simplicity Is Complicated [video]</title><url>http://www.thedotpost.com/2015/11/rob-pike-simplicity-is-complicated</url></story><parent_chain></parent_chain><comment><author>knucklesandwich</author><text>I strongly disagree with this notion of &amp;quot;simplicity&amp;quot; as being attributable to scarcity of language features. Some of the languages that I felt were the easiest to use had quite a number of language features, but had simple &lt;i&gt;semantics&lt;/i&gt;. I think Rich Hickey nailed this in his &amp;quot;Simple Made Easy&amp;quot;[1] talk. Complexity is &lt;i&gt;not&lt;/i&gt; about additivity, it&amp;#x27;s about entanglement.&lt;p&gt;[1] &lt;a href=&quot;http:&amp;#x2F;&amp;#x2F;www.infoq.com&amp;#x2F;presentations&amp;#x2F;Simple-Made-Easy&quot; rel=&quot;nofollow&quot;&gt;http:&amp;#x2F;&amp;#x2F;www.infoq.com&amp;#x2F;presentations&amp;#x2F;Simple-Made-Easy&lt;/a&gt;</text></comment>
<story><title>Rob Pike: Simplicity Is Complicated [video]</title><url>http://www.thedotpost.com/2015/11/rob-pike-simplicity-is-complicated</url></story><parent_chain></parent_chain><comment><author>chubot</author><text>From reading the abstract, it sounds like this addresses precisely the topic of &amp;quot;Worse is Better&amp;quot; [1].&lt;p&gt;There are frequent misunderstandings of this essay -- the argument isn&amp;#x27;t as coarse as &amp;quot;crappy software wins&amp;quot;, or &amp;quot;release early and often&amp;quot;.&lt;p&gt;The tradeoff is: do you want a simple interface (MIT style) or a simple implementation (NJ style)?  If you want a simple interface, you have to hide a bunch of complexity underneath.  If you want a simple implementation, you punt on some hard things and expose it to the user.&lt;p&gt;Despite its authorship, and marketing as a better C (which is the epitome of NJ style), Go is MIT style!  The concurrency model hides a lot of stuff under the covers: sync vs async syscalls, segmented stacks, etc.  And GC is probably the ultimate MIT-style feature, in that the interface is very simple (just pretend you have infinite memory), but implementations are tremendously complex -- basically each GC is unique and its own research project.&lt;p&gt;[1] &lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;www.jwz.org&amp;#x2F;doc&amp;#x2F;worse-is-better.html&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;www.jwz.org&amp;#x2F;doc&amp;#x2F;worse-is-better.html&lt;/a&gt;&lt;p&gt;EDIT: From paging through the slides, this seems to be basically the gist of the last half, but I don&amp;#x27;t see that he mentioned &amp;quot;Worse is Better&amp;quot; or MIT vs NJ style...</text></comment>