I used Go for a year and it was awesome

Background Image © Tom Lister 2019, All Rights Reserved. Go Logo © The Go Developers 2019.

Go is a programming language engineered by a handful of Googlers, when I mean engineered I mean engineered. Compared to other popular languages such as JavaScript, Go’s statically typed linguistics was engineered so you can create reliable, efficient code in a productive manner similar to a dynamically typed language and so the compiler can do its job fast.

Go has sped up my development process and decreased the amount of time I spend tinkering around getting things to work.

After using it for about a year here’s what I like about Go

  • Relatively easy to learn.
  • Readable.
  • First-class networking library.
  • No need to declare something more than once.
  • No headers.
  • Fast compilation times.
  • Really quick to prototype anything/Productive.
  • Forces you to implement good coding practices (forcing you to deal with unused stuff) and forces you to follow the type.
  • Goroutines & Channels allow you to concurrently run methods cheaply & easily.
  • Multi-value returns.
  • Having a good GC is cool. 😎
  • A wealth of included convenient libraries.
  • It will catch most of the bugs you have in your code (except data races).

Neutral Points

  • Generics would be nice but I understand it would increase compilation and or run time.

Here’s what I don’t like

  • Lack of ASLR on all platforms (Linux only).

Go is like a safer, better C (if you come from a C-style language you should be able to read Go just like that).