Welcome to the Golang tutorial series. This tutorial will discuss an introduction to the Go language and the advantages of choosing Go language over other programming languages.
This programming language is free and open-source and is currently being maintained by Google. Go has C language style syntax but provides memory safety, garbage collection and inbuilt concurrency. Since GO is an open-source programming language, it is hosted on Github and is open for contribution by anyone.
Go is a statically-typed language having syntax similar to that of C language.
What is Statically typed programming language?
A programming language is statically typed if the type of a variable is known at compile-time instead of at run-time. Common examples of statically-typed languages include Java, C, C++, FORTRAN, Pascal, and Scala.
The Go programming language was made publicly available in November 2009 and is used in some of Google’s production systems.
Go, also known as Golang, is a general-purpose programming language with a simple syntax backed by a robust standard library.
Go excels in the creation of high-availability and scalable web applications. The Go language can be used to create desktop and mobile apps, command-line programs, and desktop applications.
The motivation behind its creation
There are several programming languages to choose from nowadays. Each language has its benefits, and different programmers find different languages friendlier than others. But a language should be perfect in all senses and easy to work with for any programmer.
The four essential things a language must thrive to achieve are speed/ efficiency, reliability, scale, and simplicity.
If we consider languages like C or C++, they are great at speed, scale, and reliability, but they are not so great in terms of simplicity.
On the other hand, Java 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 use it in their organization eventually.
Back in 2008–2010, Google was looking for a language that could be great at all these four things (speed/efficiency, reliability, scale, and simplicity).
I guess their idea was to replace traditional low-level programming languages with this new language in their infrastructure.
Google’s primary focus was on simplicity, scale, speed, and reliability. Since Go is a commonly used English word, searching Go programming-related things on the internet is not easy, so many people use GoLang instead.
Things that make Go a great programming 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 OOP paradigm.