Why Choose the Go programming Language for your Project?

The programming language Go as taken the development world by storm over the last few years. This article will discuss reasons why Go has become so popular and why you might choose it for your next project.

Go is simple

Go is easy to learn to program with and it is free! Go is much easier to maintain and deploy than Java.

Go does not have weird virtual environments of Python or npm, gulp, grunt, yarn, webpack (what’s next?) convuluted and complex build environments.

Go is Fast

It smokes most other languages, except the grand mother of Unix programming C. The Go programming language is almost as fast (performant geeky folks like to say) as C.

Since Go is NOT interperted at runtime like Python and NodeJS is applications written in Go will Smoke similar app written in these other languages.

Not only will it be faster, but typically will use less memory and CPU cycles.

Compiled Binaries

Go compiles into binaries that are ready to run. Once the binary has been built, it requires no interpretation or on the fly compilation. No runtime environment to be installed and configured.

Go compiles really fast as matter of fact a sizeable Go project can compiler much faster than it takes a simple NodeJS or Python project to just start running.

Since Go is compiled it produces very fast binaries with all syntax and build time errors having been fixed before Go can compile.

Go is Easy to Deploy and Automate

A Go program can be distributed via a single binary. For example if you want to use the wonder static website generator used to generate this website, just download the binary and run it. Simple as that no pulling dependencies or building virtual environments.

No external Runtime Required

configuration files required, virtual machines required by NodeJS, Python or C# or Java.

No Build Tools Required

Go relies on no external build tools you’ll find Make (maybe some help from CMake) or Ant, Maven etc. used to build Java.

Great Concurrency

Unlike Python or Node, Go has outstanding support for Concurrency which lack directly in python or Node requiring multiple processes to run and heavy weight Inter-process communication (IPC) mechanisms to be implemented.

Other Great Reasons

  • Built in HTTP server for embedded web static or dynamic we pages, a REST server can be written in about 10 lines of code. Of course it won’t do much, but the lines that exceed 10 will be implementing your application.

  • Automatic Documentation

  • Embedded Testing environment

  • Built in static code analysis

  • Cross compile: build a raspberry pi image on your laptop!

  • Command line tools and automation

It is easy to learn and fun to write!

Want to learn Go?