Scalaで書いてみて

Ken published on
3 min, 480 words

Categories: Programming

AmazonのWebServiceを利用して、ISBNから商品情報を整理してみた。 まだ著者情報を整理出来て無いから公開しないけど、近々公開予定。

今回はScalaを使ってAmazonのAPIを叩いた。 現時点でソースコードを眺めてみると、すっごくすっきり&シンプル。 これだけ?ってくらい少なくて、汎用性もある気がする。

そう思った理由はScalaで書いたからだろう。 なぜScalaで書くことによって、そう思ったのか? これはどうってことなく、

  • 記述量が少ない
  • 関数型言語

の特徴のおかげだと思う。 この特徴ってScalaに限ったことではないので、LLなら似たような感想を持ったと思う。

関数の中に関数を定義出来るし、再帰も見易いし、いい感じ♪

今回はなるべくループ(for, while)を使わないように気をつけて書いてみた。 forを使うと "ここからここまで" みたいな指定になってしまうし、whileを使うと "この条件を満たす間" みたいになってしまうため。 それよりもデータに対して "こう処理したい" ということだけを指示してシンプルにしたかった。 そのために、再帰関数で処理をさせたり、foreachを使ってあるデータ(集合)全体に処理をさせたりした。

再帰関数を書いていると "あっ、ここ、並列処理になるかも?" みたいなことを目の当たりにする。 実際、並列処理になるかはコンパイラやインタプリタしだいというところもあるが、並列処理になる可能性は十分にある。