官术网_书友最值得收藏!

  • 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.

主站蜘蛛池模板: 精河县| 安塞县| 浦县| 合川市| 堆龙德庆县| 临洮县| 繁峙县| 临沭县| 黄浦区| 利川市| 寻乌县| 湖南省| 利津县| 梁平县| 精河县| 怀宁县| 寿光市| 汝阳县| 阿瓦提县| 镇原县| 黑水县| 天峨县| 隆昌县| 利津县| 阿拉善左旗| 和林格尔县| 牡丹江市| 无棣县| 溧水县| 屯昌县| 辽阳县| 射阳县| 马山县| 宣恩县| 罗田县| 卢湾区| 金湖县| 泰和县| 广东省| 汉寿县| 兴业县|