Computer Science, asked by sn38635, 1 year ago

What key features are required in any programming language?

Answers

Answered by ayush579
1
The Programming Language space is a crowded one and it is not an easy job to emerge as the language of choice by any measure. One language that has taken a while to come out of the blocks and is now seeing a clear traction in the infrastructure space is Google’s Go Programming Language.

The Go Programming Language was started at Google by Robert Griesemer, Rob Pike and Ken Thompson in 2007, with its first release in 2009. The core reason behind creating a new language then was to help manage large code bases, keep the development productive and focus on simplicity. With its roots across multiple programming languages and especially that of C language, it found its followers slowly and steadily. The Go Project is not just the language specification but also a toolchain and an ecosystem that consists of standard libraries and external 3rd party libraries contributed by organizations and individuals.

Now 6 years later, it is currently at 1.6 version with 1.7 about to be released in mid-February. Along the way it has become the preferred language of choice for Infrastructure vendors with some of the most popular and active projects being written entirely in Go Language. Docker, the Container startup, that has revolutionized the way we build, ship and run applications is completely written in Go Language. Some of the other big users of the language include CoreOS, Kubernetes (Google), InfluxDB and more.

What are some of the reasons behind the popularity of Go? Why do developers feel that it makes programming fun again? Here are some of the key points:

Binaries:

Go generates binaries for your applications with all the dependencies built-in. This removes the need for you to install runtimes that are necessary for running your application. This eases the task of deploying applications and providing necessary updates across thousands of installations. With its support for multiple OS and processor architectures, this is a big win for the language.

Language Design:

The designers of the language made a conscious decision to keep the language simple and easy to understand. The entire specification is in a small number of pages and some interesting design decisions were made vis-à-vis Object-Oriented support in the language, that keeps the features limited. Towards this, the language is opinionated and recommends an idiomatic way of achieving things. It prefers Composition over Inheritance and its Type System is elegant and allows for behavior to be added without tight coupling the components too much. In Go Language, “Do More with Less” is the mantra.

Similar questions