こくちーず(告知サイト)
http://kokucheese.com/event/index/52806/
Haskellを勉強し始めてから、Scalaにもすごく興味あったんですよねー。同じ関数型言語だし。
でもScalaを始める良いキッカケが無かったんで、初心者向けの勉強会とかないかなーと思ったりしてました。
んで、ちょうどこの勉強会が運良く見つかったんで、今回参加することにした次第なのです。
会場は渋谷のファンコミュニケーションズです。参加者は10名くらいでしょうか。
ちなみに以前、ファンコミュニケーションズさんはアジャイルサムライ読書会も主催してました。
んで、私も何回か行ったことがあります。
今日は初回ということで、「ScalaのインストールからREPLとビルドツールの使い方、HelloWorldまで」がテーマだそうです。
Scala処理系のインストール
最初はWindows7にScalaの処理系をインストールするトコからです。
まず、Typesafe Stackインストーラを以下のサイトからダウンロードします。
http://typesafe.com/stack/download
んで、インストーラのEXEをダブルクリックすると、

なんと!ウイルスバスターに阻まれてしまうではありませんか。。。
しょうがないので、ウイルスバスターを一時的にOFFにしてインストールしました。
またLinux(Ubuntu)も仮想環境で使えるようにしてるので、こちらにもScalaをインストールしておきました。
これでコマンドプロンプトから scala と入力すると、REPL(対話型評価環境)が起動するようになります。
文字列を表示するには、println関数を使います。セミコロンは必要ないようです。

あと、Eclipseのpluginもインストールしてみました。使い物になるかどうかは、これから評価~。
pasteモード
:paste と入力するとpasteモードに移行し、プログラムをプロンプトに貼り付けて実行することができます。
Fizzbuzzのプログラムを書いたあと、pasteモードのプロンプトに貼り付け、「Ctrl - d」で実行してみました。

Scalaの文法わからんかったですが、Javaの文法で書いてみたらほぼ一発で動作しました!
Scalaの文法ってJavaと似てるんですねー、Javaでそのまま書いただけで動作した感じです。
これは普段Java使ってる私にとって、Scalaは習得しやすそうです。
他にも以下を内容を学びました。
■再代入できない変数宣言の方法
■型指定と型推論
■カリー化
■Listに関する関数(map, foreach, filter, zip, partition, foldLeft, foldRight)
---
カリー化やListに関する関数は、「スタートHaskell」の勉強会でHaskellやってたおかげで理解できましたね。
でも、同じ関数型とはいえ、HaskellとScalaの流儀はだいぶ違うように感じます。
Scalaはどっちかというと、HaskellよりもJavaの方に似ている感じです。
fanscala1 4 その他資料 from gkojax
休憩時間にはお菓子が振舞われました。
またScalaに関する書籍が何冊か置いてあったので、主催者さん方にどれがオススメか聞いたりしました。
そんなこんなで、基本的な内容を学んでお開きになりました。
かなり初歩的な内容から入りましたが、私のようなScalaのインストールさえしてなかった参加者にとっては
ちょうどよかったかも。
逆に、Scalaの経験者にとっては、すこし物足りない内容だったのかもしれません。
もう少し踏み込んだ内容は第二回以降で扱われるようなので、経験者さんは2回目からの参加でも大丈夫そうです。
これを機に、Scalaも勉強してみたいと思っています。
ただ、第二回の開催日である10/9、別件が入ってしまっていて参加できそうにないのが残念です。。。
第三回に期待!
Scalaの一歩を踏み出す機会を提供くださったファンコミュニケーションズさん、ありがとうございました。
- 関連記事
-
- 「オブラブ Agile2012報告会」に参加しました
- 「初心者Scala in F@N 第一回」に参加しました
- 「アジャイルサムライDevLOVE道場二周目 第一回 インセプションデッキ(前編)&(後編)」に参加しました