A Brief History of Go
source link: https://www.opensourceagenda.com/blog/a-brief-history-of-go
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
A Brief History of Go
Oct 16, 2021
Three engineers from Google, Rob Pike, Ken Thompson, and Robert Griesemer, developed Golang. The three grew weary of the complexity of C++ and the lack of a simple language that can offer efficient execution and compilation. In September 2007, the three started designing a new language, and after two years, in November 2009, they released the Go programming language to the public as an open-source project. Although the official name of the language is Go, the domain name "go.org" was already taken. Therefore, they settled on Golang (a combination of Go and short form for language, Lang). Version 1.0 of the language was released in March 2012.
Design goals
The programming language was developed and designed to increase productivity in various working environments. On top of its well-known concepts like garbage collection and concurrency, design considerations for the Go include high-level dependency management. Others are robustness over the boundaries that link various components and the adaptability of software architecture as the system grows. Go is a concurrent, compiled, statically typed, and garbage-collected language. It imports the public repository and the other way around. Go was also intended to support multicore and network programming while also speeding upcoding.
Since version 1.1, various changes to the Go language have ensued. For instance, versions 1.4-1.4.3 introduced range-expression without assigning, and they disallowed the automatic double-dereferencing in the gc and gccgo. The open-source communities and the engineers at Google have been developing packages to support the language. Currently, Go has reached version 1.17 that primarily changes the Go internals.
Why is Go this popular?
Although Go is barely 12 years since its initial release, its popularity as an often-used coding language is rising. It is because of its unique benefits that are packaged and served in one convenient unit. The fact that Go is a general-purpose programming language (GPL) makes it so popular. The following are the features that make Go so popular.
Code simplicity
The syntax of the Go language is relatively small and has remained so with no big changes. Additionally, Go has only one standard code format that is generated by its fmt tool. Go's lack of changes in syntax is beneficial to the developers. Because it stays almost the same, the code is not overcomplicated, and the programmers do not need to learn new paradigms.
Extensive programming tools
Being an open-source project, Go offers easy access to the tools required for the development. It has a wide range of IDEs, including; JetBrains GoLand, GoClipse, Zeus IDE, and LiteIDE. Therefore, you can execute Go programs on various platforms. Other tools include editors like VSCode and Plugins like VIM-go.
Concurrency paradigm
Concurrency means that a program can run multiple actions/tasks simultaneously. Go supports concurrency natively. It also allows multithreading, asynchrony, and multiprocessing. The Golang runtime scheduler manages all the created Goroutines that require a processor. This makes process communication efficient and fluent.
Go is fast
This is the most common opinion, and it is not just an opinion; various comparisons prove the fact. Compared to Python, Go is faster. Goroutines is the feature that makes Go fast because it executes the activity concurrently. Goroutines is a lightweight thread that is managed by Go runtime.
Conclusion
Go language has gone through various changes since the initial release. The changes are geared to improving the language to the benefit of the programmer. As we have seen, it has a lot of properties like concurrency garbage collection and runtime reflection that make it so popular. That is why the language is used by many companies like Google, Docker, Uber, and Kubernetes.
Recommend
-
78
A Brief History of sed
-
49
This blog post is a brief history lesson about the Erlang compiler for the BEAM machine. To provide some context, there will first be a quick look at the abstract machines for Erlang. A brief overview of the ear...
-
71
I once went to a website that had “hours of operation,” and was only “open” when its brick and mortar counterpart had its lights on. I felt perplexed and a little frustrated; computers are capable of running all day every...
-
44
A phenomenon we are seeing more of lately is flickering spinners. A brief splash of something spinning flashing before your eyes. Somehow you know it’s a spinner but you cannot make out the details. What just happened?
-
36
Riak Around 2013, Riak was at the forefront of Conflict-Free Replicated Data Type (CRDT) development with the engineers at Bash...
-
17
Quantum computing is an interesting topic. It is interesting becuse it can lead to key developments in many fields. It is also interesting because there is a huge deal of misunderstanding surrounding quantum computers. My...
-
6
Notes for my talk 'A brief history of synthesis with the Web Audio API' June 26, 2015 A brief history of synthesis with the Web Audio API At ScotlandJS in May this...
-
15
History of Icons - a visual brief on icon history Jul 9, 2015 Futuramo has created a fascinat...
-
5
Brief History of Logquacious Logquacious (lq) is an open source, fast, and simple log viewer written at Cash App. It supports reading structured log entries...
-
4
August 13, 2020 / #Responsive Design A Brief History of Responsive W...
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK