
Google for Developers
2 HN recommenders · recommended in 8 months, 2012–2022
1:00:29 · 108K views · Jul 2, 2012
A fireside Q&A with the Go team (Pike, Thompson, Griesemer and others) at Google I/O 2012. They answer audience questions about Go's design, goals, garbage collection plans and future.
HN people cite it for candid answers straight from Go's creators, including Ken Thompson on how the complexity of C++0x motivated Go.
13 comments from Hacker News
That was actually one of the questions asked during the "Meet the Go team" talk at Google I/O. They joke around for a bit, but they end up giving some solid arguments. this video Edit: If you're curious/interested in Go, it's worth watching the whole talk.
I'd particularly recommend "Meet the Go team". Some really interesting questions, and most importantly answers. In the video :) this video
The following features make Go as the "go-to" language for me: 1.Coroutines, Channels and Select: Concurrency with built in synchronization and communication is accessible(especially if your are new to concurrent programming) enough to handle "most" of the grunt work. 2.gofmt: Formats your code for you. No more debates(procrastination) on that. 3.godoc: Generates documents. No more looking for the best 3rd party tool and wasting time. 4. Defer and Close: Helps you to do better post-operation tasks i.e better resource management. 5. Error Handling: Multivalue returns. 6. Type Hierarchy: No type hierarchy exists in the conventional sense. 7. Slices & Maps: Just two of them, and that's why I love it. 8. Brevity and Readability: Clutter free syntax. WYSISWYG language. 9. Philosophy of Exclusiveness: This is most important non-feature which makes Go different and exciting. Go's vision is to be an exclusive programming paradigm rather than being an inclusive one. In this Google I/O video: this video , Robert Griesemer speaks about an incident that how in a "D" programming conference, the developers intended to include a new programming paradigm in the future. This is what sold it for me as I care more about how the language will grow instead of what new cool features will come in. Performance is a contentious issue. In an ideal world, performance would just depend on the platform and the language, but in reality it also depends on the skill and idiosyncrasies of the programmer. For me
The "Talks and Videos" page ( [LINK] ) is outdated as well. Here's my personal list: Why Learn Go? [LINK] Short interview with Rob Pike, OSCON 2012 Get Started with Go [LINK] Andrew Gerrand A Tour of Go [LINK] Russ Cox Go Concurrency Patterns [LINK] Rob Pike, Google I/O 2012 Goroutines, Channels Meet the Go Team this video Panel (Pike, Thompson, Griesemer, Gerrand, Fitzpatrick, Simons), Google I/O 2012 Computing Map Tiles with Go on App Engine [LINK] Chris Broadfoot, Andrew Gerrand, Google I/O 2012 Go in Production [LINK] Gustavo Niemeyer, Google I/O 2012 Go: Code that grows with grace [LINK] (Contains some audio glitches) Andrew Gerrand Interview with Rob Pike [LINK] Rob Pike, GOTO Conference Lexical Scanning in Go [LINK] Rob Pike Cuddle, A Go AppEngine Demo [LINK] Andrew Gerrand Building Integrated Apps on Google's Cloud Platform [LINK] Andrew Gerrand, Google Developer Day Japan 2011 Real World Go [LINK] Andrew Gerrand, I/O BootCamp 2011 Go: it's that simple?! [LINK] Andrew Gerrand, OSDC 2011 Practical Go Programming [LINK] Andrew Gerrand, FOSDEM 2011 Writing Web Apps in Go [LINK] Andrew Gerrand, Rob Pike, Google I/O 2011 Go Programming [LINK] Rob Pike, Google I/O 2010 Another Go at Language Design [LINK] Rob Pike, Stanford University Public Static Void [LINK] Rob Pike, OSCON 2010 The Go Programming Language [LINK] Rob Pike, Google Tech Talk
> No generic support (What language designer in 2014 builds > something that idiomatically requires casting to the top > type? That was precisely a huge problem for Java Even a seasoned Haskell programmer like Erik Meijer has a more nuanced view on the topic than you: [LINK] > you can't extend important built-ins like range or make() This was a deliberate design decision. When the Go team was asked about what they like about Go one answer was: "It's very simple to understand, and the code that I read on the page is the code that is executed. When I iterate over a slice, there's not some chance that there's an iterator implementation that fetches a file from a web server in Romania and serves me some JSON or something. Instead, the language is very deliberately simple and contained so that it's very easy to reason about code that you're reading." this video