読者です 読者をやめる 読者になる 読者になる

Goで読んだ本-とある同僚からの相談

この記事は Go (その2) Advent Calendar 2016 - Qiita の 18 日目の記事です。

Goを始めるにあたり、皆様はどうしているでしょうか?

などを見て始める方がいらっしゃる一方、 本を手にとって始めて見る方も一定数いらっしゃるかと思います。やはり日本語で書かれていること、本を書かれた方の知見などが得られるのは大きいのではないでしょうか。ここ最近、日本でもGoが流行っているせいか割と多くの本が出版されています。 私も本を読むのが好きなせいもあり、出版されて目立つ物は買って読んでいました。 自分よりその分野に詳しい人が、本を書くという過程で不要な情報をそぎ落とし精製された文章は読んでいてとても楽しいです。そんな感じで本が好きなので、同僚に「どの本がおすすめ?」なんて聞かれるのは割と楽しいわけです。そう言う場合、相手は同僚なのでスキル傾向とかやりたいこととかある程度分かっているので、

  • 入門じゃ無くてもうちょい深いところを知っときたい
  • Windowsで動かす予定があるのでその辺の知識が欲しい
  • 並列周り知りたい

という事前情報がありました。

もうちょい深くということで、

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

プログラミング言語Go (ADDISON-WESLEY PROFESSIONAL COMPUTING SERIES)

Windows対応と言うことで、

みんなのGo言語【現場で使える実践テクニック】

みんなのGo言語【現場で使える実践テクニック】

並列周りということで、

WEB+DB PRESS Vol.95

WEB+DB PRESS Vol.95

をおすすめしたんですが、 「僕の小遣いじゃ、全部は辛いすね。」 というお返事がかえってきまして、うーん。そういう事情もありますよね。そうなると、この中で一番コスパが良い「プログラミング言語Go」をおすすめしました。( 460pあって4000円ぐらいのお値段はお得ですよ。

  • Goの機能について一通り紹介している

- 特に以下は読むまで詳しく知らなかった
- forによる文字列連結のコスト
- UnicodeUTF-8の話
- 定数生成器 iota
- 構造体埋め込みと無名フィールド
- 無名関数のところにあるループ変数の捕捉
- 構造体埋め込みによる型の合成

  • 並行処理も2章さかれていて分かりやすい
  • Cとの接続方法であるcgoの使い方も書かれています

あと、大きなポイントと言えば ブライアン・カーニハンが書いてるのと、 割と大きな声で、「読んだ本?プログラミング言語Go読みましたよ。」って言える。ということろでしょうか。

ただ、個人的には他の2冊もお金が許すならおすすめです。

  • みんなのGo

- 言語を軽く学んだ後、次にやるべきコトが列挙されている
- 著者が活発に開発されている方が多いので経験からくるもので信頼できる
- 一般的な開発などをよく知らない人にはかなりお勧め
- マルチプラットフォームで動作する社内ツールのつくり方 は余り知る機会がすくないのでいい
- The Dark Arts Of Reflections 不可能を可能にする黒魔術 はこの手の黒魔術は知っておくとちょっと上達した気になれるのでいい

  • WEB+DB PRESS Vol.95 特集2 Goによる並行処理 複雑な処理をスイスイ書こう!

- マルチプロセスとマルチスレッド方式という、これまでの並列処理についての特徴などを解説していて並列処理どうしたらいいのてきな人におすすめ
- 美味しいのは、著者のpecoというツールを作る過程で得られた知見とpecoについて詳しく書かれている点です。


クリスマスですし、年末年始の長期休暇にも突入しますし、読んでない方いらっしゃいましたらこれを機会に読んでみられてはいかがでしょうか。