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.
Go’s mascot
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:
Development of Go language
Go language origin 2007Go from September 21, 2009 It officially started as a 20% part-time project of Google. On November 10, 2009, Google officially released the Go language. It was fully open source under the BSD protocol and supported Linux and Mac OS platforms. In November of the same year, it supported the Windows platform. Below we use a timeline to sort out the milestone events that occurred during this iterative process. If you want to know more about the historical version changes of Go, please see: https://golang.google.cn/doc/devel/release.html
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
Application scenarios of Go language
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!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

The library used for floating-point number operation in Go language introduces how to ensure the accuracy is...

Queue threading problem in Go crawler Colly explores the problem of using the Colly crawler library in Go language, developers often encounter problems with threads and request queues. �...

The difference between string printing in Go language: The difference in the effect of using Println and string() functions is in Go...

The problem of using RedisStream to implement message queues in Go language is using Go language and Redis...

What should I do if the custom structure labels in GoLand are not displayed? When using GoLand for Go language development, many developers will encounter custom structure tags...

Which libraries in Go are developed by large companies or well-known open source projects? When programming in Go, developers often encounter some common needs, ...

Go language performs well in building efficient and scalable systems. Its advantages include: 1. High performance: compiled into machine code, fast running speed; 2. Concurrent programming: simplify multitasking through goroutines and channels; 3. Simplicity: concise syntax, reducing learning and maintenance costs; 4. Cross-platform: supports cross-platform compilation, easy deployment.

Efficiently handle concurrency security issues in multi-process log writing. Multiple processes write the same log file at the same time. How to ensure concurrency is safe and efficient? This is a...
