Why Go is skyrocketing in popularity

Why Go is skyrocketing in popularity

The?Go programming language, ?sometimes referred to as Google's golang, is making strong gains in popularity. While languages such as Java and C continue to dominate programming, new models have emerged that are better suited to modern computing, particularly in the cloud. Go's increasing use is due, in part, to the fact that it?is a lightweight, open source language suited for today's microservices architectures. Container darling Docker and Google's container orchestration product?Kubernetes?are built using Go. Go is also gaining ground in data science, with strengths that data scientists are looking for in overall performance and the ability to go from "the analyst's laptop to full production."

As an engineered language (rather than something that evolved over time), Go benefits developers in multiple ways, including garbage collection, native concurrency, and many other native capabilities that reduce the need for developers to write code to handle memory leaks or networked apps. Go also provides many other features that fit well with microservices architectures and data science.

Because of this, Go is being adopted by interesting companies and projects. Recently an API for?Tensorflow?has been added, and products like?Pachyderm?(next-gen data processing, versioning, and storage) are being built using Go. Heroku's?Force.com?and parts of?Cloud Foundry?were also written in Go. More names are being added regularly.

Rising popularity and usage

In the September 2017 TIOBE Index for Go, you can clearly see the incredible jump in Go popularity since 2016, including being named TIOBE's Programming Language Hall of Fame winner for 2016, as the programming language with the highest rise in ratings in a year. It currently stands at #17 on the monthly list, up from #19 a year ago, and up from #65 two years ago.

No alt text provided for this image

The Stack Overflow Survey 2017 also shows signs of Go's rise in popularity. Stack Overflow's comprehensive survey of 64,000 developers tries to get at developers' preferences by asking about the "Most Loved, Dreaded, and Wanted Languages." This list is dominated by newer languages like Mozilla's Rust, Smalltalk, Typescript, Apple's Swift, and Google's Go. But for the third year in a row Rust, Swift, and Go made the top five "most loved" programming languages.

No alt text provided for this image

Go advantages

Some programming languages were hacked together over time, whereas others were created academically. Still others were designed in a different age of computing with different problems, hardware, and needs. Go is an explicitly engineered language intended to solve problems with existing languages and tools while natively taking advantage of modern hardware architectures. It has been designed not only with teams of developers in mind, but also long-term maintainability.

At its core, Go is pragmatic. In the real world of IT, complex, large-scale software is written by large teams of developers. These developers typically have varying skill levels, from juniors up to seniors. Go is easy to become functional with and appropriate for junior developers to work on.

Also, having a language that encourages readability and comprehension is extremely useful. The mixture of duck typing (via interfaces) and convenience features such as ":=" for short variable declarations give Go the feel of a dynamically typed language while retaining the positives of a strongly typed one.

Go's native concurrency is a boon for network applications that live and die on concurrency. From APIs to web servers to web app frameworks, Go projects tend to focus on networking, distributed functions, and/or services for which Go's goroutines and channels are well suited.

Go is an explicitly engineered programming language, specifically designed with these new requirements in mind. Written expressly for the cloud, Go has been growing in popularity because of its mastery of concurrent operations and the beauty of its construction.

Not only is Google supporting Go, but other companies are aiding in market expansion, as well. For example, Go code is supported and expanded with enterprise-level distributions such as?ActiveState's ActiveGo . As an open source movement, the?golang.org ?site and annual?GopherCon ?conferences form the basis of a strong, modern open source community that allows new ideas and new energy to be brought into Go's development process.


要查看或添加评论,请登录

社区洞察

其他会员也浏览了