golangの歴史
2009年11月にGoが初めて発表され、バージョン1.0が2012年3月28日にリリースされた。
GoはGoogleの本番システムの一部で使用されており、他の多数の企業やオープンソースプロジェクトでも使用されている。
主に次の2つの実装が存在する。
GoogleのGoツールチェイン。複数のプラットフォームをサポートとしており、Linux、BSD、macOS、Plan 9、Windows、そして(2015年から)モバイルデバイスで動作する。
このGoコンパイラは、バージョン1.5からセルフホスティングされるようになった。
2つ目のコンパイラgccgo。これは、GCCのフロントエンドである。
Goの起源はGoogleのエンジニアである
Robert Griesemer、
ロブ・パイク、
ケン・トンプソン
による、新しいプログラミング言語を設計する実験的なプロジェクトに端を発する。
他の言語がよく受ける批判を解決するとともに、それらの言語のよい特徴をできる限り損なわないようにすることを目指した。彼ら設計者たちは、新しい言語として、以下の特徴を持つものを構想していた。
(JavaやC++のように)静的に片付けされ、巨大なシステムでもスケールする
*(RubyやPythonなどの動的な言語のように)生産性(英語版)が高く、リーダブルであり、過度なボイラープレート(英語版)が必要ない
IDEが必須ではない。ただし、十分にサポートする
ネットワークおよびマルチプロセッシングをサポートする
後のインタビューで、3人の言語設計者すべてが、
新しい言語を設計する主なモチベーションとしてC++が好きでないこと を共有していたことを述べている
バージョン1.6から、64ビットMIPS上で動作するLinux版および32ビットx86上で動作するAndroid版ポートが追加された。
2017年7月13日、バージョン2への取り組みへの開始が発表された。
バージョン1.x系とバージョン2の開発は並行して行われ、バージョン1.20がバージョン2と同義となると宣言されている。
2018年4月、旧ロゴ(Gopherマスコット)がテキストと3本の直線からなる新しいデザインのものに変更された。しかし、マスコットはそのまま変わっていない。