Skip to content
0:00 / 0:00

#go#simplicity#robpike

dotGo 2015 - Rob Pike - Simplicity is Complicated

dotconferences

23K subscribers • 8 videos on Hallway

YouTube
  • Recommended by 9 people: 7 on Hacker News, 1 on Lobsters and 1 curated list.
  • A classic. People kept recommending it from 2016 to 2020.
  • Presented by Rob Pike, co-creator of Go
  • An opinion. It argues one side of a question engineers disagree on.

Intermediate. Assumes working knowledge.

172K views10 years ago9 recommendations

Programming languagesSoftware designGoLanguage design and type systemsSimplicity and complexity

Rob Pike explains how Go's apparent simplicity hides significant underlying complexity and discusses the design philosophy of language restraint.

Go is often described as a simple language. It is not, it just seems that way. Rob explains how Go's simplicity hides a great deal of complexity, and that both the simplicity and complexity are part of the design. Help us caption & translate this video! amara.org/v/H3o5/

Why it's here

9 people recommend this, 1 disputes it

What people say. Engineers frequently reference this talk to explain Go's design philosophy and the trade-offs of language simplicity.

Moments people linked to

inactive-useron Lobsters • Recommends

Rob Pike - Simplicity is Complicated

programming-talkscurated list on GitHubRecommends

Under “On Languages”

Simplicity is Complicated 00:23:11 by **Rob Pike** (2015)

musha68kon Hacker News • Recommends

On “Ask HN: Best (Tech) talks from 2015”

I hadn't been particularly enthusiastic about Go but in the end Rob Pike won me over - "Simplicity is Complicated": link to this video A powerful talk on Silicon Valley history by Kelsey Gilmore-Innis - "What Tech Workers Can Learn From Harry Bridges": link

donatjon Hacker News • Recommends

On “John Carmack on Inlined Code (2014)”

It's an active choice of the language to not allow many syntactic sugars that make the code have a much higher learning curve. link to this video is a good overview.

paulriddleon Hacker News • Recommends

On “Ask HN: Why is data simpler than syntax?”

…clarative data manipulation, Rules, Consistency. And to dig deeper, it makes sense to search for "why state is bad", "why inheritance is harmful", "avoid conditionals", etc., and read whatever you find interesting. Go has particularly simple syntax. Here's a talk by Rob Pike about simplicity, syntax, and language feature you might find interesting link to this video…

troytchellon Hacker News • Recommends

On “Iterative Optimization on Hot Paths in Go Apps”

…life so much simpler and better. I switched to Acme 1, turned off syntax highlighting on Gitub PR reviews with a userscript2, and my life is infinitely simpler. Rob Pike has been right on so many things and has made Go successful. I'm sure if a generational GC were better for Go, he would have built and used it, so you're obviously wrong. 0: link to this video 1: link 2: link…

zubspaceon Hacker News • Recommends

On “What's Coming in Python 3.8”

Recently the Go team decided not to add the try-keyword to the language. I'm not a Go programmer and was a bit stumped by the decision until I saw a talk of Rob Pike regarding the fundamental principle of Go to stick to simplicity first. 1 One of the takeaways is, that most languages and their features converge to a point, where each language contains all the features of the other languages. C++, Java and C# are primary examples. At the same time complexity increases. Go is different, because of the simplicity first rule. It easens the burden on the programmer and on the maintainer. I think python would definitely profit from such a mindset. 1 link to this video

hartzellon Hacker News • Recommends

On “Simple Systems Have Less Downtime”

> Go just hides the complexity from initial inspection. If you (parent, other readers) haven't seen it, Rob Pike's "Simplicity is complicated" is a good discussion of just this point. video: link to this video slides: link

yandrypozoon Hacker News • Recommends

On “New case studies about Google’s use of Go”

the key is simplicity, you're complaining about language features that allow you to write "fun" code, but remember that we spend around 80% of the time reading or debugging code, the main focus of Go is about writing code that's easy to read which will allow you to scale a project or source code with more people, also remember that easy doesn't mean simple, I think these 2 talks will make you understand my idea a little bit better: link to this video link

insanitybiton Hacker News • Disputes

On “New in Go 1.20: wrapping multiple errors”

It's not a mystery, Pike talks about it constantly. The mistake was designing around "simplicity" - a nebulous, unattainable goal. It's sort of like designing around "happiness" - who is to say what happiness is? Is happiness satisfaction? Ecstasy? Fulfillment? Does it require some sadness? How nebulous it is is really well demonstrated in Pike's talk0 where he somehow believes that a for loop is "simpler" than methods like "filter" and "map", and makes the very strange and incorrect claim that it's going to be faster as well. A lot of Go's design philosophy is, very bluntly, directed to bad programmers . For example, Pike talks about how a developer using a language with many features mig…

u/edo-lagin r/ProgrammingLanguages • Mentions

On “Talks by designers of popular languages?”

Simplicity is Complicated by Rob Pike (one of the creators of Go). I found it really interesting and inspiring.

SwellJoeon Hacker News • Mentions

On “Three Months of Go, from a Haskeller’s perspective (2016)”

I've been thinking a lot lately about why Go, a quite minimalist language by modern standards, has been so incredibly successful in such a short time. It's about a decade old, and is already among the top 5 languages for people starting new OSS projects (at least in my area, which is systems management). Green field development is being done in Go at a rate unprecedented for such a new language, I think. Node/JS might be precedent if we say that Node is a whole new thing, even though it uses JS as its syntax, using it as a server language is pretty new (ignoring Netscape's failed attempts at it in the 90s). I'm tempted to compare it to PHP, which exploded in popularity despite (unarguably, I…

spraakon Hacker News • Mentions

On “Turn On, Tune In, Drop by the Office”

> It feels like the sort of line that sounds pithy as long as you don't worry about accuracy. Exactly! And unrelated: I always think of Rob Pike when I hear the word pithy 0 :D 0 link to this video

helperon Hacker News • Mentions

On “Declined Proposal: A built-in Go error check function, “try””

> Unfortunately, the community that has sprung up around Go is more or less opposed to new language features on principle. I think this comes straight from the original go team. Rob Pike had a talk1 that is partly about why go doesn't keep adding features and why it doesn't have certain features that other languages have. I think people who like go have bought into the idea that the go team has made good trade-offs to make go code easier to read and maintain at the expense of expressibility. 1: link to this video

dmitshuron Hacker News • Mentions

On “Go is boring, and that’s fantastic”

> Ignoring 20-30 years of programming languge theory advancements. Yet everyone laps it up. I’d argue Go didn’t ignore those things, it just made a different set of trade-offs than most people are used to or expect from a modern programming language. The rationale for this is is well explained in link to this video .

gengstrandon Hacker News • Mentions

On “Show HN: We wrote a book about building business applications in Go”

link to this video “Go is software for the parts that we work on which is mostly infrastructure.” Generics is a good thing and I look forward to seeing the details in how Go will support it.