GopherCon 2014 Inside the Gophers Studio with Blake Mizerany
ConfreaksCited 4× on HN, 2014-2016
8K views · 12 years ago · talk · dated
A GopherCon 2014 session where Blake Mizerany replaced his planned talk with a panel discussion with members of the Go team. It covers Go's design choices and community questions.
HN commenters cite it as a source for what Go team members said about language regrets and Go's adoption.
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
0:27Rob Pike about the target group of the Go programming language (golang)
f8C4G86p KbqEFe47
7K views • 6 years ago
1:00:29Google I/O 2012 - Meet the Go Team
Google for Developers
108K views • 14 years ago
59:26The Go Programming Language
Google TechTalks
406K views • 17 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
54:55Dconf 2014 Day 2 Keynote: The Last Thing D Needs -- Scott Meyers
The D Language Foundation
19K views • 8 years ago
1:02:49Hacking with Andrew and Brad: tip.golang.org
The Go Programming Language
99K views • 11 years ago
38:19Origins of Go Concurrency style by Rob Pike
jasonofthel33t
28K views • 14 years ago
1:55:24Ideas about a new programming language for games.
Jonathan Blow
530K views • 12 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
48:46Rust's Journey to Async/Await
InfoQ
90K views • 7 years ago
1:29:49Going Native 2012 Keynote Stroustrup
savage309
33K views • 14 years ago
22:29Gopherfest 2015 | Go Proverbs with Rob Pike
The Go Programming Language
317K views • 10 years ago
51:12Google I/O 2011: Writing Web Apps in Go
Google for Developers
135K views • 15 years ago
1:03:31Brian Goetz - Stewardship: the Sobering Parts
ClojureTV
39K views • 11 years ago
59:48The Road to Zig 1.0 - Andrew Kelley
ChariotSolutions
168K views • 7 years ago
4 comments from Hacker News
This is a frustrating and overly-exasperated post which reaches conclusions that have always been part of the Go canon. APIs should be designed synchronously, and the callers should orchestrate concurrency if they choose -- yes! Channels are useful in some circumstances, but if you just want to synchronize access to shared memory (like the author's example) then you should just use a mutex -- yes! These are well understood truths. Novices to the language have a tendency to overuse channels. Here is Andrew Gerrand addressing precisely this point two years ago at GopherCon: ▶ this video Neither the referenced performance characteristics via Tyler Treat, nor the FUD surrounding channel-based program architecture, invalidate channels generally. One does have to think carefully about ownership hierarchies: only one goroutine gets to close the channel. And if it's in a hot loop, a channel will always perform worse than a mutex: channels use mutexes internally. But plenty of problems are solved very elegantly with channel-based CSP-style message passing. It's unfortunate that articles like this are written and gain traction. The explicit instruction to [new] Go programmers is that they should avoid channels, even that they are badly implemented, and both of those things are false.
Rob Pike mentioned variable declaration when asked at GopherCon what he wished he hadn't done in Go ▶ this video
One of the Go developers did say that Go has a big following in China in GopherCon 2014, thanks to Windows. ▶ this video
I would definitely prefer jmpeax's answer. Although, there was a question/discussion similar to this here: ▶ this video The gist was that, if the interface and the structs that are supposed to satisfy that interface belong to the same package, and then you want to prevent any outsider from implementing that interface, you can actually include an unexported method: type HtmlStringer interface { ToString() string isHtmlStringer() } Since it is unexported, no outsider struct can actually satisfy this interface anymore.