2014年4月4日金曜日

Scala触ってみて思ったこと

Androidアプリが書きたくなり、しかし型推論すら無いJavaを書く気にはなれず、仕方がないので、オブジェクト指向&関数型なマルチパラダイムのScalaを覚えてみることにした。
一応参考書としてコップ本を買って読んでいるけど、まだ8章くらいまでしか読めてない。



まだ半分も読んでないけど、今の時点で思ったことは、まず、Scalaは関数型よりもオブジェクト指向の方が強い気がする、ということ。トップレベルで関数定義が出来ず、関数はクラス(かシングルトンオブジェクト)のメソッドとして定義するか、メソッドの中のローカル関数として定義するか、関数オブジェクトとして変数に代入するか。関数よりもオブジェクトを中心に据えているように見える。
もうひとつは、関数型言語としての機能(型推論、最適化)が弱い気がする。これに関しては他の関数型言語を触ったことがないので分からないけれど、簡単な末尾再帰の関数とかでも、返り値の型が要求されるのはどうにかなったりしないんだろうかと思う。

個人的には、型推論&関数型な記述が出来るオブジェクト指向言語ということで、Better Javaっぽく、関数型っぽく書いて行くのが良さそうと感じた。

0 件のコメント:

コメントを投稿