Live data from Hacker News

Rob Pike: Simplicity Is Complicated [video]

thedotpost.com

1–10 of 152 posts

Re: Rob Pike: Simplicity Is Complicated [video]

#7
I love the vector space analogy.

I have been thinking about the same thing: that the simplest languages have a minimal set of "orthogonal" features; though it never occurred to me to describe them in those terms.

But hey, it's Rob Pike. I was bound to walk away with something after listening to him talk :)

Re: Rob Pike: Simplicity Is Complicated [video]

#8
From reading the abstract, it sounds like this addresses precisely the topic of "Worse is Better" [1].

There are frequent misunderstandings of this essay -- the argument isn't as coarse as "crappy software wins", or "release early and often".

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.

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.

[1] https://www.jwz.org/doc/worse-is-better.html

EDIT: From paging through the slides, this seems to be basically the gist of the last half, but I don't see that he mentioned "Worse is Better" or MIT vs NJ style...

Re: Rob Pike: Simplicity Is Complicated [video]

#9
I'm trying to think how the simple/complex from this talk compare to the simple/complex from "Simple Made Easy".

The part about how features should be orthogonal does seem similar to the "not entangled" (and to DRY / SRP).

The part about visible surface area -- garbage collection is "simple" because you can't explicitly talk to it -- seems to be a closer match for "easy" tho, as do the examples (smell test: anything with "and" in the name probably means there are entangled concepts).

...huh. Which means that his concept of "simple" does in fact contain multiple things entangled together, or in other words is complicated. ;-)

Re: Rob Pike: Simplicity Is Complicated [video]

#10
I strongly disagree with this notion of "simplicity" 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 semantics. I think Rich Hickey nailed this in his "Simple Made Easy"[1] talk. Complexity is not about additivity, it's about entanglement.

[1] http://www.infoq.com/presentations/Simple-Made-Easy

Post reply on HN