Google I/O 2012 - Meet the Go Team
Google for Developers2 HN recommenders · recommended in 1 month, 2012–2022
talk · intermediate · evergreen · 2012–2022 on HN
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.
Up next
3 mo on HNOSCON 2010: Rob Pike, "Public Static Void"
O'Reilly
3 HN recommender · 2012–2023
3 mo on HNLecture 1 | Programming Paradigms (Stanford)
Stanford
3 HN recommender · 2011–2024
11 mo on HNCppCon 2015: Andrei Alexandrescu “std::allocator...”
CppCon
7 HN recommender · 2017–2025
12 mo on HNLexical Scanning in Go - Rob Pike
GoogleFOSSSydney
13 HN recommender · 2012–2025
10 mo on HNCppCon 2017: Matt Kulukundis “Designing a Fast, Efficient, Cache-friendly Hash Table, Step by Step”
CppCon
9 HN recommender · 2018–2026
9 mo on HNRustConf 2018 - Closing Keynote - Using Rust For Game Development by Catherine West
Rust Programming Language
9 HN recommender · 2018–2023
10 mo on HNCppCon 2016: Jason Turner “Rich Code for Tiny Computers: A Simple Commodore 64 Game in C++17”
CppCon
13 HN recommender · 2016–2024
9 mo on HNIdeas about a new programming language for games.
Jonathan Blow
7 HN recommender · 2014–2025
9 mo on HNCppCon 2014: Mike Acton "Data-Oriented Design and C++"
CppCon
9 HN recommender · 2015–2026
9 mo on HNHow I program C
Eskil Steenberg
8 HN recommender · 2017–2025
9 mo on HNGoogle I/O 2012 - Go Concurrency Patterns
Google for Developers
9 HN recommender · 2012–2025
7 mo on HNCppCon 2015: Kate Gregory “Stop Teaching C"
CppCon
7 HN recommender · 2016–2025
12 comments from Hacker News
I'd particularly recommend "Meet the Go team". Some really interesting questions, and most importantly answers. In the video :) ▶ this video
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.
The complexity of C++0x is one reason Go was created. "For me, the reason I was enthusiastic about Go was just about the same time we were starting on Go, I read (or tried to read) the C++0x proposed standard. And that was the convincer for me." - Ken Thompson 17:45 mark here: ▶ this video
C++0x is one of the reasons Go was created. C++ was getting far too complex: "For me, the reason I was enthusiastic about Go was just about the same time we were starting on Go, I read (or tried to read) the C++0x proposed standard. And that was the convincer for me." - Ken Thompson 17:45 mark here: ▶ this video
"About the same time we were starting to work on Go, I read, or tried to read, the C++0x proposed standard and that was convincing to me." -- Ken Thompson Source -- ▶ this video
"About the same time we were starting to work on Go, I read, or tried to read, the C++0x proposed standard and that was convincing to me." -- Ken Thompson Source -- ▶ this video
> 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
That suggests you don't understand what tabs are. Tabs are a single char, not x number of spaces. You can set your text editor to display tabs as any number of spaces you want, I set mine to two. See: ▶ this video
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
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
Thanks for the link. Here's a video from 2012 starring him: ▶ this video Not an interview, but he sometimes says a sentence.
AFAIK, yes it is still the case (although somewhat slightly improved), but precise collector is officially expected (and being worked on) for version 1.1 . The latter was explicitly said on a Q&A session on Google I/O conference, the video is available somewhere on teh interwebs. edit: I think it's this one: ▶ this video ("Meet the Go team"), but maybe some other from: link (sorry, don't have time to watch them all again now to make sure ;)