Google I/O 2012 - Meet the Go Team
Google for Developers2 HN recommenders · recommended in 1 month, 2012-2022
108K views · 14 years ago · talk · evergreen
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.
59:26The Go Programming Language
Google TechTalks
406K views • 17 years ago
0:27Rob Pike about the target group of the Go programming language (golang)
f8C4G86p KbqEFe47
7K views • 6 years ago
48:19GopherCon 2014 Inside the Gophers Studio with Blake Mizerany
Confreaks
8K views • 12 years ago
51:12Google I/O 2011: Writing Web Apps in Go
Google for Developers
135K views • 15 years ago
56:36GopherCon 2014 Opening Keynote by Rob Pike
Confreaks
38K views • 12 years ago
1:05:56Lang NEXT 2014 Panel Systems Programming in 2014 and Beyond
25msr
3K views • 8 years ago
23:57GopherCon 2016: The Design of the Go Assembler - Rob Pike
Gopher Academy
116K views • 10 years ago
1:07:00Sydney Golang Meetup - Rob Pike - Go 2 Draft Specifications
Macquarie Group
57K views • 7 years ago
12:31OSCON 2010: Rob Pike, "Public Static Void"
O'Reilly
119K views • 16 years ago
1:02:49Hacking with Andrew and Brad: tip.golang.org
The Go Programming Language
99K views • 11 years ago
51:27Google I/O 2012 - Go Concurrency Patterns
Google for Developers
894K views • 14 years ago
1:29:49Going Native 2012 Keynote Stroustrup
savage309
33K views • 14 years ago
1:55:24Ideas about a new programming language for games.
Jonathan Blow
530K views • 12 years ago
48:46Rust's Journey to Async/Await
InfoQ
90K views • 7 years ago
38:19Origins of Go Concurrency style by Rob Pike
jasonofthel33t
28K views • 14 years ago
23:12dotGo 2015 - Rob Pike - Simplicity is Complicated
dotconferences
172K views • 10 years ago
55:08Rust: A Language for the Next 40 Years - Carol Nichols
ChariotSolutions
367K views • 7 years ago
59:48The Road to Zig 1.0 - Andrew Kelley
ChariotSolutions
168K views • 7 years ago
1:03:31Brian Goetz - Stewardship: the Sobering Parts
ClojureTV
39K views • 11 years ago
1:00:40Dmitry Vyukov — Go scheduler: Implementing language with lightweight concurrency
Hydra
47K views • 7 years ago
13 comments from Hacker News
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
Thanks for the link. Here's a video from 2012 starring him: ▶ this video Not an interview, but he sometimes says a sentence.
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
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 ;)
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.
If you watch the "Meet the Go team" talk from Google IO, they explicitly mention that almost nothing in Go is particularly new, and most of its ideas have been around for decades: ▶ this video What makes Go great is not the individual features, but the selection of the features and how well they work together, and also the "features" that were excluded from the language.
I'd particularly recommend "Meet the Go team". Some really interesting questions, and most importantly answers. In the video :) ▶ this video