Language Go is one of the leaders of the outgoing year
- December 21, 2017

During the mid-2000s when Google’s computing power exceeded all conceivable limits, the company needed a language capable of efficiently working with multithreaded information. He had to provide Google with a competitive advantage in the speed of the search engine and third-party services.

In 2007, Robert Grizmer, Rob Pike and Ken Thompson took charge of the development. By the way, before that they were engaged in the development of the Inferno OS based on Plan 9, which is designed for building network and distributed systems. The name came from the evolution of Google Language to Golang and just Go. Until 2009, work was underway to create a syntax with basic architecture. Then the project was made public and the giants of all countries were invited to work together. By the end of 2012 Go was brought to the first full version.

People did not appreciate new language as not so many companies, the more simple developers needed to optimize the performance of projects and there was also a restriction on compatibility with platforms (support for Plan 9, Android will appear only at the end of 2014). Google also did not contribute to the popularization of the language until the legendary fights of the computer against the person in the game Go mostly was only known by geeks. Further growth in popularity is attributed to the frequent flickering in the media but there is another version.

In the period from July to October 2016 there was a jump in demand by 13 times. What was the epoch-making event in the middle of last year? No, this is not another victory of the machine over a man. This is the release of the mobile game Pokemon GO. Animal seekers in augmented reality have become a catalyst for the popularity of the programming language.

Syntax

Since the Go language must first be fast and only then understandable there are many rules and restrictions in the syntax. Those who studied at Pascal, they’ll like it.

Variable declaration:
var i int
var (j float k int)

Assignment with output:
i: = j
The classical for loop:
for i: = 0; i <n; i ++ {
println(arr[i])
}

A very useful property, for it can not contain arguments (the loop is infinite) or contains only one condition (analog of while).
Pay attention to the curly brackets, Go strictly regulates the opening and closing places. Additionally hyphenations are not allowed.

Here is an example of Hello World:
package main
import "fmt"
func main () {
fmt.Println ("Hello, World!")
}

In general the syntax seems a little outdated has many limitations but try to work for at least 30 minutes and you’ll like it.

Helpful information

Until now it was difficult to find a book for the Russian-language on Go. Check out these books below:
Programming Language Go, Alan AA Donovan, Brian W. Kernigan.
Programming on Go. Development of XXI century applications, Mark Summerfield.

In the American market, of course the choice is many::
Go in Action, William Kennedy, Brian Ketelsen, Erik St. Martin.
Go Programming Blueprints – Solving Development Challenges with Golang, Mat Ryer.
Introducing Go: Build Reliable, Scalable Programs, Caleb Doxsey.
Go in Practice: Includes 70 Techniques, Matt Butcher, Matt Farina.

For those who like to work with electronic material, there are online tutorials:
https://golangbot.com/
http://golang-book.ru/
Well, do not forget about the official site, there is all the information you need.

Prospects

The pros of Go are obvious:
Performance. This means that it is an alternative to using C-code in applications that are limited by hardware capabilities.
Support. The language supports and develops Google, there are no plans to minimize the project, so that it will live and develop for many more years.
Competition. Go has alternatives but none of them has clear advantages and a powerful patron that commensurates in power with Google.
There is only one problem with Go, most employers in Russia do not need it. Therefore it’s difficult to predict when the number of jobs will move from a near-zero point. Despite this, be sure to check out Go. Perhaps tomorrow it will be your competitive advantage.

recommended
Smart Order Router. What is this?

One of the key features of FinSafe’s trading platform is Smart Order Routing. A professional trading platform that a traditional …

9 useful abbreviations in the JavaScript syntax

Various shortcuts increase your productivity and make the JavaScript code shorter. And since short records are absolutely equivalent to long …

Several reasons to explore Swift

Swift is applied to create applications for Mac and iOS acting as a possible replacement for Objective-C. The latter, though …