Go

What is it?

  • Citation about junior engineers at Google
  • Bullet Two
  • Bullet Three

Plus

  • Clean, small language spec
  • Relatively performant
  • Strong concurrency primitives built in
  • GC (now fairly mature)
  • Single "statically" compiled binary
  • Simple cross platform compilation
  • Implicitly implemented interfaces
  • Strong focus on backwards compatibility and stability
  • Quick compile times
  • Good serialisation support for data
  • Nice tooling for benchmarking and profiling built in

Minuses

  • Basic type system
  • Immutability case is weak
  • Simple language => primitive?
  • https://github.com/ksimka/go-is-not-good
  • Conservative language evolution

Projects and companies

  • Docker
  • Kubernetes
  • CoreOS
  • Influx
  • Hashicorp
  • Google
  • Uber
  • Facebook
  • ...

Learning resources

  • Book(s)
    • http://www.gopl.io/
  • https://tour.golang.org/
  • Language spec
  • Review comments
  • Go time
  • Conference talks
    • https://github.com/golang/go/wiki/Conferences
  • excersism.io
  • Newsletter
    • Golang weekly
  • Code ...

Go

By Tobias Gustafsson