Features


I don't plan to give you an "elevator pitch" as to why you would want to use Go, but here are a few items that might help you if you need to justify the time you spend on it.

In general there are many attributes to every programming language and each language is located somewhere else in relation to those different attributes.

I think there are two central areas where Go has advantages over other languages. One of them is the built-in concurrency that makes it easier to use all the cores that you can find in a modern computer. The other is the cross compilation. Meaning it is easy to write your code on one computer and compile your code on that computer targeting other operating systems.

If we are already talking about compilation, it is also much faster than that of C or other compiled languages while its run-time is as fast as those other compiled languages. The fast compile time might not sound as a big deal, but if your compilation takes 10 seconds instead of 5 minutes or two hours, your feedback loop is much faster and thus you can develop faster.

Another advantage that Go has is that it manages the memory for you so unlike in C you don't have to deal with memory management. On the other hand by giving up on some of the (usually unnecessary) flexibility of Python it is also not as wasteful with memory allocation.

It provides you control over the types of the variables, but in many cases it does not force you to be precise.