Rohit’s Blog!

Being in this world…

Go is the way to go

by | Nov 13, 2009 | Critique

Google has open sourced an experimental new language called Go which lets you move fast. Its program builds are instantaneous such that even large binaries compile in just a few seconds. And the compiled code runs close to the speed of C. It allows you to spend less time reading blogs while waiting for builds? It is an interesting language and there are many fantastic things about it.

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.

Now you can write a server with thousands of communicating threads. It is fast, safe, concurrent and above all open source. The typical builds take a fraction of a second yet the resulting programs run nearly as quickly as comparable to other code. It combines the development speed of working in a dynamic language like Python with the performance and safety of a compiled language like C/C++. Also it is type safe and memory safe. Go has pointers but no pointer arithmetic. For random access, use slices, which know their limits. Go promotes writing systems and servers as sets of lightweight communicating processes, called goroutines, with strong support from the language. You can run thousands of goRoutines without any overflows.

Go has cleaner syntax, garbage collection, fast builds, methods for any type, and run-time reflection. It feels like a dynamic language but has the speed and safety of a static language. Go is a great language for systems programming with support for multi-processing, a fresh and lightweight take on object-oriented design, plus some cool features like true closures and reflection. It’s a joy to use. Let’s Go for it.

For more details watch this video.

0 Comments