Go
GoogleのGo言語についてつぶやいてみました。
本家:The Go Programming Language
@IT:グーグル、C/C++に代わる新言語「Go」をOSSで公開
-
- -
- 軽くGo言語のspecをなめてみた。なんでもアリアリのD言語と比べるとだいぶスリム。配列の扱いに工夫があって、D言語同様にstringを組み込み型に入れている。
- 面白いのは並行処理。たぶん実装はthread じゃなくてcoroutine。goroutineなんて呼んでいる。threadよりはスタック消費の面で軽量。plan9のCコンパイラでは、 segmented stackが扱えるそうで、plan9との親和性は高そう。
- 一応、オブジェクト指向。でもinterfaceしかない。抽象型だけ入れてある感じ。coroutineといい、私にはModula-2に見える。
- 関数が複数の値を返せるのにびっくり。これほしかった。func f() (i int, j int); v1, v2 = f();
- generic typesもないし、exceptionも扱えません。性能上の理由があるらしい。性能命のGoogleの姿勢が見える。
- operator overloadingがないのは当然として、method overloadingもありません。
- Go言語、do/while文もない。どうしてるかは、ドキュメント参照。
- Windowsに載っける気はさらさらないらしい。LLVMで動かす気もないみたい。遅くなるのがいやだと。さすがGoogleさま。"it was too large and slow to meet our performance goals."
- -