What’s Go’s Strength?

Try to look at other programming language, simpler one, but high performance. And my eyes fall to Go. GoLang’s actually been 5 years by now. I used to play it but not for long, just learned it.

But because many shortfalls here and there, I didn’t use it anymore. However, 5 years passed and I found it grows so rapidly. It seemed like due to Google’s endorsement, where actually Go was coming from, give this baby’s program much more stronger and healthier. Not a few companies have adopted it to solve their problems.

Why I prefer going with Go to other more popular programming language, like PHP, python, Ruby, Java or .Net? Here, I give my reasons why I choose to use Go.

The number one reason is, of course, the speed. Yes, Go is designed to give a high performance and use available resources as effective and as efficient as possible, thanks to Go Concurrency feature.

Differ from PHP, python or Ruby which are more interpreting, Go is a compiler. The final output from Go is binary files that a computer can process it by itself directly without depending to other applications. As a result, the file size takes more spaces to store.

For a Hello World standard program executed by Mac Book Pro Mid 2013 2.9 Ghz 16GB Memory, Go shows 150x faster than PHP and 45x faster than Java and .Net. Beside its speed, we can also count on its performance on compilation process, especially when we’re developing an application that changes frequently, it is very crucial.

Simple and Easy to Learn. At this point, the comment should be given from someone who are neutral.

If you’re a PHP users maniac or a genuine Java users for 10 years and all of a sudden you have to learn a new language with a completely new character, it’s normal if you’ll always compare it with your old language you used to work with. It’ll take some times for you to adjust with it.

Yet, it’ll be different for a new beginner who’d like to learn programming language and when it’s offered to choose to learn either Go, Java, PHP or other language. Go will be the one that’s easier to learn.

How come? Simple, you can look at the documentation given. It has a more structured, tidier and easy to read document than other language. And that’s all what we need to learn about it.

When we’re doing programming in Go, we’re forced to use their method of writing. It gives a clean and organized series of codes.

Go is a kind of programming language with a strongly typed programming’s concept, where all elements under it must be defined their types of data. This results in strong discipline among Go programmer.

Go will never tolerate a variable or package which has been defined but never been used.

When creating an application, some additional aids also become one of the considerations.

Imagine we create an application using Java without Eclipse or Netbeans, or make a complex solution based in .net without Visual Studio, that must be a huge problem. Btw, one of the weaknesses of the aids is, it is massive size capacity.

I need at least 2GB for Visual Studio and about half of it I need for Eclipse not to mention the time consume and computer capacity to load the aids, and also coding. The memory capacity’s increased already to 60% which is not funny at all.

However, Go has wearable and computer friendly aids allowing us to develop a complex solution.

Community SupportIn its early age, Go has grown so fast that many big companies use its service to solve their computer-related problem. Thanks to all the supports from the developers and users. Gopher Community and Go users have contributed a lot for its progress.

Go’s Weakness. It wouldn’t be fair if I too adore Go without talking its weakness. So here we go.

Go, is counted as new, thus not many people know about it. I’ve interviewed at least 20 programmers and every time I asked about Go the most answers were like “I’ve never heard of it..” and at that point, I was sad.

The Library is less. Yes, compared to Java or .Net or PHP, Go’s library is lesser. Yet it doesn’t mean that it’s not complete. Many solutions’s need can be catered by these libraries. Even if no library can satisfy us, we can make it ourselves.

Non-generic. It is the consequence of strongly typed programming. That’s the price for a high performance of speed. But with a little practice and adjustment, it won’t be a difficult change.

Okay, that’s some of the reasons why I choose Go.

And you ….?

Comments Off on What’s Go’s Strength?