

The Go Programming Language turns two - enneff
http://blog.golang.org/2011/11/go-programming-language-turns-two.html

======
joelthelion
I've been using Go for the AI challenge, and it's been an awesome experience.
I feel like I'm programming in Python (well, almost), but then I head to the
forums and I see all these Python programmers discussing how to tweak their
programs so that they don't time out. Mine runs in a few milliseconds with no
particular effort.

Thanks, Go!

------
melling
Two is very young for a language. Scala is 8 years old and starting to gain a
larger following. Having said that, does anyone on HN have a good story about
using Go in production? Scala can be snuck in with Java. Go is going to be a
little more difficult to get in the back door.

~~~
krasin
>does anyone on HN have a good story about using Go in production?

<http://tinkercad.com> <http://techcrunch.com/2011/11/08/tinkercad-
raises-1-million/> (HN user kaib can say more)

~~~
kaib
Krasin is right, most of the stuff on tinkercad.com is written in Go. There
are a few inner loops that use C++ to get better SSE optimizations.

------
bcowcher
I've always wondered if Google would look at the possibility of making Go a
supported language to use with Android.

~~~
markokocic
Google support for Go in their products seems half-hearted at most. Seems like
only a few engineers in core Go team are working on it.

AppEngine doesn't support Go (no, without windows Go SDK it is not supported).

Android doesn't support native full featured Go apps, although in theory it
seems like a perfect match.

Given that lack of support, I'm not even sure it is as widely used inside
Google, or the story about inside usage is just a marketing.

~~~
stephenmw
I would have to disagree. They seem to be putting a lot of support behind it.

"AppEngine doesn't support Go" Go itself is still pretty experimental. Changes
are still made and with preparation for Go 1 they are making many backwards
incompatible changes. They plan to remove the experimental tag on AppEngine
the same time Go 1 is released. Until go itself becomes stable, they can
hardly call the AppEngine version stable.

"no, without windows Go SDK it is not supported" Considering that the compiler
they use for go (gc) is not supported on windows, that is not much of a
surprise.

"Android doesn't support native full featured Go apps, although in theory it
seems like a perfect match." This does not seem like a very good match at all.
First, android GUI is programmed in java, it makes very little sense to try
and make some sort of bridge between go and the java gui. Also, go at this
stage is much better for servers than client facing applications. You know
what would be an awesome fit? Go on AppEngine...

"Given that lack of support, I'm not even sure it is as widely used inside
Google, or the story about inside usage is just a marketing." So far you have
given evidence that Go is not being supported for people who use Windows and
for programming phones. That means Google does not use it in house? The fact
that AppEngine supports Go is an indication of the opposite. They probably
wanted Go on AppEngine so they could use it themselves.

~~~
markokocic
I know that Go support for appengine is marked as experimental, but being
linux/mac only for half a year, without any roadmap for window support is
exactly what I call half hearted.

And full windows support for Go wouldn't be that hard. Many open source
projects have windows support thanks to mingw/msys. Having Go and Go appengine
fully supported on Windows wouldn't take more than 1 full time engineer. If
that is too much to ask for Google, than Go is not even half-hearted
supported.

For android, I know that it would be a bad choice to bridge it to Java UI
framework. I was thinking of having native Go SDK for Android that will have
its own UI and other API, which doesn't have to be similar to Java. Gooogle
has already separate appengine SDKs for Python, Java and Go. I know that it
would be a lot of work to do the same for Android, but that will at least show
that Google is really pushing behind Go.

~~~
enneff
Let me correct some mistakes:

\- Go (gc) runs on Windows just fine. Go under Windows is now well-supported.
We'll do a better job of communicating this once we (the Go team) are able to
provide Google-built Windows binaries (currently they're provided by the
community). This will come with Go 1 early next year.

\- Go for App Engine is near feature parity with the Java and Python runtimes.
It will come out of experimental early next year.

\- The Go App Engine SDK will be available for Windows early next year.

I'm a bit insulted that you call our (very strenuous) efforts half-hearted,
but I guess you can't please everyone.

------
dlsspy
Wow, my memcached server in go is going to be two years old tomorrow. :)

~~~
luriel
Fun fact: Brad Fitzpatrick, author of the original (in C) memcached is now
part of the core Go team at Google.

One thing he did was write this memcached client lib that is used for Go on
AppEngine: <https://github.com/bradfitz/gomemcache>

But I'm not sure a new memcached server in Go is coming, I think he is more
interested in his 'copious' spare time to hack on Camlistore:
<http://camlistore.org> which is a really cool but a bit hard to describe
project with lots of Go code.

------
vjeux
I've mistakenly understood the title: I though the language was being forked
into two different ones ... Am I the only one?

~~~
LeafStorm
You're probably not the only one, but "turns N" is a common idiom in English
for "becomes N years old."

