- Security with Go
- John Daniel Leon
- 317字
- 2021-06-30 19:06:38
The History of Go
Go is a relatively young language, with its inception in 2007 and open sourcing in 2009. It started at Google as a 20% project with Robert Griesemer, Rob Pike, and Ken Thompson. A 20% project means that the project's developers spent 20% of their time working on it as an experimental side project. Go 1.0 was officially released in March 2012. It was planned from the beginning to be an open source language. Until Go 1.5, the compiler, linker, and assembler were written in C. After version 1.5, everything was written in Go.
Google initially launched Go for Linux and macOS, and the community drove the effort for other platforms, namely Windows, FreeBSD, OpenBSD, NetBSD, and Solaris. It has even been ported to IBM z Systems mainframes. Bill O'Farrell of IBM gave a talk at GopherCon 2016 in Denver titled Porting Go to the IBM z Architecture (https://www.youtube.com/watch?v=z0f4Wgi94eo).
Google is known to use Python, Java, and C++. It is understandable why they chose those languages too. They each fill certain roles and have their own strengths and weaknesses. Go was an attempt to create a new language that fits the needs of Google. They needed software that could perform extremely well under heavy loads, support concurrency, and that was easy to read and write, and compile quickly.
The triggering event for starting the Go project was dealing with a massive C++ code base that took hours to build because of the way C++ handles dependencies and re-includes headers (https://www.youtube.com/watch?v=bj9T2c2Xk_s (37:15)). This is why one of Go's main goals was to compile quickly. Go helped turn hours of compile time to seconds because it handles dependencies much more efficiently than C++.
Discussions for Go 2.0 have begun, but they are still in the conceptual stages. There is no timeline for a release, and there is no rush to release a new major version.
- 有限自動(dòng)機(jī)理論
- GMAT批判性推理:邏輯分類精講
- 世界是隨機(jī)的:大數(shù)據(jù)時(shí)代的概率統(tǒng)計(jì)學(xué)
- ANSYS 18.0有限元分析基礎(chǔ)與實(shí)例教程
- 數(shù)學(xué)建模與數(shù)學(xué)規(guī)劃:方法、案例及編程實(shí)戰(zhàn)(Python+COPT/Gurobi實(shí)現(xiàn))
- 紅發(fā)克拉拉的數(shù)學(xué)奇想
- 一個(gè)數(shù)學(xué)家的辯白(雙語版)
- 別說你不懂?dāng)?shù)學(xué)
- 小學(xué)數(shù)學(xué)廣角教學(xué)研究
- 數(shù)字乾坤
- 硅谷工程師爸爸的超強(qiáng)數(shù)學(xué)思維課:激發(fā)孩子的數(shù)感天賦
- 現(xiàn)代啟發(fā)式優(yōu)化方法及其應(yīng)用
- 經(jīng)濟(jì)數(shù)學(xué)(二):線性代數(shù)、概率論及數(shù)理統(tǒng)計(jì)
- 數(shù)據(jù)科學(xué)與機(jī)器學(xué)習(xí):數(shù)學(xué)與統(tǒng)計(jì)方法
- 在動(dòng)手實(shí)驗(yàn)中學(xué)習(xí)科學(xué)與數(shù)學(xué)