開始の1時間くらい前にネットで開催情報をゲット 会場はNSビルとのことで、家から徒歩10分くらい。 ATNDみたら申し込めたので行ってみる。
Ubuntuと迷ったけど、いい加減もっと慣れないとなと思って、 MacBookをもっていく。 #TerminalCopyOnSelectとか入れたり #(Snow Leopard版のTerminalCopyOnSelect.bandleを SIBMLのPluginsディレクトリ配下に)、 #US配列だとあのキーどこー?とか、 #面倒だったけど、こういう機会があるといろいろ覚える。
Scalaの環境を整える。 とりあえずJavaは新し目のヤツが入ってたから、それをそのまま使う ==== $ java -version java version "1.6.0_15" Java(TM) SE Runtime Environment (build 1.6.0_15-b03-219) Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02-90, mixed mode) ====
で、scalaのランタイムを落とす。 ==== wget http://www.scala-lang.org/downloads/distrib/files/scala-2.7.7.final.tgz ==== って普段ならやりたいところ、MacBookでwgetできなかったので、 普通に公式ページからブラウザ経由で落としてきて入れる
パスを通す ==== $ vi ~/.bash_profile export LANG=ja_JP.UTF-8 export SCALA_HOME=/Users/eshinohara/Downloads/scala-2.7.7.final export PATH=$SCALA_HOME/bin:$PATH export _JAVA_OPTIONS="-Dfile.encoding=UTF-8" ====
で、scalaコマンド叩くと。。なんかシェルモードになったす! ==== $ scala Welcome to Scala version 2.7.7.final (Java HotSpot(TM) 64-Bit Server VM, Java 1.6.0_15). Type in expressions to have them evaluated. Type :help for more information. scala> ====
で、HelloWorldしたくてたまらない。。 ==== vi HelloWorld.scala object HelloWorld { def main(args: Array[String]) { println("Hello Scala World!") } } ====
で、コンパイル。 ==== $ scalac HelloWorld.scala ====
実行する、と。 ==== $ scala -cp . HelloWorld Hello Scala World! ====
NetBeansをインストール。 ↓ここからフルフルのやつを落としてくる ==== http://netbeans.org/downloads/ ====
Scalaプラグインのインストール。 一番最新の6.8だといろいろ足りないって怒られるので6.7のzipを解凍して↓ ==== http://sourceforge.net/projects/erlybird/files/nb-scala/6.7v1/nb-scala-6.7v1.zip/download ==== ツール→プラグインから解凍したzipの中身を選択して突っ込む
NetBeansでScalaプロジェクト作ると、↓こんなんがもうできてるので、 ==== package scalaapplication1 object Main { /* * @param args the command line arguments / def main(args: Array[String]) :Unit = { println("Hello, world!") } } ====
実行すると↓こんな感じ ==== init: deps-jar: Compiling 1 source file to /Users/eshinohara/NetBeansProjects/ScalaApplication1/build/classes compile: run: Hello, world! ====
あとは対話型シェルで↓に従いながら、 ==== http://dl.dropbox.com/u/261418/scala-hackathon/index.html ==== トレイトとかクロージャとか末尾再帰でスタックオーバーフローしないとかを、 ほえぇーって動かしてたら終わってしまいました。 #なんつーか、頭やらかくないとダメそうですね。関数型言語。
最後に主催のyuroyoroさんによるサンプルアプリの講義を聞いて、 カリー化とか、なるほどねっていう。
ハッカソンなのに何もアウトプットを残せなかったのが。。 って、何の前提知識も無しに行ったので仕方ないよねっていうw
ただ、家にいてゴロゴロしながら何もしないよりは、 参加費の1300円払って、こうやって手を動かしてる方が、 何倍も価値があるよなと思うので、行ってよかったです。
-- 会場はこんな感じでした。3人がけの椅子に2人ずつって感じ。 ほとんど話し声は聞こえず、みんな黙々とやってました。
隣の会議室がP&Gの就活のセミナーだったらしく、 スーツきた若者がたくさんいました。 彼らは我々の事を何の集団だと思ってみてたんだろうなと ちょっと気になりましたw
-- 懇親会は、ここのところ、ちょっと飲み過ぎなので自粛しました。。