Interesting bit of opinion there. Would be cool to hash out those points a roundtable format. Maybe it's a discussion topic, which could follow some kind of structured "idiomatic Go error handling" presentation by.. someone?
A comparative approach could illustrate the relation between exceptions and error handling. I guess that most people are familiar with try/catch or error codes as return value. Design by contract or asynchronous exceptions are not that widespread and would probably help in understanding, that try/catch is only one way to handle errors and that Go is not the only language, that tries to solve this problem in a different way.
I'd love to hear from someone who has used both. (Unfortunately that guy is not me.) The Rust folks have made such a Go vs. Rust comparison (from their POV, obviously) at . They classify a lot of Go features/constraints as "unsatisfactory" -- I agree with them on null (nil) pointers, the rest not so much...
Rust sports some features I sometimes miss in Go, especially pattern matching and single assignment variables but when I checked the sources of the compiler I got a grande WTF. A thing I expect from a language as old and ambitious as Rust: participation in the The Computer Language Benchmarks Game. I hope that we find someone who already did some coding in Rust but I guess a comparison of Go to X10, Chapel or Fortress would be more interesting ;)