Scalaの本を買いました.

この頃は関数型言語がはやりだということです.昨年せっかくVisual Studio2010にF#がついているからということで「実践F#関数型プログラミング入門」という本を買ったのですが、案の上半分も読まないうちに挫折してしまいました.サンプルコードを実際に試しながらやればまだ良かったのかもしれませんが、ノートPCのネットワークアダプタが壊れてしまい、Windowsの再インストール→修理依頼となって、しばらく家ではPCが使えない環境になってしまったためです.やはり実際に試さず本だけ読んでいたのではダメですね.
 
しばらくこの本はほったらかしにしていたのですが、東京出張で久しぶりに本屋に行くとScalaの本が置いてあったので(また悪い癖で)買い込んでしまいました.
 
 
こちらはF#の本に比べて取り付きやすいです.帰りの電車で少し読んでも雰囲気がわかりました.私が最初に一番ショックをうけたのは次のたかだか8ステップのコードです.
 
import scala.io.Source
import scala.xml.XML
val source=Source.fromURL("http://search.twitter.com/search.atom?q=TYS125F")
val xml=XML.loadString(source.mkString)
xml \\ "entry" foreach{ e =>
    println("%s %s" format(e \\ "published" text, e \\ "name" text))
    println(" %s\n" format(e \\ "title" text))
}
 
このコードはTwitterにアクセスして検索結果をXMLで受け取りそれを表示します.ホントか?と思いましたが実際にREPL(対話型実効環境)とEclipse(Juno)の両方でやってみましたが動きました.
画面はこのコードどおり"TYS125F"をサーチキーワードで実行した結果です.
 
イメージ 1
 
こういうたぐいのプログラムは昔では考えられませんでした.時代は変わったと思います.ネットへのアクセスが当たり前の前提でプログラムを作るのですから.ScalaJava VM上で動きますが、ということはスマホのアンドロイドで動くアプリケーションも開発できてしまうということです.言語もスケーラブルになってきましたね.頑張って勉強しないととてもついて行けません.