Go is a relatively young language, and many programmers, both novice and experienced, may question the relevance of learning it. Is it worth it, and if so, how? Let’s find out from the experts.
The first person is a lecturer at the School of Programmers and an intern programmer at Google
The three main advantages of Go that explain its popularity are simplicity, the standard library, and the fact that it allows parallel, or concurrent, programming. Go was developed by Google as an alternative to C and C++. The language was conceived as a compiled language that does not require an interpreter (like, for example, Python). It can be assembled on your computer for almost any architecture (MILS or ARM), sent to the server and run. Go is fast and has a simple syntax that even a beginner can learn in one month.
The Go language is quite readable. The library has some “killer features” that can be used in working on different projects. There is everything related to networks, so you cannot use the LINUX API. Many modern things are written in Go: Docker, Project Mobi, Kubernetes clustering system, Prometheus monitoring system, many console utilities. The language has good support for parallel computing.
Another advantage is the package manager. Go has a code auto-documentation system, an internal profiler, and an internal test writing system, that is, everything that would need to be added in other programming languages.
And now we will talk to a developer.
Go is a young language and its future is uncertain. This will become clear in the next three years. Will it gain a foothold in his niche or remain one of many. If you are basically not familiar with programming, it is better to choose something more fundamental.
Currently, specialists who know PHP and Go are in demand in the market.
Getting attached to a language is amateurism. A good programmer knows several languages and easily learns new ones. If a specialist has strong fundamental knowledge of development, he can write well in any language. Therefore, novice programmers should rather decide on the direction of activity: web, native, mobile, micro, etc. So it is better to study the unambiguous leader in the direction, and then think about other languages.