Go has been released from version 1.0 to now (2015) for more than three years. Five major versions have been released. Here is a summary of its evolution based on several versions of Go.

Grammatical changes: almost no obvious grammatical features are added. The changes mainly focus on: reducing mental burden, perfecting details and engineering;

The core of iteration in Go itself is to achieve optimization, mainly around: performance, performance, performance! (Three important things to repeat), performance optimization is particularly evident in GC, but also around more platform porting and further standardization to strengthen community conventions.

Go differs from Java in that it retains a greater element of flexibility. My personal assessment of the future of Go is that it is somewhere between Java and a lot of flexible languages. Although five major versions of Go have been released in the past three years, virtually no substantive changes have been made to the language. When I saw some people complaining about Go, they thought that the language was too uninspired, while others thought that the Go community was too uninspired and unwilling to absorb good ideas.

I think actually otherwise, more than three years, even ten years, the language syntax changes don’t expect a big improvement, it basically will only repair some small places, I feel is more adventurous, than it is to understand how to write code that demand of self-confidence, it is far from other languages, is also the place where I most admire to Go.

Why did I choose Go? It’s not that Go is good, seven Cow is in the cloud, and cloud services rely heavily on parallel support, and Go is probably the first in the world for parallel support.

When Qiniu first used Go, Go 1.0 had not been released. At that time, I was not very confident about grammar changes, which was similar to C. C has been used for more than ten years, but has C changed since then? Very little has changed, even if it’s C 99 or something, very little has changed. The idea of Go is very similar to C, and I think it’s hard to expect the syntax of Go to change dramatically, but that’s part of the beauty of the language, because you don’t have to worry about writing code that’s going to be out of date in 30 years. In a sense, it’s a confidence that it already knows this is the way the world is going to be.

Research direction of Go language

There’s a lot of interest in what’s going to happen with Go, and I don’t think it’s going to change that much in three to five years. Such as built-in HTTP 2.0 support (more of which will be provided as separate open source libraries that are not necessarily included directly in the Go distribution); On the other hand, even though Go is starting to support desktop (Mobile) development, it’s still exploratory and experimental, and if you look at the 10-year horizon, Go is going to make a big splash on the desktop (Mobile).

It is interesting that the world’s most interested in Go is China, and it is actually the Chinese. Why? Since Hong Kong and Singapore are the second most interested in Go, and these places are all populated by Chinese, the development of Go language in China or in the Chinese community is very good, much better than in the United States (of course, this is only a search, actually I am joking). From the point of view of open source project, Go is developing very well in foreign countries. The syntax features mentioned just now seem to be developing very slowly, but in fact it is not, because it has thought out all the things to do in the future in 1.0, and all that needs to be done is optimization.

Here are some public predictions for Go:

The first prediction is that Go will surpass C and Java and become the top language in the list within 10 years, as I mentioned on Sina Weibo in 2012. You may believe it a little bit today, but not a lot of people believed it back in 2012, and even if you say it today, most people will think it’s too early, after all, it’s not in the top five.

The second prediction is that Go will dominate cloud computing within two years.

The third prediction is that Go will rule for the next decade. (From Deferpanic founder Lan Eyberg).

Next question, what do non-technical people think about Go? The first is how do foreign investors look at Go. I think foreign investors are different from Chinese investors. They are quite technical and believe that “the open source Go language will be one of the most enduring and influential open source systems”. In addition, one business developer said, “It seems like almost every new and interesting project in the world is written in Go.”