Translate

Wednesday, 20 August 2014

Overview of Go Lang


Go Lang project initiation

·       Go Lang is an open source project started at Google in 2007. Main designers of this language are Robert Griesemer, Rob Pike(Unix designer), and Ken Thompson(Unix designer). In 2009 it was declared as an open source project and then about 450 developers from various parts of the world involved in writing various packages for Go Language.

·       Go Lang core libraries are designed using C Language and later using Go lang itself.

·       Go Lang features were influenced by C, Python, Pascal and Java languages.

Why Go Lang?

·       Go is a general purpose programming language like C language. Preferably a systems programming language.

·       C language was developed about half a century ago, and programming community still consider it is worth to learn because of its robustness, simplicity and performance. But certainly it lacks in some areas like utilizing multi core processors, cloud computing and Web, since at the time of C Lang development, these features did not exist.

·       The aim of Go language is not to replace C language. In fact it uses C language for Go’s core packages. So the aim is to  produce a concrete general purpose language similar to C in terms of simplicity , performance and robustness by utilizing latest updates in hardware and software technology to ease programming.

·       All programming languages right now are targeted to develop enterprise application (like Java,C#) , web applications(PHP ,RUBY etc..) or for any specific purpose . But there is no single modern language which can fulfill the gap that a general purpose language can suffice by giving advantages of Java like garbage collection, Python and VB like simplicity and C++ like performance. Here Go exactly fits.

Go- important features

·       Works on all major operating systems (Windows, Mac, Linux, Plan9 etc...).

·       Wonderful tool set for cross compilation on various processors and OS architectures like ARM 5, ARM 6, Win 32, Win 64, Linux 32,64 etc…

·       Comparatively fast compilation, hence application opens faster than many other programming language applications.

·       Hundreds of packages already are developed , tested and used by open source community.

·       Community developed many IDEs to develop Go applications. Some of them are Eclipse Add in, IntelliJ for Go, LiteIDE (Specially designed for Go).

·       Like many other programming languages Go Lang does not entertain warnings during compilation. Compiler gives only errors , no warnings. For e.g. if you declare a variable or a package and it is not used then according to Go Lang compiler it is an error.

Go Lang- important features

·       First class focus on concurrency patterns using Go routines and channels. Hence, better performance can be obtained from multi core systems. This is one of the key reasons of its wide adaptability.

·       Go is a very light weight language. There are fewer checks by compiler in comparison to  Java, C# and C++ etc... so compilation with Go is faster than many other language compilations.

·       Go is a Garbage collected language. Statically typed and type safe language.

·       There is no need to give “;” at the end of each statement. Compiler can automatically understand from the source code. Similarly programming has been simplified whereever it is possible in Go Lang.

·       Easy and effective variable type declarations.

·       Multiple return values from functions and methods.

·       Has different way of exception handling. There are no try catch blocks in Go.

·       Arrays, Slices and Maps are innovative and robust.

·       Innovative and different approach for Object Orientation. No classes in Go Lang but we can obtain similar features from structs and interfaces

·       Different and innovative approach in using Interfaces.

·       Many packages are available for Web, Servers, JSON Web Services and database programming. Please check the following link for all approved packages https://golang.org/pkg/

 
Information on downloads

·       Download latest Go version from http://golang.org/dl/

·       Download LiteIDE from http://sourceforge.net/projects/liteide/files/
 

Since Go is a new language with different approach, there is always a chance to think and program in an innovative out of the box way . Enjoy learning Go Lang.

Stay tuned for more tutorials on Go language features.

 

 

 

 

 

 

 

 

No comments:

Post a Comment