Go programming language is the first Google produced language. It is an open source programming language which can be used by anybody to develop applications. There are many user friendly features which has helped in it promotion in the software market. It is compatible with Linux and Mac OS X platforms also. The origination of the language initially is said to be production environment purpose. Later as the language was shaping up, it was also used ‘for real stuff’. The implementation of the language was started in Google itself.
Robert Griesemer, Rob Pike and Ken Thompson are the pioneers of Go programming language. They started working on this language since the late 2007. After 2 years of hard work in November 2009, it was officially launched in the global market. In May 2010, Rob Pike one of the developers of Go, stated that it was being used to develop some real stuff at Google. As the language is not yet out in the market openly, not much is known about the functioning or the origins of the language.
There are some interesting features of Go language. A brief description is given of some of these features below
the syntax of Go programming language is quite similar to C language. The control flow of the programs are strikingly similar to C. Curly braces are used to surround the blocks of code. for, switch and if are some of the control flow structures included. The semicolons to end the statements are optional in Go.
Go programming is known for its fast compiling time. It is not dependent on the configuration of the hardware. It is observed to have same execution speed on any hardware. This is one of the unique aspect of Go. This may also be because there are no in-built implementations in Go as of now.
Unlike C++ and Java, Go does not have type inheritance, generic programming and method overloading. Go developers offer openness in generic programming. Exception handling was not a part of Go programming language in the starting. But later in March 2010 panic/recover commands were introduced which handled the exceptional errors faced by the program.