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/
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