6/8

知り合いと話していて、「Scalaは少し触ったことあるけど、特にJavaから変えるほどのメリットは感じなかったな」と言われました。
自分は上手く言い返せなかったのですが、業務でJavaではなくScalaを採用する利点はどこにあるのでしょうか?

Scalaのメリット - Collectionライブラリ(immutableなListがないのが) - ​コレクションに直接mapとか使えるのは嬉しい - Java側が最近良くなった。(ラムダ関数や、stream) - コード量が1/3,1/2になるため、読みやすい。 - 管理する量を増やせる - 頭のWorkingメモリを使わないで済む。 - ボイラープレート文を減らせる。(コンテキストスイッチを減らせる) - Javaで書いて読みやすいコードを書きたい人はScalaにすると表現力が上がる - Scalaケースクラスがある。 - パターンマッチは強力だ(使っていない人には魅力はわからないので知って欲しい。) - 式が多いと、全文式なので置き換え可能。組み合わせ可能。Javaで文が出てくると副作用が発生することを意味する。 Javaのメリット - エンジニアの数が多い - javacの方がコンパイルが早い - Javaの方がバージョン互換性がある。 - IDEのサポートはJavaの方が厚い。 Kotlinとの違い - nullがある - when句(Scalaパターンマッチの方が強力) - ​KotlinのWhenはネストしたパターンに対応できない - 拡張メソッドなど文法的に明確。 - Scala2系よりわかりやすい - 文法上の例外がScalaより複雑 - Scalaのように型クラスがない。 - Kotlinはbuild.gradle.ksdでかける - asjavaを書かなくて良い。Javaのコレクションがそのまま使える - Kotlinのコレクションはmutable。Immutableがない - Optionがない。 - Optionはnullableがあるので必要なくなった。 - ​Kotlin は first です < Scalaの head と同じもの。

スポンサーリンク

スポンサーリンク