- See golang.org for language documentation
- W/in a factor of 2 slower than C/C++. Generally w/in 20% speed of c/c++ programs
- Intrinsically safe
- This talk has been presented before, so the slides may be online. see google io 2010 archive
- check out article in Register about Go that quotes Odersky: “I like a lot of the design decisions they made in the language … Basically, I like all of them.”
- built on 4 self-reinforcing principles: simple, ortho, succinct, safe
- see axiom of choice in type theory
- public/private hint in variable name is one of the best things about the language
- see CSP tradition
- uses a deterministic model, channels, for concurrency
- the “go” keyword launches a go routine
- “for { … ” declares an infinite loop
- expressiveness comes from orthogonal composition of constructs
- Go conceived while waiting for 45 min gcc compilation
- Go app engine sdk is a complete installation vs building from source
Questions
How is the language intrinsically safe?
- no stack overflows
Interoperability?
- native swig support for C/C++ progs
- no java interop
Exceptions?
- no try/catch
- uses panic/recover
- function-level, not statement-level
Channel implementation?
- not like erlang channels
- passing channel over netchan is coming
Generics?
- Core team has members that believe generics must and must-not be included
Upgrading?
- gofix rewrites code
- gofont pretty-prints/formats code
Inspirations?
- Oberon
- New Squeek
- Didn’t cherry-pick features to build an ideal language, but they did include elements that helped them be productive