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