Googleはなぜgolangを作ったのか?
なにより中島さんがよく口にされていた「おもてなし」のためじゃないだろうかと思ってた。
UIE 中島さんのBlogで、GoogleはなぜAndroidやChrome OSを無料で配布するのか?と言うポストを読んで。Blog炎上っていうか微妙な発言ほどコメントやTBが集まるけど、本筋の正論にはコメントが集まらないのが寂しいなぁとか変なことを考えつつ。
確かにコモディティとか戦略って意味もあるだろうけど一番の根底にあるのはgoogleとしてのおもてなし。現状、携帯電話や携帯端末での主流はOperaのサブセットとかNetFrontとか。Googleがネットのでのおもてなしのために必要と考えているHTML5のサポートは微妙な状況。唯一AppleのiPhoneだけ。そんな中でGoogleユーザ(ネットユーザ)に気持ちよく携帯電話や携帯端末を使ってもらうために、AndroidやChrome OSを配布している。無いものは自分たちで作って提供すると言う方針。無料なのはGoogleが検索やその他のサービスを無料で提供しているのと同じ無料で特に深い意味はない。またGoogleとして全体的まとまりが今ひとつ見えないのは、Appleで言うところのジョブズの様な神が居ないから。
さて一方、go言語はどうだろうか?pkgのソースを見てるとほとんど既成のライブラリを使っていない。先日エントリしたdnsclientや、X11、どちらもcgoで既存ライブラリを呼び出せばもっと互換性高く簡単に実装できるはず。それを敢えてgoで自前で実装してる。基本的にCでインターフェイスして呼び出しているのはsyscallだけ。つまりKernelさえ動いていれば後のユーザーランドは不要。
と、言う事に気がついて微妙に既存のCライブラリをラップするcgoの作成には気が乗らない。Chrome OSはあくまでChrome OS。Google OSではない。Chrome OSがUbuntuにChromeをシェルとして被せただけとか色々な意見があった。今後、Kernelだけvmlinuzやmach_kernelで後のユーザーランドはgo nativeなOSが出てきても全然おかしくない。goのhttpサーバにブラウザがあれば完了だ。goで書かれたGoogle OSが登場しないと誰も言い切ることは出来ないだろう。
って言ってもサーバサイドでの話がメインぽいので早くGAEがgo対応して欲しいなーとかw
0か1かって話でも無いけど。
中島さん書かれてないけどMBAは順調なのだろうか?とかw