DEV Community

Cover image for Go Introduction #1
Sumit Mukharjee
Sumit Mukharjee

Posted on

Go Introduction #1

Introduction :

Go is the language made at Google by Robert Griesemer, Rob Pike, and Ken Thompson in 2007, which was open-sourced in 2009.
Go is statically-typed which means variables are declared explicitly and determined at runtime.

Why another programming language?

Whenever we learn any programming language the first question obviously comes to the mind why learn a different language when there are many others.
So the answers may be the following:-

  • Infrastructure changed a lot.
  • Multicore processors were included everywhere.
  • Cloud infrastructure became common.
  • Big Network Computation Clusters became universal.

However, existing languages were not able to take full advantage of it.
Here comes the use of the Go programming language which had Multicore concurrency support.
This support is on C++ and Java but they have complex code and are slow.

  • Go was designed to run on multiple cores and built to support concurrency(Dealing with lots of things at once).
  • Concurrency in Go is cheap and easy.

Use cases of GO

  • Writing applications that need to be very quick
  • Application that will run on modern, scaled, and distributed infrastructure with hundreds of thousands of servers typically on a cloud platform.

Go is used in server-side backend applications, these can be:

  1. Microservices
  2. Web-Applications
  3. Data-Base services It is interesting to know that many cloud clusters are already written in Go. Docker, Kubernetes, and Cockroach Db are written in Go.

Go characteristics

Simple and Readable - Has syntax of dynamically typed language like Python
Efficiency and Safety - of lower-lever, statically-typed language like C++

Advantages

  1. Simple syntax which makes it easy to learn and write code.
  2. Fast in building time, startup, and running.
  3. Requires fewer resources.
  4. Easy to maintain.

Compiled Type Language-
Go compiles into single binary code(machine code) which can be run on any system unlike Python.
This was the end of 1st part in Go series more will be coming.
It's also available in my hashnode page here

BASICALLY simplicity + speed= GO........

Discussion (2)

Collapse
cyber profile image
Sachit71

Heya nice article, hoping to see more of this series!

Collapse
sumitmukharjii profile image
Sumit Mukharjee Author

Yeah it will be uploaded in some time