I have been working for a couple of months with golang and decided to create a post about my experience.

My background: I am experienced with Java, and I have the habit of crating ruby and scala scripts to help me automatize tasks.

My considerations:

  • Golang is not object oriented.
  • Golang has pointers
  • Golang has functional capabilities
  • Golang does not directly provide means for inheritance (not OO), you should use composition
  • Golang is maintained by google =)
  • Golang is FAST
  • Golang error handling is (or can be) really verbose
  • Golang is compiled
  • Golang is strong typed

It took me a while to get productive with the language, and I was only able to feel how productive it can be after I changed back to Java for a while: suddenly Java felt really slow.