A conversation with the Go team
6 Jun 2013

* Introduction

At Google I/O 2013, several members of the Go team hosted a "Fireside chat."
Robert Griesemer, Rob Pike, David Symonds, Andrew Gerrand, Ian Lance Taylor,
Sameer Ajmani, Brad Fitzpatrick, and Nigel Tao took questions from the audience
and people around the world about various aspects of the Go project.

.iframe //www.youtube.com/embed/p9VUCp98ay4 309 549

We also hosted a similar session at I/O last year:
[[http://www.youtube.com/watch?v=sln-gJaURzk][_Meet_the_Go_team_]].

There were many more questions from Google Moderator than we were able to
answer in the short 40 minute session.
Here we answer some of those we missed in the live session.

_Linking_speed_(and_memory_usage)_for_the_gc_toolchain_are_a_known_problem._
_Are_there_any_plans_to_address_this_during_the_1.2_cycle?_

*Rob:* Yes. We are always thinking about ways to improve performance of the
tools as well as the language and libraries.

_I_have_been_very_pleased_to_see_how_quickly_Go_appears_to_be_gaining_traction._
_Can_you_talk_about_the_reactions_you_have_experienced_working_with_other_
_developers_inside_and_outside_Google?_Are_there_any_major_sticking_points_remaining?_

*Robert:* A lot of developers that seriously tried Go are very happy with it.
Many of them report a much smaller, more readable and thus maintainable code
base: A 50% code size reduction or more when coming from C++ seems common.
Developers that switched to Go from Python are invariably pleased with the
performance gain. The typical complaints are about small inconsistencies in the
language (some of which we might iron out at some point). What surprises me is
that almost nobody complains about the lack of generics.

_When_will_Go_be_a_first-class_language_for_Android_development?_

*Andrew:* This would be great, but we don't have anything to announce.

_Is_there_a_roadmap_for_the_next_version_of_Go?_

*Andrew:* We have no feature roadmap as such. The contributors tend to work on
what interests them. Active areas of development include the gc and gccgo
compilers, the garbage collector and runtime, and many others. We expect the
majority of exciting new additions will be in the form of improvements to our
tools. You can find design discussions and code reviews on the
[[http://groups.google.com/group/golang-dev][golang-dev mailing list]].

As for the timeline, we do have
[[https://docs.google.com/document/d/106hMEZj58L9nq9N9p7Zll_WKfo-oyZHFyI6MttuZmBU/edit?usp=sharing][concrete plans]]:
we expect to release Go 1.2 on December 1, 2013.

_Where_do_you_guys_want_to_see_Go_used_externally?_
_What_would_you_consider_a_big_win_for_Go_adoption_outside_Google?_
_Where_do_you_think_Go_has_the_potential_to_make_a_significant_impact?_

*Rob:* Where Go is deployed is up to its users, not to us. We're happy to see
it gain traction anywhere it helps. It was designed with server-side software
in mind, and is showing promise there, but has also shown strengths in many
other areas and the story is really just beginning. There are many surprises to
come.

*Ian:* It’s easier for startups to use Go, because they don’t have an
entrenched code base that they need to work with. So I see two future big wins
for Go. One would be a significant use of Go by an existing large software
company other than Google. Another would be a significant IPO or acquisition
of a startup that primarily uses Go. These are both indirect: clearly choice
of programming language is a very small factor in the success of a company.
But it would be another way to show that Go can be part of a successful
software system.

_Have_you_thought_any_(more)_about_the_potential_of_dynamically_loading_
_Go_packages_or_objects_and_how_it_could_work_in_Go?_
_I_think_this_could_enable_some_really_interesting_and_expressive_constructs,_
_especially_coupled_with_interfaces._

*Rob:* This is an active topic of discussion. We appreciate how powerful the
concept can be and hope we can find a way to implement it before too long.
There are serious challenges in the design approach to take and the need to
make it work portably.

_There_was_a_discussion_a_while_ago_about_collecting_some_best-of-breed_
`database/sql` _drivers_in_a_more_central_place._
_Some_people_had_strong_opinions_to_the_contrary_though._
_Where_is_ `database/sql` _and_its_drivers_going_in_the_next_year?_

*Brad:* While we could create an official subrepo (“go.db”) for database
drivers, we fear that would unduly bless certain drivers. At this point we’d
still rather see healthy competition between different drivers. The
[[https://golang.org/wiki/SQLDrivers][SQLDrivers wiki page]]
lists some good ones.

The `database/sql` package didn’t get much attention for a while, due to lack of
drivers. Now that drivers exist, usage of the package is increasing and
correctness and performance bugs are now being reported (and fixed). Fixes will
continue, but no major changes to the interface of `database/sql` are planned.
 There might be small extensions here and there as needed for performance or to
assist some drivers.

_What_is_the_status_of_versioning?_
_Is_importing_some_code_from_github_a_best_practice_recommended_by_the_Go_team?_
_What_happens_when_we_publish_our_code_that_is_dependent_on_a_github_repo_and_
_the_API_of_the_dependee_changes?_

*Ian:* This is frequently discussed on the mailing list. What we do internally
is take a snapshot of the imported code, and update that snapshot from time to
time. That way, our code base won't break unexpectedly if the API changes.
But we understand that that approach doesn’t work very well for people who are
themselves providing a library. We’re open to good suggestions in this area.
Remember that this is an aspect of the tools that surround the language rather
than the language itself; the place to fix this is in the tools, not the
language.

_What_about_Go_and_Graphical_User_Interfaces?_

*Rob:* This is a subject close to my heart. Newsqueak, a very early precursor
language, was designed specifically for writing graphics programs (that's what
we used to call apps). The landscape has changed a lot but I think Go's
concurrency model has much to offer in the field of interactive graphics.

*Andrew:* There are many
[[https://golang.org/wiki/Projects#Graphics_and_Audio][bindings for existing graphics libraries]]
out there, and a few Go-specific projects. One of the more promising ones is
[[https://github.com/skelterjohn/go.uik][go.uik]], but it's still in its early
days. I think there's a lot of potential for a great Go-specific UI toolkit for
writing native applications (consider handling user events by receiving from a
channel), but developing a production-quality package is a significant
undertaking. I have no doubt one will come in time.

In the meantime, the web is the most broadly available platform for user
interfaces. Go provides great support for building web apps, albeit only on the
back end.

_In_the_mailing_lists_Adam_Langley_has_stated_that_the_TLS_code_has_not_been_
_reviewed_by_outside_groups,_and_thus_should_not_be_used_in_production._
_Are_there_plans_to_have_the_code_reviewed?_
_A_good_secure_implementation_of_concurrent_TLS_would_be_very_nice._

*Adam*: Cryptography is notoriously easy to botch in subtle and surprising ways
and I’m only human. I don’t feel that I can warrant that Go’s TLS code is
flawless and I wouldn’t want to misrepresent it.

There are a couple of places where the code is known to have side-channel
issues: the RSA code is blinded but not constant time, elliptic curves other
than P-224 are not constant time and the Lucky13 attack might work. I hope to
address the latter two in the Go 1.2 timeframe with a constant-time P-256
implementation and AES-GCM.

Nobody has stepped forward to do a review of the TLS stack however and I’ve not
investigated whether we could get Matasano or the like to do it. That depends
on whether Google wishes to fund it.

_What_do_you_think_about_ [[http://www.gophercon.com/][_GopherCon_2014_]]_?_
_Does_anyone_from_the_team_plan_to_attend?_

*Andrew:* It's very exciting. I'm sure some of us will be there.
