github.com/graybobo/golang.org-package-offline-cache@v0.0.0-20200626051047-6608995c132f/x/blog/content/gopherchina.article (about) 1 GopherChina Trip Report 2 1 Jul 2015 3 4 Robert Griesemer 5 gri@golang.org 6 7 * Introduction 8 9 We have known for some time that Go is more popular in China than in any other 10 country. 11 According to Google Trends, most [[https://www.google.com/trends/explore#q=golang][searches for the term “golang”]] come from The People’s Republic than anywhere else. 12 [[http://herman.asia/why-is-go-popular-in-china][Others]] have speculated on 13 the same observation, yet so far we have had 14 [[https://news.ycombinator.com/item?id=8872400][sparse concrete information]] 15 about the phenomenon. 16 17 The first Go conference in China, [[http://gopherchina.org/][GopherChina]], 18 seemed like an excellent opportunity to explore the situation by putting some 19 Western Gopher feet on Chinese ground. An actual invitation made it real and I 20 decided to accept and give a presentation about gofmt’s impact on software 21 development. 22 23 .image gopherchina/image04.jpg 24 25 _Hello,_Shanghai!_ 26 27 The conference took place over an April weekend in Shanghai, in the 28 [[https://www.google.com/maps/place/Puruan+Bldg,+Pudong,+Shanghai,+China][Puruan Building]] 29 of the Shanghai Pudong Software Park, easily reachable by subway within an hour 30 or less from Shanghai’s more central parts. 31 Modelled after [[http://www.gophercon.com][GopherCon]], the conference was 32 single-track, with all talks presented in a conference room that fit about 400 33 attendees. 34 It was organized by volunteers, lead by [[https://github.com/astaxie][Asta Xie]], 35 and with robust sponsorship from major industry names. According to the 36 organizers, many more people were hoping to attend than could be accommodated 37 due to space constraints. 38 39 .image gopherchina/image01.jpg 40 41 _The_welcoming_committee_with_Asta_Xie_(2nd_from_left),_the_primary_organizer._ 42 43 Each attendee received a bag filled with the obligatory GopherChina t-shirt, 44 various sponsor-related informational brochures, stickers, and the occasional 45 stuffed “something” (no fluffy Gophers, though). At least one 3rd party vendor 46 was advertising technical books, including several original (not translated 47 from English) Go books. 48 49 .image gopherchina/image05.jpg 50 51 _Go_books!_ 52 53 On first impression, the average attendee seemed pretty young, which made for 54 an enthusiastic crowd, and the event appeared well run. 55 56 With the exception of my talk, all presentations were given in Mandarin and 57 thus were incomprehensible to me. Asta Xie, the primary organizer, assisted 58 with a few simultaneous translations whispered into my ear, and the occasional 59 English slide provided additional clues: “69GB” stands out even without any 60 Mandarin knowledge (more on that below). Consequently, I ended up listening to 61 a handful of presentations only, and instead spent much of my time talking with 62 attendees outside the main conference room. Yet judging from the slides, the 63 quality of most presentations seemed high, comparable with our experience at 64 GopherCon in Denver last year. Each talk got a one hour time slot which allowed 65 for plenty of technical detail, and many (dozens) of questions from an 66 enthusiastic audience. 67 68 As expected, many of the presentations were about web services, backends for 69 mobile applications, and so on. Some of the systems appear to be huge by any 70 measure. 71 For instance, a talk by [[http://gopherchina.org/user/zhouyang][Yang Zhou]] 72 described a large-scale internal messaging system, used by 73 [[http://www.360.cn/][Qihoo 360]], a major Chinese software firm, all written 74 in Go. The presentation discussed how his team managed to reduce an original 75 heap size of 69GB (!) and the resulting long GC pauses of 3-6s to more 76 manageable numbers, and how they run millions of goroutines per machine, on a 77 fleet of thousands of machines. A future guest blog post is planned describing 78 this system in more detail. 79 80 .image gopherchina/image03.jpg 81 82 _Packed_conference_room_on_Saturday._ 83 84 In another presentation, [[http://gopherchina.org/user/guofeng][Feng Guo]] from 85 [[https://www.daocloud.io/][DaoCloud]] talked about how they use Go in their 86 company for what they call the “continuous delivery” of applications. DaoCloud 87 takes care of automatically moving software hosted on GitHub (and Chinese 88 equivalents) to the cloud. A software developer simply pushes a new version on 89 GitHub and DaoCloud takes care of the rest: running tests, 90 [[https://www.docker.com/][Dockerizing]] it, and shipping it using your 91 preferred cloud service provider. 92 93 Several speakers were from well-recognized major software firms (I showed the 94 conference program to non-technical people and they easily recognized several 95 of the firm’s names). Much more so than in the US, it seems Go is not just 96 hugely popular with newcomers and startups, but has very much found its way 97 into larger organizations and is employed at a scale that we are only starting 98 to see elsewhere. 99 100 Not being an expert in web services myself, in my presentation I veered off the 101 general conference theme a bit by talking about 102 [[https://golang.org/cmd/gofmt/][gofmt]] and how its widespread use has started 103 to shape expectations not just for Go but other languages as well. 104 I presented in English but had my slides translated to Mandarin beforehand. Due 105 to the significant language barrier I wasn’t expecting too many questions on my 106 talk itself. 107 Instead I decided the keep it short and leave plenty of time for general 108 questions on Go, which the audience appreciated. 109 110 .image gopherchina/image06.jpg 111 112 _No_social_event_in_China_is_complete_without_fantastic_food._ 113 114 A couple of days after the conference I visited the 4-year-old startup company 115 [[http://www.qiniu.com/][Qiniu]] (“Seven Bulls”), at the invitation of its 116 [[http://gopherchina.org/user/xushiwei][CEO]] Wei Hsu, facilitated and 117 translated with the help of Asta Xie. Qiniu is a cloud-based storage provider 118 for mobile applications; Wei Hsu presented at the conference and also happens 119 to be the author of one of the first Chinese books on Go (the leftmost one in 120 the picture above). 121 122 .image gopherchina/image02.jpg 123 .image gopherchina/image00.jpg 124 125 _Qiniu_lobby,_engineering._ 126 127 Qiniu is an extremely successful all-Go shop, with about 160 employees, serving 128 over 150,000 companies and developers, storing over 50 Billion files, and 129 growing by over 500 Million files per day. When asked about the reasons for 130 Go’s success in China, Wei Hsu is quick to answer: PHP is extremely popular in 131 China, but relatively slow and not well-suited for large systems. Like in the 132 US, universities teach C++ and Java as primary languages, but for many 133 applications C++ is too complex a tool and Java too bulky. In his opinion, Go 134 now plays the role that traditionally belonged to PHP, but Go runs much faster, 135 is type safe, and scales more easily. He loves the fact that Go is simple and 136 applications are easy to deploy. He thought the language to be “perfect” for 137 them and his primary request was for a recommended or even standardized package 138 to easily access database systems. He did mention that they had GC problems in 139 the past but were able to work around them. Hopefully our upcoming 1.5 release 140 will address this. For Qiniu, Go appeared just at the right time and the right 141 (open source) place. 142 143 According to Asta Xie, Qiniu is just one of many Go shops in the PRC. Large 144 companies such as Alibaba, Baidu, Tencent, and Weibo, are now all using Go in 145 one form or another. He pointed out that while Shanghai and neighboring cities 146 like [[https://www.google.com/maps/place/Suzhou,+Jiangsu,+China][Suzhou]] are 147 high-tech centres, even more software developers are found in the Beijing area. 148 For 2016, Asta hopes to organize a larger (1000, perhaps 1500 people) 149 successor conference in Beijing. 150 151 It appears that we have found the Go users in China: They are everywhere! 152 153 _Some_of_the_GopherChina_materials,_including_videos,_are_now_available_alongside_Go_coursework_on_a_ [[http://www.imooc.com/view/407][_3rd_party_site_]]. 154