

Go videos from Google I/O 2012 - enneff
http://blog.golang.org/2012/07/go-videos-from-google-io-2012.html

======
DocSavage
Rob Pike recently wrote a great blog entry describing the zen of Go and how it
compares to a few other languages, particularly C/C++:

[http://commandcenter.blogspot.com/2012/06/less-is-
exponentia...](http://commandcenter.blogspot.com/2012/06/less-is-
exponentially-more.html)

~~~
kristianp
Here's the YC thread on that. <http://news.ycombinator.com/item?id=4158865>

------
vibrunazo
I'd particularly recommend "Meet the Go team". Some really interesting
questions, and most importantly answers. In the video :)

<http://www.youtube.com/watch?v=sln-gJaURzk>

~~~
frou_dh
I liked the sense that Go 1.0 was a genuinely meaningful milestone, and
feature talk is taking a back seat to actually using it in anger for a while.

~~~
zura
If it only had generics... that would make it a really viable option.

~~~
luriel
Have you actually built any real projects in Go? Because pretty much everyone
I know who has tried (and who has learned enough Go to write minimally
idiomatic code) has found this to be a non-issue.

Not all languages are the same, and not every "feature" makes as much sense in
every language.

~~~
zura
Before using it in a real project, it is obvious to do some research, isn't
it? So some questions and concerns arise, naturally. Regarding generics, I
really don't like what Go offers instead [1].

By the way, creators themselves haven't eliminated the chance of adding
generics in later versions of the language [2].

Also, I don't understand why not have destructors (deterministic, not the
finalizer...) in many cases where currently `defer` is used.

I also don't like the trick you have to do for checking the interface
integrity [3].

All in all, I have a sympathy for Go, lets see what will happen in 2.0.

[1] [http://stackoverflow.com/questions/6255720/making-generic-
al...](http://stackoverflow.com/questions/6255720/making-generic-algorithms-
in-go/9651473#9651473)

[2] <http://golang.org/doc/go_faq.html#generics>

[3] <http://golang.org/src/pkg/encoding/json/stream.go#L187>

------
gypsyface
No Generics! Why on earth would you write code in this language? Enjoy re-
writing your tree and unordered-set containers for every different datatype
you wish to use.

(And dont tell me using interface{} is an alternative because you lose type
safety and speed.)

~~~
jongraehl
Performance is a legitimate complaint [1]. To be fair, Java generics suffer
the same problem.

[1]
[http://shootout.alioth.debian.org/u32q/benchmark.php?test=al...](http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=go&lang2=java)
\- much slower than Java (memory figures may not mean much except that Java
was tuned to use a large heap for better performance)

~~~
Scaevolus
64-bit benchmarks are more fair, since Go's 32-bit x86 target hasn't received
much attention (it's irrelevant to most users).

[http://shootout.alioth.debian.org/u64q/benchmark.php?test=al...](http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=go&lang2=java)

Most of the performance difference is because Go's GC isn't very good, which
is something that they're working on.

------
drivebyacct2
I would have loved to have scene what Rob would have said in the next hour. I
feel like every time I see a talk or slides about Go, I get giddy that I might
get to see more patterns or more "good ways to use channels effectively". I
enjoy Go but I still find myself writing things several times with channels
before it's as clean an readable as I like.

~~~
stcredzero
Sounds like you have enough experience now to write some really good blog
posts about it!

~~~
georgemcbay
"Here is how to write a monad using Go channels".

