Latest News

Wednesday, January 30, 2019

A short overview of Go programing language.

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.

No comments:

Post a Comment

Tags

Recent Post