その手の平は尻もつかめるさ

ギジュツ的な事をメーンで書く予定です

Scala 入学式行って Scala に入学してきました

新潟県長岡市というのは非常に学びのある都市で、
定期的に「長岡 IT開発者 勉強会(NDS)」という催しが開催されています。
(とは言っても僕が参加したのは今回が初めてですが)

このNDSが何かというと、まあその名の通り長岡市で開催されている
IT開発者の勉強会です。主な参加者は新潟県在住のエンジニアの皆さんのようです。
おお、一切説明になってねえなこれ!


で、今回のNDSのテーマが「Scala入学式」という非常に魅力的な題材で、
Scala とか触ったこと無いし、折角の機会だからこの際入学しようじゃないか、
ってことで上越新幹線に乗ってトコトコ長岡まで行ってきました。


この会まで Scala 触ったこと本当に無くて、

def main(args: Array[String]): Unit = {
  ...
}

みたいな構文を目の当たりにした時に「正直これ僕には無理じゃね?」とか
思ってたんですけど、そこは id:nkgt_chkonk さんの巧みな講師力により
基本的な構文はある程度理解できて本当に学びがあって良かった感じです。

学びの内容としては Scala の基本構文や Scala 特有の機能、関数型言語的エッセンスで、
勉強会のゴールとしては Twitter Bot を作るというものでした。
詳しくは資料を読めば良いと思うので読むと良いと思います。
https://gist.github.com/Shinpeim/6740436
つうーか、マジでこの資料良くできてて凄まじい。


Scala を触った際に感じた印象ですが、
「型の明示が可能であったり、あるいはそれをしなくても良い」というのは
実行可能なアノテーションみたいだなーと適当に思っていて。
処理系に付加的情報を与える事が出来て、しかもそれにより型を限定できて
そこに矛盾が生じたときにコンパイルエラーになるのは良いな、と思いました。
そんな感じで型の明示はオプショナルで (とは言うもののコンパイルを通す為に
明示しなければならないケースはありますが) 指定しなくても良いというのは
ゆるふわで良いなと思いましたが、話を聞いている限りでは型はガンガン指定して、
縛っていった方が、結果的な開発効率が上がる感じがしました。
(多分、型指定しないでモリモリ書いた方がその瞬間の開発効率は上がる感じが
するんだけど、それ最終的に負債と化しそうという印象を受けました。実際どうなんだろ)


あとこれは Scala に限った話ではありませんが、
Scala に入門する際には師匠の下で入門しないとつらい感じがしました。
泥臭い方法で書くのは全然出来るんですけど、それ実際ジャバと大差無いし、
折角だから Scala らしい書き方というかスタイリッシュな書き方をしたい訳ですよ。
ただ、そういう書き方っていうのは有識者に教えて貰わないと厳しいわけですね。
(マッチョな人たちは文献を漁ったりウェッブの情報を漁ったりすることで
そういった知見を獲得するんでしょうが、そうじゃない人にそれは難しい。
そもそもそういう「良い書き方が存在する」という情報自体にリーチしにくい)
なので、こういうハンズオン的な感じで識者の人に言語を教えて貰えるというのは
非常に恵まれた環境であると言えますね!
id:nkgt_chkonk++


あと懇親会、非常に楽しい感じで良かったです。
id:nkgt_chkonk さんや id:hayajo さんや id:civic さんや @ さんなんかと
おしゃべりできて本当に良かった感じです。


あと、ギークハウス新潟、マジ最高でした。
深夜にべろんべろんに泥酔していた僕を快く泊めて頂いた事に深く感謝致します。



最後になりますが、上越新幹線を作ってくれた田中角栄にマジ感謝


[追記]
なんか、次々回あたりのNDSのテーマはなんと「Go入学式」らしいですよ! Cool!