Introduction to Go [linux.conf.au 2014]

Google's Go is a relatively new systems programming language that has recently gained a lot of traction with developers. It brings together the ease and efficiency of development in modern interpreted languages like Python, Perl, and Ruby with the efficiency and safety of a statically typed, compiled language like C/C++ and Java. On top of that, Go is a language built for modern hardware and problems. With built-in support for concurrency, programmers can easily build software to scale up to today's many-core beasts. Programming in Go is really nice, and in this tutorial, you will learn why. We will cover an introduction to the Go programming language, and together we will build a multi-user network service demonstrating all of the major principles of programming in Go. Requirements: This tutorial is designed for programmers who already know one or more languages and want to learn about Go. You should also bring a laptop and a power cord, as this is a hands-on tutorial. Mark Smith. Mark is a little bit of everything. He's done time as a software engineer, a MySQL DBA, a sysadmin, and even managed an operations team. He's worked for the likes of Google and Mozilla, started a successful open source project, and somehow still finds time to have two small children and a cat. In his free time, he likest to write code in Perl, Go, and Python. He believes strongly in the Oxford comma and wishes to move back to Iceland one day.