scalaのメリットについて教えて下さい。
例えば、どんな場面で活躍するのでしょうか?
scalaのフレームワークとして、よくplayframeworkが挙げられますが、
scalaのフレームワークの中のオススメはやはり、playframeworkなのでしょうか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答8件
0
JVM上で動く言語なんで、Javaのエンジニアばかりの環境ではわりととっつきやすいと思う
Javaで書いてあるAPIをモダンにしたいなーって思ったらScalaで書くとかそんなノリで使えるのは便利じゃないっすかね
関数型プログラミングを学習する貴重なチャンスにもなるし
聞いたことないかもしれないけど、実用的なフレームワークはScalaにもいくつかあって、そこそこ大規模なサービスでの使用実績もあるから、安心だねーって意味でも、いいんじゃないっすかね
投稿2018/08/25 11:29
総合スコア2009
0
scalaのメリットについて教えて下さい。
オブジェクト指向と関数型プログラミングを併用できることで、
スケーラブルなシステムを組むのに向きます。
小規模から大規模まで使えるということです。
例えば、どんな場面で活躍するのでしょうか?
スケーラブルということで、大規模サービスで活躍します。
たとえば、TwitterにScalaが(途中から)使われました。
また、関数型は人を集めにくいものの、バグを少なくでき、
かつ数学的なアルゴリズムを書き下しやすいため、
金融業界に向いていて、実際に一部で使われています。
これは分かりやすさのため単純化した説明ですが、
ScalaはJavaにErlang(のような関数型)を足したと考えると、
Javaは大規模向き、耐障害性持ちのErlangも大規模向き、
だからScalaも大規模に耐えられるわけです。
ちなみに、Java(VM)にLispを足して、
関数型の性格がより濃いのがClojureです。
scalaのフレームワークの中のオススメ
やはり「Play Framework」が有名かつ有力でしょう。
ただ、フレームワークも目的に応じて選ぶもので、
たとえば軽量FWなら「Scalatra」とか、ほかにもあります。
投稿2016/10/07 09:42
総合スコア5592
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ScalaだとApache Sparkなんかと組み合わせるときに強いですね。
例えば深層学習のフレームワークである、deeplearning4jはScalaで容易に書くことができるように設計されていますが、これとSparkを組み合わせることで深層学習をより便利かつ簡単に進めることが出来ます。
余談
これは私の感覚ですが、Web系に関してはClojure,Android開発などではKotlin、高速計算などではScala、という風に分かれている気がします。
試してみたい分野に合わせて言語を選択すると良いと思います。
投稿2018/08/25 11:23
総合スコア17
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
まだまだScalaを学んで日が浅いですが、とにかく少ないコードで実行可能なプログラムを作成できる点に尽きると思います。
Scalaならトレイトを継承すればmain()すら書く必要がない場合もあります。また、javaのように返り値を書く際にreturnを書く必要もありません。型推論があり、コンパイルの時点で文字列の長さや型を判定してくれます。
また、staticキーワードがなかったり、プリミティブ型がなかったりといろいろJavaと違うところがあって、触っていて楽しいです。
投稿2017/12/29 17:37
総合スコア1161
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
投稿2016/10/07 06:41
総合スコア16415
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
投稿2018/08/26 22:40
総合スコア22324
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。