開催日時:
2012年1月31日 火曜日
19:00~21:00
講師:
ちいといつ さん(@titoi2)
アジェンダ:
19:00~19:05 KIC様のご紹介
19:05~19:15 神戸GTUGのご紹介
19:15~19:30 自己紹介タイム
19:30~20:00 Go言語とは
20:00~20:55 Go言語の旅に出よう『A Tour of Go』
20:55~21:00 お片づけ
さすが Go 言語がテーマとあって、言語マニアな方が多く参加されておられますネー。Python好きもチラホラ。嬉し恥ずかしですw
そして勉強会本編かいし。
はじめに講師の titoi2 先生より、Go言語の概説を頂きました。
↓はそのスライドです。
- シンプル
- 速い
- 安全
- 並列処理
- 楽しい!
- オープンソース
- ポインタ(でもポインタ演算は無い)
- Pascal風の宣言構文(型は後ろ!)
- ダックタイピング(でも型は厳密)
- スライス等の参照型
- 並列処理(Goルーチン。JavaやCの並列処理よりも簡単)
開発環境、情報なども少しずつ整備されているようです。
詳しくはスライド内のリンクや下記の資料・参考サイトなどを参照ください。
概説の後、今度は実際に手を動かしてGo言語に触れてみます。
今回の教材となったのは、次のチュートリアルです。
Go言語の旅に出よう『A Tour of Go』
このチュートリアル、シンプルで楽しいです。Webブラウザ上でコードを書いて、[RUN] ボタンですぐに実行もできるし、解説もすぐ横に書いてあり、分かりやすいです。言語の基本的なところを順番に進んでいくので、Go言語にちょっとでも興味のある方は、是非一度試してみて頂ければと思います。
勉強会では、titoi2 さんの解説のもとに、ぽんぽんぽぽんとページを捲っていきました。
以下、個人的に面白いな、いいな、特徴的だな、と思った点:
- クラスが無い!(構造体はある。構造体にメソッドは付けれる)
- 例外が無い!(代わりに関数戻り値にエラーフラグなどを返す?)
- メソッドのオーバーロードが無い!(今後も?)
- ジェネリックスも無い!(今のところ?)
- 型は結構厳密(配列も同じ要素を扱っても、要素数が異なれば別の型)
- パッケージのインポート周りは Python っぽい
- 戻り値パラメータ(関数の戻り値で複数の値を返せる。エラーフラグなども)
- if の条件式の前に短い文が書ける(変数スコープの限定とその値の再利用の為)
- 型推論
- make と new による2種類の割当て
- 配列は値型(実際には配列をラップする参照型の Slice をよく利用するらしい)
- 組み込みの複素数型
- インデントはタブ
- 構造体リテラル、mapリテラルなど
この日は、チュートリアルの Map の終わりまで進み、Slice あたりからは次回へ続く、となりました。Slice や Map はGo言語のデータ構造の大きな特徴かと思いますので、次回からこそ、本番!って感じかと思います。この日は質問も多数出て、楽しみながら、新しい興味へと続く良い機会となったかと思います。次回も楽しみですー♪
Go言語に興味のある方も、そうで無い方も、ちょっと面白そうな言語ですので、一度触れてみられたらと思います! 現状、業務での使いどころというとなかなか難しい言語かも知れませんが、色んな言語のポリシーや記法、考え方などを知る事で、普段の業務の中にも応用できる、新しい何がしかのヒントに繋がるかも知れません。
§ 資料
- Go言語概説スライド
https://docs.google.com/present/edit?id=0ARy7Z3pBFtUOZGRiamdxdzVfMmNyem50MmY1 - サンプルコード:スタック計算機
https://github.com/titoi2/gost
titoi2 さんがスタック計算機のサンプルプログラムを github に公開してくださっています。
§ 参考サイト
- 公式サイト
http://golang.org/ - 日本語サイト(有志による翻訳)
http://golang.jp/ - A Tour of Go
http://tour.golang.org/ - A Tour of Go(@atotto 氏による翻訳)
http://go-tour-jp.appspot.com/
§ 開発実行環境
- The Go Playground
http://golang.org/doc/play/ - Go言語開発環境
http://golang.org/ - Google App Engine SDK for Go
http://code.google.com/intl/en/appengine/
本勉強会に会場をご提供いただいた神戸情報大学院大学さま、また運営にご協力を頂いた教授、生徒の皆様、ありがとうございました!
神戸情報大学院大学
〒650-0001 神戸市中央区加納町2-2-7
http://www.kic.ac.jp/access/index.html
楽しそうな感じが伝わってきますな。
返信削除たまにはpythonから浮気してみようか...w
どらごんさん!(ですよね?ww)
削除浮気して愛情深まることもあるかも?(無いか?)
Pythonのこと、そのうちお話できたら嬉しいです♪