The outgoing 2015 year was quite intense for the programming language Go and its community. More and more people are discovering the power behind the simplicity of the language, the community is growing, developing and playing an increasingly important role in the present and future Go. This is the sixth year of the language existence, marked by several important changes to the insides of the language, a fantastic improvement in the garbage collector, the first step towards standardization of work with dependencies and many other events.
Let's take a quick look at important events of 2015 in the world of Go.

Perhaps, it’s worth starting with the gratitude of the Habrahabr audience, which, with its turbulent and not-so-controversial discussions, creates a special interest in the Go language. The number of pros and cons that get articles and translations about Go, clearly shows how indifferent readers are to the success of the language. You can always listen to constructive criticism of Go in the Russian-language podcast
Golangshow , and non-constructive criticism, which often arises in comments and causes heated discussions, makes more and more people find out who is right.
Anyway, the year 2015 was marked by the fact that such companies as
SpaceX ,
Dropbox ,
Basecamp ,
MongoDB ,
VKontakte ,
Baidu and many others said about the active use of Go modestly and in passing.

')
The main niches of Go are still server systems and infrastructures - the whole spectrum, from small microservices to exabyte distributed storage systems. REST / Web backends, all sorts of proxies, databases, container planners and other server software are those areas for which Go was created.
This year, Go also showed that it is possible to write “oper-day” on it (hello,
Anton !)) - the company Mondo
creates an electronic bank on Go. Also an important breakthrough this year was in the development of gomobile - the
first application on Go appeared in the AppStore, and for Android some companies
have been using Go
for a long time to their advantage.
With the desktop software on Go this year did not
happen : the
gxui UI library
was abandoned, and there are no new serious alternatives. I believe that this is due to the slow but sure death of the value of desktop software as a class.
In order to give the reader a greater understanding of Go areas, I’ll give you a diagram like this that is based on a subjective understanding of the applicability and actual use of Go:

Well, now I suggest to briefly go through the main events of Go of the outgoing year. And in order not to guess what events or materials were this year, we ask Go to do it for us and select the top posts from the subreddit golang:

Code from the picturepackage main import ( "fmt" "github.com/jzelinskie/geddit" "time" ) func main() { session := geddit.NewSession("") opts := geddit.ListingOptions{ Time: geddit.ThisYear, } posts, err := session.SubredditSubmissions("golang", geddit.TopSubmissions, opts) if err != nil { fmt.Println("Failed to get posts:", err) } for _, post := range posts { date := time.Unix(int64(post.DateCreated), 0) fmt.Printf("%s: %s\n", date.Format("02 Jan 2006"), post.Title) } }
The result will be the following list:
- 19 Aug 2015 : Go 1.5 is released
The release release 1.5, in which the compiler and Go runtime was rewritten from C to Go, which allows authors to move more boldly forward in their plans to improve the garbage collector and Go runtime as a whole. A small step back was the slowdown in compile time by about one and a half times. Now, instead of 2 seconds, you need to wait for 3, and this is a bit annoying. But the new garbage collector in Go 1.5 now has predictable pauses, which in 99% of cases do not exceed 10ms.
- 24 Feb 2015 : The go compilers are now written in Go
Actually, the announcement of the above changes for half a year before the release of Go 1.5 - 05 Mar 2015 : The Go Programming Language by Brian W. Kernighan, Alan Donovan
Announcement of the book by Brian Kernigan and Alan Donovan, which promises to be almost as iconic as Kernigan’s book on C. The book was published in late October, and many have already received and read it!
- 12 Jul 2015 : Ivy - First Android App in 100% Golang on Google Play (written by the Go Team)
The first application on Go + GoMobile in the AppStore.
- 13 Aug 2015 : Go 1.6 GC improvement plan
Detailed document with the planned changes to the garbage collector in Go 1.6. Since the language does not change, the main work and efforts are devoted to improving the toolkit, the compiler, and runtime. This document is for those who are interested in Go.
- 08 Aug 2015 : Dropbox's infrastructure is a huge scale.
The humble tweet of the Dropbox engineer, who admits that in Dropbox not only the kitchen received a Michelin star, but also their distributed data storage system, which processes data exabytes and drives them through terabit channels, is entirely written in Go.
- 30 Jun 2015 : Go 1.5 will be able to build iOS apps.
Another announcement of GoMobile features in anticipation of the release of Go 1.5.
- 14 Dec 2015 : How to complain about Go
And this is my satire article in English, making fun of developers who criticize Go for being different from their favorite language. I didn’t translate to Habr, because I’d hardly appreciate the satire here.
- 29 May 2015 : not technical
The calm and intelligible answer of Russ Cox - one of the authors of Go that the absence of generics in Go is not a political, but a technical decision. The authors do not see a beautiful solution that will allow users to poke generics with or without cause and will not turn the language into a dull G.
- 10 Nov 2015 : Six years of Go - The Go Blog
6th birthday Go!
- 10 Jun 2015 : [Parse.com] Our Sanity API
Parse's blog describing their move from Ruby to Go.
- Dec 15, 2015 : Git Appraise, written by Google in Go, distributed code review
The announcement of the project from Google - distributed code review system, written in Go.
- 14 Nov 2015 : For Better or For Worse
Excellent article on the assessment of the priorities of approaches in languages. The translation was here on Habré.
- 08 Oct 2015 : gologin: Login handlers for Google, Github, Facebook, Twitter, SMS, OAuth1 / 2, etc.
Announcement of the package for working with the main OAuth-providers. - 15 Feb 2015 : The State of Go
An article from the Go official blog about the current status of Go (as of February 2015)
- 08 Apr 2015 : Stack Overflow developer survey: Go to the top five most loved languages
Go in the top most adored programming languages. Useless criterion, of course, but anyway mimi.
- 20 Aug 2015 : Billions of day meet meet Go 1.5
An article about how a company whose software on Go processes billions of requests per day switched to Go 1.5 and drastically reduced the GC pauses and the overall response time. Translation Habré.
This top didn’t get a lot of things, so briefly what I
’m recalling: the
implementation of HTTP2 was written, which will be in Go 1.6 standard library (yes, the servers on Go 1.6 will support HTTP2 from the box), the guys from JetBrains spent (and continue carry out) tremendous development work on the
Go plugin for IntelliJ IDEA, as well as Fatih Arsian, the author of the
vim-go plugin, which now works fine with NeoVim. Also
appeared (not really necessary) support of shared libraries.
An important step is the first step in standardizing a solution for managing dependencies in Go. The mono-repository approach in Google does not work well with the “classical” scheme, where all dependencies need to be implemented for a project, and Go 1.5 has
experimental support for a special agreement to take dependencies from the vendor / folder, if any, in the project. In Go 1.6, this behavior will not be more experimental, but still optional, and in Go 1.7 it is planned to be already by default. At the same time, the community has yet to come to a consensus on how best to automate work with dependencies, so there are several solutions.
Speaking of past events, you can not ignore the Go
conference . This year 13 (!) Conferences of various sizes were held, and next year even more are planned. Of the new ones, these are conferences in China, India and Dubai! The main conferences remain the international
GopherCon , which traditionally takes place in Denver, and the European
dotGo in Paris.
Also this year, the already-mentioned Russian-language weekly Go podcast Go-
Golangshow was launched . In the podcast, the presenters not only discuss the latest news from the world of Go, but also invite interesting guests. 35 issues have already been recorded, so feel free to subscribe to
iTunes or to the site
https://golangshow.com .

But next year, 2016, we are waiting for Go 1.6 and Go 1.7, even more interesting projects and products for Go, new companies and vacancies.
Happy New Year and happy coding!