データ分析エンジニアのブログ

日常のことからプログラミングや機械学習まで@六本木

Goオールスターズに参加してきた

10月11日の日曜日に, Goオールスターズという勉強会に参加してきました.

6つのセッションとパネルディスカッションがあり, とても内容の濃い勉強会でした.

懇親会のピザとビールもたくさんあって満足でした.

eventdots.jp

全体

全体としてはGoの思想や特徴といった話が思ったよりもたくさん出ていて, Goを使ったことのない人にも取っ付きやすい内容だったと思います.


Goの主な特徴としては皆さん仰られていましたが, だいたい以下の3つほどだったと思います.

  • シンプルなビルドと単一バイナリによる移植性の高さ
  • Goroutineによる並行処理
  • 高速でリソース消費が少ない

21世紀のC言語とも言われていて, 発表していたメルカリの中の人はC言語で書いていたところを今だとGoで書いていると言っていました.

やはりちょっとしたツールや並行処理が求められるサブシステムのようなものに向いているようです.

ちなみにRustは21世紀のC++とスライドに書かれていました.


また自分はパッケージ管理にgomを用いることが多かったのですが, Goチームからの見解から判断するにバージョン1.5からリリースされているvendoringを使用したほうがいいとのことでした.

vendoringをサポートするGoの思想としては以下のような理由があります.

  • ソースコードだけでビルドできるという利便性を重視
  • バージョン1.xの間は互換性を重視
  • Googleでの問題を解決することが最優先(依存側が追従 or ホスティングのパスで区切る)


パネルディスカッションではフレームワークの話題にもなりましたが, Goで作る規模のものならnet/httpで十分という意見が多かったです.

たしかに大掛かりなWebアプリをGoで書くというのは中々つらそうです.

ジェネリクスについてもインターフェースで十分という人が多かった.

Goによるモバイル・ゲーム開発

Goだけでモバイルアプリを作ろうというGo Mobileを使ったアプリ開発のセッションや, コミケでGo製ゲームを売った話というGo製のゲームエンジンを使用したゲーム開発のセッションもありました.

Go Mobileは開発スピードが早く2ヶ月前の内容が既に古い, ということも仰られていて, ライトなものを自分の趣味で作るにはあまり不自由しないが, 本番投入にはまだ早いとのことでした.

またGoの標準パッケージを使えるのも面白そうだなと思いました.

最後にじゃんけん大会で頂いたGopher君のぬいぐるみ

意外とかわいい。。

f:id:ishitsukajun:20151012021525j:plain:w300