2013年12月16日月曜日

Golang Cafe #8を開催しました。

Golang Cafe #8を開催しました。

今回は、東京で行われるGo年会に合わせて、岡山でも非公式でやってしまおうということで、勝手に「プレGo年会」というテーマで進めてみました。
(Go年会参加者は、参考にしてねw)

で、開催中にGo言語フレーズブックを開こうと思って、かばんを見ると…、かばんの中に書籍がないという事実が発覚して(日中に教員免許更新講習を受けてきた時に会場に置き忘れた?)ということで、書籍をその場でAmazonで購入するという事件がありました…。
正直、ショックです。。
が、正誤表が、以前の私の指摘した部分だけでなく、だいぶ増えていて、改めてみると驚きました。と同時に、コードを書いて動きをみていないなと思いました。
当時のBlog記事も見直しましたが、今日の発言と微妙な食い違いがありましたので
改めて読み進めようと思いました。

さて、内容は、質問の回答と今年1年のGoの振り返り、来年のGoの動向(というか希望?)について、雑談を交えて話をしてきました。

  1. 質問の回答
    1. 配列型引数の関数は呼び出し元に影響を与えるか?
      1. 呼び出し元に影響を与えない。(引数の値は編集されない)
      2. 引数がスライスの場合は、呼び出し元にも影響が出る。(編集される)
        1. ただし、引数が配列型の関数にスライスを指定するとコンパイルエラーになる。
        2. 基本的に実体はコピーされて、ポインタ、スライスなどは影響する。
      3. ソースコードはgithubをごらんください。
    2. Goにメソッドのオーバーロードは無いのか?
      1. ない。(コンパイルエラーになる)
      2. Goにオーバーロードはなぜないのか?
  2. 今年1年の振り返り
    1. Go1.1→Go1.2に
      1. Go1 and the Future of Go Programs」によると、1.2.1、1.3、1.4の記述があるから、今後もバージョンアップしそうだね。
      2. そういえば、AngularJSも1.3がでたとかなんとか…。リリースは早いなー。(1:03追記:リリースではなく、対応方針が発表されたの間違いでした。)
    2. Go関係のコミュニティ、イベントが増えた。
      1. 個人的には全く参加できてないけど、いつかは参加してみたいですね。
      2. 今後も増えてくるんじゃないだろうか。
    3. Lite IDE
      1. Ver18で止まっている…?
      2. Golang IDE Ver20がリリースされている。
        1. アイコンが同じ。
        2. どういうこと?
      3. GolangJPのG+コミュニティにあまり投稿がない。
        1. +Ryuji Iwataさんがんばって!
        2. 試しにGolangJPにGolang Cafeの告知流そうか。
      4. エディタ
        1. Sublime Text
        2. Vim
      5. 高級言語を使っているとGoは使い勝手が悪いんじゃないか?
        1. 速度を考えると実装されなさそうな機能が多い?
          1. Genericsとか、演算子のオーバーロードとか。
            1. Goにオーバーロードはなぜないのか?
      6. Go言語でできることはなんだろう?
        1. HTMLUnitがあるとうれしい!
        2. 既存のアプリケーションをGoで置き換えたい…。
          1. バッチ処理の部分ならいける!?
          2. 並列性を活かせるもの
          3. 1つの処理でも複数のGoroutineで回して最後に終わったGoroutineの後で、全てを出力する…。みたいな。
        3. GoでHTTPサーバとか?
          1. Apacheをリバースプロキシで使うとかして…。
      7. Goの互換性
        1. Ver1.0から互換性を保つということを謳っているので、バージョンアップしても大丈夫なはず!
        2. Go1互換のガイドラインに沿ってSub repositoryに分割されるのでは?
        3. よって、Ver1.0のコードをVer1.2のコンパイラでコンパイルしても落ちることはないはず。当然、挙動も変わらない。
      8. OAuth2ライブラリなどもある。
        1. https://code.google.com/p/goauth2/
      9. リコーのGoのプログラマ採用がでてきた!
        1. https://www.ricoh-careers.com/job.phtml?job_code=302
  3. 来年のGoの動向(予想)
    1. GAE/GのExperimentalが外れて欲しい!
    2. Goの案件が出てきて欲しい。
      1. Cのプログラムを置き換えるとか…。
        1. COBOLの案件も…。
          1. ファイル出力系は置き換えられそう?
    3. プロダクトへの導入
      1. リコーは採用があるくらいだから、そのうちリリースがありそう?
      2. GoogleはどんどんC/C++のコードをGoに置き換えるということが発表されているので、日本の企業もだんだんとバックエンドがGoで作られるという日がくるのでは?大規模なものの方が向いてそうな気がする。

といった所で、今年のGo言語の様子はいろいろありました。来年はGoが実戦投入されることを祈っています。というか、投入されてどういう結果になったかの報告が聞けそうです。

あとは、比較的近く、いつもお世話になっている+Yasutaka KawamotoさんともGolang Cafeやってみたいですね!

では、次回の
Golang Cafe #9は2013年最後の回になると思います。
次回は、私が個人的に進めていた、「Go言語でデザインパターン」の話をしてみることにします。