なぜ大規模開発でGoを使うのか?
HTTP系のプロトコルをよくサポートしていてWebサービス書きやすい
In my personal projects, Go proved to be a good alternative to Node.js, especially in situations where I wanted to pin down the interfaces between different components more explicitly than you would do while writing idiomatic JavaScript. エンタープライズに適している
エンタープライズの問題はスコープとプロセスのスケール
スコープがでかい
沢山の人が関わる、複雑なドメイン
技術的な正確性ほ落ちがち
これから、エンタープライズ開発には3つの性質がある
1. たくさんの技術不足の開発者が関わる
2. ソフトはすぐ巨大で複雑になる
仕様が変わり、抽象化が漏れると直すのが大変
このあたりはバランスの問題だが、Googleのようなスーパーエンジニアがたくさんいる会社でも無いほうがいい事が結構あるということなのだろう……kadoyau.icon
3. ツールチェインはだいたい陳腐
古いコードは古いツールセットが使われている
Goはこの複雑性を抑える
JavaやC#より学習曲線が急峻でない
GoコミュニティはJava/C#で使われているような多くの抽象化をアンチパターンとみなしている
コンパイラが早い
Rust is a better C++, and even if you occasionally hear that Go is a better C, well, that’s just not the case. No language with a built-in garbage collector and runtime can be considered a C. And don’t be mistaken, Rust is a C++, not a C.