Go is always at the top of the list of most popular programming languages today. In recent years, Go language is very hot in the Internet circle, foreign countries such as Google, Facebook, AWS, not to mention, domestic such as Alibaba, Tencent, Baidu, Douyin, Xiaomi, JINGdong, 360, netease, Sina, iQiyi, Bilibili and other have begun to use Go language to develop a variety of applications.



Many r & D students around are wondering whether they need to transfer to Go?

Advantages of Go

  • Strong concurrency performance (Go built-in Goroutine coroutine scheduling mechanism, processing concurrency is very strong);

  • Fast development (this strange language is close to Python in code simplicity and runs as fast as C);

  • A large talent gap (supply/demand ratio of 1:10) leads to a high employment salary (25K + salary for 3 years of employment) and a wide range of directions (mobile Internet, data services, e-commerce, finance, enterprise services, games, O2O, social networks, culture and entertainment, education, medical and health, advertising and marketing, etc.).

Application area of Go language

  • Server programming (logging, data packaging, virtual machine processing, file systems)

  • Network programming (Web application, API application, download application)

  • Paas cloud platform

  • Distributed storage domain (in-memory database)

  • Blockchain domain

  • Container virtualization, etc.

Go’s industry ecology

The advantage of Go over PHP is type safety because Go is a statically typed language, whereas PHP is dynamically typed. This means that the compiler does a lot of work at run time to make sure that the code you write compiles and works. Go’s advantage over C++ is simplicity. In Go, everything is so simple.

The bottom line: Go is inherently fast, both when writing code and when running. In general, you can get 5-10 times better performance with Go without doing any special optimizations. Go is also a simple language, easy to learn, and easy to replace microservices in existing projects.

In addition, many IT infrastructure tools such as Kubernetes, Docker, and Vault(to name a few large examples) are built with Go. In order to maintain these projects and patch them. This may be another reason why Go adoption continues to grow. The more this technology is used in common technology facilities and deployments, the faster Go will grow.

Would you consider switching to Go?

Okay, so with all that said okay, I might have to talk you out of it, okay?

To do anything, you need to question your original intention. Why would you consider switching to Go?

The answer could be: jobs (better at moving bricks), or crisis/anxiety, just wanting to change language stacks.

Let’s break it down one by one:

1) Does language matter?

* * important! Because language is not only language itself, but also an entire ecology. ** For example, Java development means Java + Maven + Spring + Mybatis, in addition to the general understanding of how the JVM works. It is not difficult to learn each one, but it is not easy to practice to become proficient and easy to pick up. It takes at least half a year of practice.

2) But how important?

** is nothing compared to a career spanning decades. ** No matter where you’re going, all employers are happy to let you familiarize yourself with the language and framework on the job (provided, of course, that you have a solid foundation, so it’s easy to learn). These are just running-in costs compared to what you bring to the team. As the level of coding increased, the question of programming language was not even asked in the interview, because by default, everyone’s coding skills had reached a sufficient level.

3) If you just want to change the language stack

We often talk about maintaining our core competencies, but after years of working, how much time is spent broadening our knowledge?

If you’re proficient in PHP, Java, Go, Python, Ruby, etc., you’re not really “broadening”. You’re just learning a lot of the same things in terms of languages.

Of course, I don’t disapprove of the fact that you know more than one programming language, but strive for core irreplaceability at work.

If you are proficient in: JS, PHP, MySQL, Nginx, then you have a little progress; The next step is specific field, industry solutions, is to have the real core competitiveness.

Finally, do you want to transfer or not? You can’t kill it with a single pole

In addition, if you have a different opinion, feel free to leave a comment ~

​- END –

Previous hot articles recommended:

I killed 40% of the candidates with a little open design question

Redis not sure about the interview? 40 Interview Questions to Stop You Panicking (With Answers)

A debate about code comments prompts three thoughts

Thanks for reading!