Why Go's popularity is soaring

Source: Internet
Author: User
This is a creation in Article, where the information may have evolved or changed. In just two years, the Go language has soared from 65th place to 17th place in the most popular programming languages. Here's why it's growing fast. [] (Https://opensource.com/sites/default/files/styles/image-full-size/public/lead-images/build_structure_tech_ PROGRAM_CODE_CONSTRUCTION.PNG?ITOK=NVSILUAG) images from the _opensource.com_[go language] (https://golang.org/), also known as Google's Go language, Sentiment is growing strongly. While languages such as Java and C continue to dominate programming, new programming models have emerged that are more suitable for modern computing, especially in the realm of cloud computing. Go is being used more and more, in part because it is a lightweight, open source language that fits into today's microservices architecture. Container technology darling Docker and Google's container orchestration products [Kubernetes] (https://opensource.com/sitewide-search?search_apiviews_fulltext=Kubernetes) are built using Go. Go is also a place in the field of data science, with the overall performance that data scientists are looking for and the ability to go from "analyst notebooks to full production". As an engineering language (something that evolves over time), Go has benefited developers in a variety of ways, including garbage collection, native concurrency, and many other native features that reduce the developer's ability to write code to handle memory leaks or network application requirements. Go also offers a number of other features that are better suited to microservices architectures and data science. Because of this, Go is used by many interested companies and projects. Recently added [TensorFlow] (https://www.tensorflow.org/) APIs, as well as [Pachyderm] (http://www.pachyderm.io/) (Next-generation data processing, Version control and storage) are being built using Go. Part of Heroku's [force.com] (Https://github.com/heroku/force) and [Cloud Foundry] (https://www.cloudfoundry.org/) also uses Go Be written. And the list is increasingly adding more names. # # Growing popularity and applying the TIOBE's GO language index in September 2017, you can clearly see the incredible jump in popularity since 2016, and more as the highest-scoring programming language of the year, the 2016-man Hall champion named the TIOBE programming language. At present, it ranked 17th in the monthly rankings, ranking 19th place a year ago, 65th position two years ago. [Tiobe_index_for_go.png] (https://opensource.com/sites/default/files/u128651/tiobe_index_for_go.png) TIOBE's Go language index [TIOBE] (https://www.tiobe.com/tiobe-index/go/) "2017 Stack Overflow Survey" also shows how popular go is. Stack Overflow's comprehensive survey of 64,000 developers sought to gain developer preferences by asking "the most popular, most annoying, and most anticipated language". The list is made up of newer languages such as Mozilla's Rust, Smalltalktypescript, Apple's Swift, and Google Go. However, Rust, Swift and Go have been the top five "favorite" programming languages for three consecutive years. [Stackoverflow_most_loved.png] (Https://opensource.com/sites/default/files/u128651/stackoverflow_most_loved.png) The most popular, most annoying and most desired language, [ Stackoverflow.com] (https://insights.stackoverflow.com/survey/2017#most-loved-dreaded-and-wanted) # # Go The advantages some programming languages are designed from the combination of advantages in practice, while others are created on the basis of academic theory. Others are designed in different computing eras to solve different problems, hardware, or needs. Go is an engineering language designed to leverage modern hardware architectures to solve existing language and tool problems. It is designed to take into account not only team development, but also long-term maintainability. As a core idea, Go is pragmatic. In the real IT world, complex, large-scale software is compiled by large development teamsWritten by. These team developers, from teenagers to adults, often have different skill levels. Go makes it easy to implement specific functions that are suitable for junior developers. And, as a language that facilitates readability and comprehension, it is very useful. The mix of duck types (via interface) and short variable declarations of convenience features (such as ": =") gives the sensation of a dynamic type language to Go, while preserving the advantages of a strongly typed language. Go's native garbage collection eliminates the need for memory management by developers, which helps eliminate two common problems: * First, many programmers already expect memory management to complete automatically. * Secondly, memory management requires different routines for different processing cores. Manually attempting to schedule each configuration can significantly increase the risk of introducing a memory leak. The native concurrency of Go is a boon for frequently initiating and unregistering concurrent Web applications. From APIs to Web servers to Web application frameworks, the Goroutine and Channels of the Go language are ideal for projects that focus more on networking, distributed functionality, and/or services. # # Suitable for Data science the extraction of business value from big data is fast becoming the competitive advantage of the enterprise, and this is also a very active part of the programming field, covering the fields of artificial intelligence, machine learning and other professions. Go has several advantages in these data science areas, which are increasing its use and popularity. * Excellent error handling and easier debugging are gaining attention from two of the most common data science languages, Python and R. * Data scientists are not usually programmers. Go facilitates prototyping and production, so it ultimately becomes a more powerful language for putting data science solutions into production. * Performance is great, and it's important to consider the exploding growth of big data and the rise of GPU databases. Go also does not need to call C + + for performance tuning, but retains the ability to allow users to do so. # # Go's expansion source software delivery and deployment has changed dramatically. MicroServices architecture has become the key to unlocking application agility. Modern application design combines cloud and on-premises to take advantage of loosely coupled cloud services provided by the cloud platform. Go is an engineering programming language designed specifically for these new requirements. Because it is written specifically for cloud computing, Go is increasingly popular because of its concurrent operation and graceful design. Not only does Google support go, but other companies are also helping go expand the market. For example, [ActiveState's Activego] (Https://www.activestate.com/activego) supports Go and expands at the same time for enterprise-level distribution. As an open source activity, through [golang.org] (https://golang.org/) website and [Gophercon] (https://www.gophercon.com/) Annual Meeting together form the foundation of a powerful modern open source community, prompting the integration of new ideas and new dynamics into the Go development process.

Via:https://opensource.com/article/17/11/why-go-grows

Author: Jeff Rouse Translator: Mosliu proofreading: polaris1119

This article by GCTT original compilation, go language Chinese network honor launches

This article was originally translated by GCTT and the Go Language Chinese network. Also want to join the ranks of translators, for open source to do some of their own contribution? Welcome to join Gctt!
Translation work and translations are published only for the purpose of learning and communication, translation work in accordance with the provisions of the CC-BY-NC-SA agreement, if our work has violated your interests, please contact us promptly.
Welcome to the CC-BY-NC-SA agreement, please mark and keep the original/translation link and author/translator information in the text.
The article only represents the author's knowledge and views, if there are different points of view, please line up downstairs to spit groove

3,758 Reads
Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.