Upload

Loading icon Loading...

This video is unavailable.

Let's Go Further: Build Concurrent Software using the Go Programming Language

Sign in to YouTube

Sign in with your Google Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to like GoogleTechTalks's video.

Sign in to YouTube

Sign in with your Google Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to dislike GoogleTechTalks's video.

Sign in to YouTube

Sign in with your Google Account (YouTube, Google+, Gmail, Orkut, Picasa, or Chrome) to add GoogleTechTalks's video to your playlist.

Published on May 3, 2012

Google Tech Talk
April 25, 2012

Presented by Sameer Ajmani

ABSTRACT

Go is an open source programming environment that makes it easy to build simple, reliable, and efficient software. One of Go's key design goals is code adaptability; that it should be easy to take a simple design and build upon it in a clean and natural way. Go Version 1 (or Go 1 for short), which defines a language and a set of core libraries to provide a stable foundation for creating reliable products, projects, and publications, was recently released and available for use.

Go was born out of frustration with existing languages and environments for systems programming. Programming had become too difficult and the choice of languages was partly to blame. One had to choose either efficient compilation, efficient execution, or ease of programming; all three were not available in the same mainstream language. Programmers who could were choosing ease over safety and efficiency by moving to dynamically typed languages such as Python and JavaScript rather than C++ or, to a lesser extent, Java.

Go is an attempt to combine the ease of programming of an interpreted, dynamically typed language with the efficiency and safety of a statically typed, compiled language. It also aims to be modern, with support for networked and multicore computing. Finally, it is intended to be fast: it should take at most a few seconds to build a large executable on a single computer. To meet these goals required addressing a number of linguistic issues: an expressive but lightweight type system; concurrency and garbage collection; rigid dependency specification; and so on. These cannot be addressed well by libraries or tools; a new language was called for.

Sameer Ajmani, a Software Engineer at Google and member of the Go programming language engineering team, will give a introduction to Go from a programmer's perspective. Sameer joined Google engineering after receiving his PhD from MIT and has worked on several core infrastructure projects at Google.

Loading icon Loading...

Loading icon Loading...

Loading icon Loading...

The interactive transcript could not be loaded.

Loading icon Loading...

Loading icon Loading...

Ratings have been disabled for this video.
Rating is available when the video has been rented.
This feature is not available right now. Please try again later.

Loading icon Loading...

Loading...
Working...
to add this to Watch Later

Add to