Why I have started learning Golang :
I am working on a project for a company I work, which is based on webservice and will provide API service for developer and a interface where non developer can work with our product. and they will be charged on the basis of there usage. this project will be running on lots of microservices . For that micro service we will be needing a language that is really good at webservices(web services are designed to communicate with other programs) and easy to use concurrence(concurrency is when multiple sequences of operations are run in overlapping periods of time). Go is perfect for this type of work. on this blog I will be explaining about why I choose Go Lang for the task I am doing and what will come next.
Context:
Go was created at google for them to solve certain amount of problem they were having with the language they were already using. At the time they were using only three language
- C++
- Python
- Java
they all are really good languages but they have there flows as well.
if we look at C++, the advantages and disadvantages are :
Advantages | disadvantages |
---|---|
high Performance | Slow Compilation Time |
Type safety |
Complex Syntax |
Type safety will make the program more maintainable.
if we look at Python, the advantages and disadvantages are :
Advantages | disadvantages |
---|---|
Easy to use | No type safety |
Relatively slow |
if we look at Java, the advantages and disadvantages are :
Advantages | disadvantages |
---|---|
Rapid compilation time | Complicated ecosystem |
Type Safety |
While the advantages of Go is :
- fast compilation
- compiled language
- strongly typed
- concurrency by default
- Simple ( not easy )
- garbage collected language ( freeing the storage while program is no longer using )
go was made to solve all the problem that engineers on google were having on Java, python and C++. And go is really good at network base application And:
- web services
- web application
Basically Go is perfect for Backend programming and building webservices and API services. although one can use go for
- task automation
- GUI
- machine learning
but web services and web application are best for go because of its very strong network api that provided in standard library and built in concurrency.
I will be updating all the stuff and mistake I do on the way of learning this language so that other people can learn from my mistake. and will explain what I understood on next blog.
Previous Blog | Next Blog |
---|---|
Hello World With Golang |
Comments
Post a Comment