Go was created at Google in 2007 to address frustrations with existing languages for systems programming. It aims to combine the ease of dynamically typed languages with the efficiency and safety of compiled statically typed languages. The goals of Go were to have efficient compilation and execution as well as ease of programming, while supporting modern computing like networks and multicore. A new language was needed to meet these goals through features like an expressive but lightweight type system, built-in concurrency and garbage collection.