Skip to main content

Why Golang

Why Go Lang

 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
  1. C++
  2. Python 
  3. 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 :
  1. fast compilation
  2. compiled language
  3. strongly typed 
  4. concurrency by default
  5. Simple ( not easy )
  6. 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

Popular posts from this blog

Golang Commands

Overview    In this blog I am going to explain about basic go command and in depth knowledge about go commands will come after this series of basic go programming end. fallowing topic will be explained in this blog : primary commands help topic Commands Go ahead open command prompt on type go and press Enter. you can see all the commands and help topic that go provide. Primary Commands   this all are primary commands that go provide. this all are self explanatory. we have "bug" command for bug report, "clean" to clean previous projects, "install" to install packages to project.mod command needs explanation. which we will discuss on the next blog. but the command I want to talk about is doc. if we run ''go doc <package name>'' command  example "go doc json.decoder.decode" it will show the out put below. and if you run "go doc json.decoder" it will show the out put below. and if you run "go doc json" ...

List of data types in Golang

  index Description 1 Type: int8 8-bit signed integer 2 Type:  int16 16-bit signed integer 3 Type:  int32 32-bit signed integer 4 Type:  int64 64-bit signed integer 5 Type:  uint8 8-bit unsigned integer 6 Type:  uint16 16-bit unsigned integer 7 Type:  uint32 32-bit unsigned integer 8 Type:  uint64 64-bit unsigned integer 9 Type:  int Both in and uint contain same size, either 32 or 64 bit. 10   Type:  uint Both in and uint contain same size, either 32 or 64 bit. 11 Type:  rune It is a synonym of int32 and also represent Unicode code points. 12 Type:  byte It is a synonym of int8 . 13 ...

Functions and Methods of golang

  Overview In this blog i am going to talk about the functions and methods in golang. which is a important topic in go. if you have not read the previous blog or do not have a basic knowledge about go the i would suggest you to have a look at my other blog.  Functions   Methods Functions you can declare a function as below. you don't need to declare return type unless your not returning something from your function. you get the return value in a way that is explained in the example code . func <function name > ( <parameter> <parameter type> ) ( <return type> ){} Example Code : package main import ("fmt") func main() { test1() // example 1 sum := test2() // example 2 fmt.Println("sum =",sum) sum2,error:= test3(30,40) // example 3 fmt.Println("sum 2 =",sum2,error) sum3,_:= test3(80,60) // example 4 fmt.Println("sum 2 =",sum3) su...