GoogleのGo言語によるPython実装「Grumpy」が公開され話題になっています。
www.itmedia.co.jp
news.mynavi.jp
codezine.jp
Go言語は入門書を一つ買って、ちょっと触っている程度だけど、実行速度、並列処理のしやすさ、シンプルさから今後作るサービスに取り入れていきたいと思っています。
- 作者: 松尾愛賀
- 出版社/メーカー: 翔泳社
- 発売日: 2016/05/11
- メディア: Kindle版
- この商品を含むブログを見る
でも、Go言語だけでWEBサービスを作ろうと思うと、PythonだとDjango、RubyのRailsみたいな、ありがちなのは全部用意されてる感はまだ無く、例えば会員登録とか、管理画面とか、RabbitMQみたいなMySQLなどと比べると少しマイナーなミドルウェアを使おうとかになってくると非常に面倒くさく感じます。
なので今のところ新規WEBサービスでは、個人の力量的にメインはPythonで書いて、局所的に処理が重い、またはレスポンス速度を求められるところはGoで書き、APIとしてマイクロサービス的に組み込んでいくのがいいと思っています。マイクロサービスは、Dockerと合わせれば管理もしやすいし。そういえばDocker自身もGo言語で書かれています。
またはGoogleの記事のYoutubeのようにすでに大量のユーザーを抱えている場合は、Goの処理速度と並列処理を活かすことができるので、費用対効果は非常にいいと思います。同時アクセスユーザーが数十人程度のサービスでは、サーバー台数も少ないし、他のところのオーバーヘッドが大きくてペイできないと思う。
で話がそれたけど、どのように世界(大げさ、インターネット周りといった方がいいか)がGoogleに染まっていくかの妄想を書いてみます。
1、C言語で書かれていたものがGo言語になっていく。
Go言語はGoogleが作った新しいC言語だと思っています。C言語からGo言語に変えて得られるのは、JavaのようなVMいらずで、Cと同等(未検証)の処理速度を持ちながら、使いやすい並列処理、現代的なパッケージ周りの便利さなどがあると思います。
DockerやKubernetesなど、OSに深く関わるアプリもGoで書かれ普及し始めています。
今までCが最適だったものがGoになるのはそう遠くないと思います。Go言語は、WEB開発者にも広がってきているので、ブラウザ専用からNode.js等サーバー用途にまで広がったJavaScriptのように、動く場所とともに需要も増えていきそうです。
Goでインタプリタを書くのも出てきてる。
interpreterbook.com
将来Goで書かれたOSなんかも出てきたらすごい。
2、PythonもGoになっていく
Googleの記事で、Pythonで書かれたYouTubeをGrumpyでGo言語に変換とされていたので、しばらくはPythonで書いていくのかもしれませんが、そのうち最初からGo言語でいいじゃん、になる時が来そうです。
Pythonの方がいろいろ便利な点はまだまだありますが、2言語を使いわけるというコストが、1言語で済むというメリットを越す場面は、どんどん出てきそう。
研究用途ではNumpyなど大量の資産があるために、Pythonの用途すべてがGoになるのは今はまだ想像できませんが。
- 作者: Mat Ryer,鵜飼文敏,牧野聡
- 出版社/メーカー: オライリージャパン
- 発売日: 2016/01/22
- メディア: 大型本
- この商品を含むブログ (2件) を見る
3、そして世界がGoogleに染まっていく
間を省きすぎで大げさですが、インターネット周りの技術はすでにGoogle抜きでは語れません。
話題のDockerもGoogleが作ったGo言語で書かれているだけでなく、Dockerが使っているコンテナ技術の一部cgroupもGoogle製。今後中心になりそうなHTTP/2もGoogleのSPDYが元になったり。
また、ビックデータでは、HadoopはGoogleのMapReduceが元だし、データの解析基盤ではコストと速度でBigQueryが抜きん出ていて、機械学習でもTensorFlowもGoogleが公開し使用例も増えてきました。
身近なところではメールはGmail、携帯もAnoroid、ニューラルネットワークで人間の言語まで高精度な翻訳を行うことでGoogleが入ってきて、[http://jp.techcrunch.com/2016/11/23/20161122googles-ai-translation-tool-seems-to-have-invented-its-own-secret-internal-language/:title=内部では新たな言語まで作り始めました。
子会社だけどポケモンGOユーザーはGPS情報を常にONにし、Google(のサーバー)に送るようになりました。
そう、スマホでもパソコンでもIOT機器でも、いまではなんでもGoogleの技術が入っています。
あらゆる端末から人間に入っている情報が、Googleを直接的に間接的に通っていると思うと、世界の一部はすでに染められているといっていいかもしれません。
クラウド開発徹底攻略 (WEB+DB PRESS plus)
- 作者: 菅原元気,磯辺和彦,山口与力,澤登亨彦,内田誠悟,小林明大,石村真吾,相澤歩,柴田博志,伊藤直也,登尾徳誠,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2016/05/13
- メディア: 大型本
- この商品を含むブログを見る