ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

ScalaコミュのBetter Java としてのScala

  • mixiチェック
  • このエントリーをはてなブックマークに追加
Scalaって関数型という側面が良く話題に上がるけどJavaの発展形としてみても色々便利だよね、ということでScalaをBetter Javaという観点でまとめてみました。

http://pascal.orz.cn/muse/pascal/80327232718.html

ただ、私自身がScalaを理解しきれて無いので、へんてこな事書いてたらバシバシツッコミください。

しかし、やっぱ関数型的に使いたい人の方が多いのかなぁ

コメント(3)

まとめ、お疲れ様です。

私も、まさしく「シンプルかつ、楽しく書けるJava」といったScalaの側面は
もっとアピールしたいと思っていました。

もちろん関数型の考え方も使い込めばどんどんコードが短くなって気持ちいいのですが、
その辺は段階的に導入していけるもの、Scalaの懐の深さですね。

ちなみに、記事の中で、1点気になったところがありました。

型推論の項目で

val hoge = "foobar" の後には
hoge = 1 はエラーになる。

といった記述がありますが、

この場合、hoge = 1は
error assignment to immutable value
というhogeが(valで定義された)変更できない変数です
というエラーになります、

記事の文脈ですと、hogeは
var hoge = "foobar"
と「var」で定義するほうが適切とおもわれます。

この場合
hoge = 1
は

error: type mismatch;
found : Int(1)
required: java.lang.String
hoge = 1

というエラーになります。

ご参考まで・・・
ですね。段階的に導入出きるってポイントは重要だと思います。

あと、間違いの指摘サンクスです。修正しておきました。
そうですよね、valで宣言したら代入自体出来ませんもんね。型エラーとか以前の問題でした。
Better JavaとしてのScala、というのは自分も以前からそういう捕らえ方をしていたので、
記事の方は非常に共感できました。付け加えるなら、クラスを作成するための労力が
Javaに比べて非常に小さい、というのもBetter Javaとしては重要かなと思いました。
immutableで小規模なデータクラスをほぼ一行で書けるのは快適です。
例えば、xとyというInt型のメンバを持ったimmutableなPointクラスは、

class Point(val x :Int, val y :Int)

だけで書けます。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Scala 更新情報

Scalaのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。