github.com/spotify/syslog-redirector-golang@v0.0.0-20140320174030-4859f03d829a/blog/content/two-recent-go-articles.article (about)

     1  Two recent Go articles
     2  6 Mar 2013
     3  Tags: google, talk, ethos
     4  
     5  Andrew Gerrand
     6  
     7  * Introduction
     8  
     9  In today's blog post I'd like to highlight a couple of recent articles about Go.
    10  
    11  * Go at Google
    12  
    13  In October last year, Rob Pike presented a keynote at the ACM [[http://splashcon.org/2012/][SPLASH]] conference in Tucson. The talk, titled [[http://talks.golang.org/2012/splash.slide][Go at Google]], was a comprehensive discussion of the motivations behind Go. Rob later expanded on his talk to produce an essay titled [[http://talks.golang.org/2012/splash.article][Go at Google: Language Design in the Service of Software Engineering]]. Here is the abstract:
    14  
    15  	The Go programming language was conceived in late 2007 as an
    16  	answer to some of the problems we were seeing developing
    17  	software infrastructure at Google. The computing landscape
    18  	today is almost unrelated to the environment in which the
    19  	languages being used, mostly C++, Java, and Python, had been
    20  	created. The problems introduced by multicore processors,
    21  	networked systems, massive computation clusters, and the web
    22  	programming model were being worked around rather than
    23  	addressed head-on. Moreover, the scale has changed: today's
    24  	server programs comprise tens of millions of lines of code,
    25  	are worked on by hundreds or even thousands of programmers,
    26  	and are updated literally every day.  To make matters worse,
    27  	build times, even on large compilation clusters, have
    28  	stretched to many minutes, even hours.
    29  
    30  	Go was designed and developed to make working in this
    31  	environment more productive. Besides its better-known
    32  	aspects such as built-in concurrency and garbage collection,
    33  	Go's design considerations include rigorous dependency
    34  	management, the adaptability of software architecture as
    35  	systems grow, and robustness across the boundaries between
    36  	components.
    37  
    38  This article explains how these issues were addressed while building an efficient, compiled programming language that feels lightweight and pleasant. Examples and explanations will be taken from the real-world problems faced at Google.
    39  
    40  If you have wondered about the design decisions behind Go, you may find your questions answered by [[http://talks.golang.org/2012/splash.article][the essay]]. It is recommended reading for both new and experienced Go programmers.
    41  
    42  * Go at the Google Developers Academy
    43  
    44  At Google I/O 2012 the Google Developers team [[http://googledevelopers.blogspot.com.au/2012/06/google-launches-new-developer-education.html][launched]] the [[https://developers.google.com/academy/][Google Developers Academy]], a program that provides training materials on Google technologies. Go is one of those technologies and we're pleased to announce the first GDA article featuring Go front and center:
    45  
    46  [[https://developers.google.com/appengine/training/go-plus-appengine/][Getting Started with Go, App Engine and Google+ API]] is an introduction to writing web applications in Go. It demonstrates how to build and deploy App Engine applications and make calls to the Google+ API using the Google APIs Go Client. This is a great entry point for Go programmers eager to get started with Google's developer ecosystem.