Home > Article > Backend Development > What animal is the go language icon?
The go language icon is the gopher. Gopher is a small animal that lives in Canada. The mascot of Go is this little animal. Its Chinese name is gopher. Their biggest feature is that they dig holes very fast. Gopher also represents the operation of the Go language. Speed, development speed, and learning speed (develop) are fast.
The operating environment of this tutorial: Windows 7 system, GO version 1.18, Dell G3 computer.
The logo of the Go language is the very simple two letters GO.
The reason why Go is called Go is to express that the running speed, development speed, and learning speed (develop) of this language are all like gopher. quick.
The symbol of go language is a gopher. Some people say it is a prairie dog, but according to interested people (too bored) to research the party, they concluded that go means The prototype is actually a gopher.
Gopher is a small animal that lives in Canada. The mascot of go is this little animal. Its Chinese name is Gopher. Their biggest feature is that they dig holes very fast. Of course, there may be more than one. Digging a hole.
#Go language’s cute mascots have different styles among a bunch of programming languages.
It makes people wonder if this gopher was really made by a Geek?
Of course
No!
This cute mascot was drawn by Renee French, the wife of Rob Pike. Pob Pike is one of the inventors of Go and a member of the UNIX team at Bell Labs. The main developer of Plan9, his favorite thing seems to be:
Inventing operating system
Inventing editor
Inventing language
....
Although this great god is legendary, he is not our protagonist this time.
Our protagonist, Renee French, the designer of the golang mascot, is a well-known illustrator. Her painting style is like this:
# #好cute, so cute, so cute (o゜▽゜)o☆ It was she who designed the Golang mascot, the cute Gordon比心心!If you want to know more about the historical version changes of Go, please see: https://golang.google.cn/doc/devel/release.html
- In September 2007, the prototype design was officially named Go by Rob Pike; - In May 2008, Google fully supported the project; // November 2009 On March 10, it was first publicly released. Go made all its code open source, and it won the Language of the Year that year; - On March 16, 2011, the first stable version of the Go language, r56, was released. // On March 28, 2012, the first official version of Go language, Go1, was released. - On April 4, 2013, the first Go 1.1beta1 beta version of the Go language was released. - On April 8, 2013, the second Go 1.1beta2 beta version of the Go language was released. - On May 2, 2013, Go language Go 1.1RC1 version was released. RC=Release Candidate, meaning "release candidate version", It is not the final version, but the last version before the final version (RTM=Release To Manufacture). - On May 07, 2013, Go language Go 1.1RC2 version was released. - On May 9, 2013, Go language Go 1.1RC3 version was released. - On May 13, 2013, the official version of Go language Go 1.1 was released. - On September 20, 2013, Go language Go 1.2RC1 version was released. - On December 1, 2013, the official version of Go language Go 1.2 was released. - On June 18, 2014, Go language Go version 1.3 was released. - On December 10, 2014, Go language Go version 1.4 was released. // On August 19, 2015, Go language Go version 1.5 was released. The "last remaining C code" was removed in this update.The release of go1.5 is considered historic. Completely remove the C language part and use GO to compile GO (ps: a small amount of code is implemented in assembly). GO compiling GO is called the bootstrapping of Go, which is a manifestation of the maturity of a programming language. In addition, they invited Rick Hudson, an authoritative expert in memory management, to redesign the GC to support concurrent GC and solve the widely criticized GC latency (STW) problem. And in subsequent versions, GC has been further optimized. By go1.8, the GC delay in the same business scenario can be controlled from several seconds in go1.1 to within 1ms. To solve the GC problem, it can be said that the GO language has almost eliminated all weaknesses in server-side development.
- On February 17, 2016, Go language Go version 1.6 was released.
- On August 15, 2016, Go language Go version 1.7 was released.
- On February 17, 2017, Go language Go version 1.8 was released.
- On August 24, 2017, Go language Go version 1.9 was released.
- On February 16, 2018, Go language Go version 1.10 was released.
- On August 24, 2018, Go language Go version 1.11 was released.
- On February 25, 2019, GO language Go1.12 was released.
ps: During the version iteration process of the GO language, the language features have basically not changed much. They are basically maintained on the GO1.1 benchmark, and the official commitment is that the new version will be more effective for those developed under the old version. The code is fully compatible. In fact, the GO development team is very cautious in adding new language features. The version changes of the Go language mainly focus on the underlying performance such as stability, compilation speed, execution efficiency and GC performance. Therefore, Go language users do not have to worry about fast Compatibility issues caused by version changes
The growth curve of Go language in the language rankings (https://www.tiobe.com/tiobe-index/) in the past two years is as follows, and overall it is still on an upward trend
A large number of killer applications developed based on GO language: Docker, Kubernetes, Go-Ethereum, Thrraform, Moby, Gogs, Grafana, Etcd, etc. It won the title of TIOBE Programming Language of the Year twice in 2009 and 2016, and ranked 12th in the world in 2020
In the end, programming language It’s just a tool, don’t choose the best, just the most suitable
// The applicable scenarios for Go language are:
- 1. Server programming, before If you use C or C to do those things, Go is very suitable for doing it, such as log processing, data packaging, virtual machine processing, file system, etc.
- 2. With its excellent concurrency capabilities, Go is also very powerful in the field of distributed systems, such as cluster systems, game servers, database agents, middleware and other scenarios
- 3 , Network programming, this area is currently the most widely used, including Web applications, API applications, download applications, and Go's built-in net/http package basically implements all the network functions we usually use.
- 4. Database operation
- 5. Develop cloud platform. Currently, many foreign cloud platforms are using Go for development
// Scenarios where Go language is not suitable For:
1. Strong real-time software: Voice communication, driverless driving, garbage collection, automatic memory allocation and other factors make Go unable to achieve real-time performance
Others
The Go language is designed as a systems programming language for use on giant central servers running web servers, storage clusters, or similar purposes. For the field of high-performance distributed systems, Go language undoubtedly has higher development efficiency than most other languages. It provides massive parallel support, which is perfect for game server development. A very good goal of the Go language is to implement the so-called Complex Event Processing (CEP). This technology requires massive parallel support, a high degree of abstraction and high performance. As we enter the Internet of Things era, CEP will inevitably become the focus of attention. But the Go language is also a language that can be used to achieve general goals, such as text processing, front-end presentation, and even using it like a script. It is worth noting that due to garbage collection and automatic memory allocation, the Go language is not suitable for developing software with high real-time requirements. More and more large-scale distributed applications within Google are beginning to be developed using the Go language. For example, part of the code for Google Earth is completed by the Go language. If you want to know about some actual application projects developed by other organizations using the Go language, you can go to the Organizations Using Go page to view them. For privacy reasons, many companies' projects are not displayed on this page. There is a Go compiler built into the Chrome browser for native clients (NaCl), which will likely be used to execute Go-developed applications in Chrome OS. The Go language can run on Intel or ARM processors, so it can also run on Android systems, such as the Nexus series of products. Using the Go language in Google App Engine: On May 5, 2011, the Go SDK was officially released for developing web applications running on Google App Engine. Before that, developers could only choose to use Python or Java. This is primarily the result of the efforts of David Symonds and Nigel Tao. The latest stable version is SDK 1.9.18 based on Go 1.4, which was released on February 18, 2015.
【Related recommendations: Go video tutorial, Programming teaching】
The above is the detailed content of What animal is the go language icon?. For more information, please follow other related articles on the PHP Chinese website!