Two recent Go talks
2 Jan 2013
Tags: talk, video, ethos

Andrew Gerrand

* Introduction

Late last year I wrote a couple of Go talks and presented them at [[http://thestrangeloop.com/][Strange Loop]], [[http://oredev.com][Øredev]], and various other venues. The talks are designed to give insight into the practice of Go programming, each describing the construction of a real program and demonstrating the power and depth of the Go language and its libraries and tools.

The following videos are, in my opinion, the best recordings of these talks.

* Go: a simple programming environment

Go is a general-purpose language that bridges the gap between efficient statically typed languages and productive dynamic language. But it’s not just the language that makes Go special – Go has broad and consistent standard libraries and powerful but simple tools.

This talk gives an introduction to Go, followed by a tour of some real programs that demonstrate the power, scope, and simplicity of the Go programming environment.

.iframe http://player.vimeo.com/video/53221558?badge=0 281 500

See the [[http://talks.golang.org/2012/simple.slide][slide deck]] (use the left and right arrows to navigate).

* Go: code that grows with grace

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. In this talk I describe a simple "chat roulette" server that matches pairs of incoming TCP connections, and then use Go's concurrency mechanisms, interfaces, and standard library to extend it with a web interface and other features. While the function of the program changes dramatically, Go's flexibility preserves the original design as it grows.

.iframe http://player.vimeo.com/video/53221560?badge=0 281 500

See the [[http://talks.golang.org/2012/chat.slide][slide deck]] (use the left and right arrows to navigate).
