Go or Golang is a
programming language created at Google, by Google developers and other
programmers. This programming language is free and open source and currently
being maintained by Google. One of the founding member of Go is Ken Thompson
who is best known for his work in Unix operating system development. Go
compiler was initially written in C but now, it is written in Go itself, making
it self-hosted.
So what’s so special about Go?
- Go
is statically typed compiled language.
- It
support built in concurrency model with the help of GoRoutines.
- It
has built in garbage collector and memory safety.
- Strings
in Go are UTF-8 encoded by default.
- It has simpler syntax compared to other compiled programming languages.
Motivation behind its creation
There are tons of
programming language to choose from nowadays. Each language has its own
benefits and different programmers find different languages friendlier than
others. But a language should be perfect in all sense and should be easy to
work with for any programmer. A programming language can be dedicated for one
task like COBOL or can be used general purpose programming like Java or
JavaScript on Node.
The four important things
a language must thrive to achieve is speed/efficiency, reliability, scale and
simplicity. If we consider languages like C or C++, they are great at speed,
scale and reliability but in terms of simplicity, they are not so great. Java
on other hand is very reliable and highly scalable, but moderately simple to
write and not so efficient compared to other low-level languages. Python is a
widely adopted language and very simple to write but not so efficient and
reliable.
Whenever Google creates a
language or a framework, I suppose it’s because they want to eventually use it
in their own organization. Angular, Material design, Dart, Flutter etc. are few
examples.
Google back in 2008–2010
was looking for a language which could be great at all these 4 things. I guess
their idea was to replace traditional low-level programming languages with this
language in their own infrastructure. Hence with the help of Ken Thompson, Rob
Pike and Robert Griesemer, they created a language Go that was could give
developers an experience of writing scripting (interpreted) language like
Python or JavaScript but at the same time, provides quirks of low-level
compiled language. Their major focus was on simplicity, scale, speed and
reliability. Since, go is a commonly used English word which makes it difficult
to target internet searches to Go Programming Language, many people use GoLang
instead of Go.
Things that make Go a
great language is its simple concurrency model, its package based code
management and its non-strict (type inference) typing system. Go does not
support out of the box Object Oriented Programming experience, but is support
structures (structs) which with the help of methods and pointers can help us
achieve the same.
I came across an article on day, which stated that Go will be server language of the future. I don’t deny that. Go has strong potential, tooling is great and writing Go code is easy. Since, Go is not widely adopted language as of early 2018, it’s hard to find Go related tutorials and learning resources on the web.
About Us
TMA Solutions was established in 1997 to provide quality software outsourcing services to leading companies worldwide. We are one of the largest software outsourcing companies in Vietnam with 2,400 engineers. Our engineering team was selected from a large pool of Vietnam IT resources; they are well-trained and have successfully completed many large and complex projects.
About Us
TMA Solutions was established in 1997 to provide quality software outsourcing services to leading companies worldwide. We are one of the largest software outsourcing companies in Vietnam with 2,400 engineers. Our engineering team was selected from a large pool of Vietnam IT resources; they are well-trained and have successfully completed many large and complex projects.
No comments:
Post a Comment