Overview
The Go language was designed and implemented by three very famous engineers: Ken Thompson, Robert Griesemer and Rob Pike at Google. By the way, the question will definitely be in your mind, why did they create the language? Or what was the problem they were trying to overcome which inspired them to create a new programming language, when there are already many powerful language available.The answer is efficient compilation, efficient execution, concurrency and of course ease of programming.
The syntax for Go is inspired by C, and some of the features are also derived from Python and JavaScript which we will see in more detail later, and also, that Go is a multi-paradigm language, meaning that it is procedural as well as object oriented. Being a multi-paradigm, we do not have to create objects for everything here nor do we have to use processes for everything. Almost all types of programs are a mixture of procedure and object oriented code based on a specific type of problem. It is strongly encouraged throughout the community to look at your use case, and to adopt a procedural or object oriented style.
Go is a garbage collected language, which means that, when you are working with Go, you will not need to manage your memory. This was a decision taken to make the language stronger. Go also focuses on rapid compilation, so one concern with some languages that they have longer compile time which was very hard for engineers to stay in a nice productive flow, as they write tests and rapidly compile the application and make sure that things are working.
Single binary output is another feature of the language, which does not mean that it contains all the assets of an application, If you are building a web application, you can have additional HTML, CSS, JavaScript files, but all Go code is compressed into a binary. The reason behind this is simple deployment. But you can also write a separate library and allow an application to use it and discover functionality at run-time. But the primary use case for Go is to compile it into a single binary.
Go has built many applications such as Doktor, Kubernetes. Speaking in terms of companies, Uber, Facebook, Netflix Digital Ocean and Google are regularly using it in their production environments.
Keeping it small and sweet lets end the lesson here, I shall come up with language specifications and advanced concepts in coming posts. Feedback appreciated!
Best Regards,
Dave
Keeping it small and sweet lets end the lesson here, I shall come up with language specifications and advanced concepts in coming posts. Feedback appreciated!
Best Regards,
Dave
Good !
ReplyDelete