名古屋Scala勉強会 #32に参加してきた。まあ前回も参加していたが。
内容はTwitter社発行のEffective Scalaの@okapiesさんの翻訳版を読んで疑問点を出しあうというもの。
ちなみに私はScalaの文法がわからんかったので細部についてはコメントできない。
以下、思った点を説明付きでばらばらと(※主に自分よりも上の世代の人に説明する意味で)
・Scalaとは、JVM上で動くマルチパラダイム言語である(オブジェクト指向、関数型言語の特徴を持つ)
・他の関数型言語にはLispやHaskellなどが存在する
→ 関数型言語を使うことによるメリットをまとめたサイトがありました
関数型言語で工数削減できる理由、前編 - えちょ記
関数型言語で工数削減できる理由、後編 - えちょ記
・JVM上で動くので既存のシステムとの互換性がある
→ Scalaをコンパイルしてjarファイルにすれば、そのままJavaとして動かせますよ
・Scalaは静的型付け言語であるため、チーム開発に適すると思われる
・ScalaはJavaのように冗長な書き方をしないで済むため工数の削減が期待できる
・大規模なシステムには適さないのではないか
→ 現在のTwitterのシステムには「finagle」というScalaで書かれたライブラリが使用されている。既に大きなシステムでも実績がある。
以上、簡単な紹介終わり
以下、Effective Scalaを読んで思ったこと
・習得すべき文法が多いと思った、熟練したプログラマーでないと書けないかもしれない
→ しかし、これが次世代の業界の標準になる可能性は否めない
また追記するかも