Vinícius Krolow

Let's hurt the code!

Sun, Mar 6, 2016

Talk Why We use go at Apcera

Topic: go Learning Path: Why use go?

This talk from of @derekcollison, shows why they are using golang at apcera.

It caught my attention when he refers companies that are using golang, he mention one source:

Opening the github and doing a quickly count document.querySelectorAll('.markdown-body li'); it says about 348 companies using golang are listed in this wiki.

Some highlight for:

  • Digitalocean
  • Disqus
  • Facebook
  • Github
  • Google
  • IBM
  • Netflix
  • Pivotal
  • Rackspace
  • Shopify

Some of these companies I didn’t know that were using golang, it’s nice to see so different companies, using go for achieve their expected results.

… backing to the talk

Some of the reasons that he gave about why go are:

  • Simple language, easy to remember
  • Good standard library
  • Easy concurrency
  • Synchronous Programming Model (he compares that with node.js callbacks)
  • Good garbage collection
  • Really stacks

One point he emphasize and that I most like is that go is for get things done.

Why Go at Apcera?

In his opinion:

  • Best choice for distributed systems
    He says he is able to test all system by using Go routines, it’s not a kind of unit test, but more a functional test
  • It’s a good core language
    He says that is easy to hire talent people, even without a background experience, as it is an accessible language in few weeks people can be productive and know the language well.
  • Good standard library support
  • Tooling is amazing
    go vet, go fmt, go test -race, etc…

He mention what they do there and why go fit:

  • Message systems
  • Distributed Scheduling system
  • Orchestator
  • Policy Engine
  • Isolation - Secure Perimeter Networking
  • Semantically aware communications

He endup the talk asking: Why Go?

  • It is simple language
  • Pretty good ecosystem
  • It is getting better faster
Hey, have you find a typo or english smell? help me improve my english, i'll be glad to receive an improvement here.