Hatena::ブログ(Diary)

予定は未定Blog版 このページをアンテナに追加 RSSフィード Twitter

カレンダー
<< 2009/10 >>
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
あわせて読みたい
 | 

2009-10-24

[]名古屋 Scala 勉強会に参加してきた!

こういうのに参加しないといつまで経っても

を読み始めないと思って・・・


今回はなんと! 33 章中 1 章すら終らなかった*1という・・・

まぁ、1 章は文章ばっかだったので、もうちょっと進めば表とかコードとかいっぱい出てくるからスピードも速くなる!はず!

以下なんかごった煮。眠いので超適当。

trait

Ruby の Module と同じような物で、Mixin して使う。

trait って名前は C++ の type traits から取ってきてる・・・のかな?

組込み型 VS ライブラリで拡張

組み込み型を増やさずにライブラリで拡張するのはなぜか・・・

→組み込み型は増やせない→スケーラブルじゃない!

共有メモリとロック中心のスレッドモデルの限界

2 とか 4 以上になるとうまくスケールしない・・・事もある?

よくわかんない。

OCaml と Scala

Expression Problem がどうのこうのな唯二の言語らしい。

どちらもオブジェクト指向と関数型を融合している言語だけど、アプローチが違う。

Scala はオブジェクトで関数を表していて、OCaml はラムダ式でオブジェクトを表している・・・らしい。

Java のプリミティブ型とかジェネリクスとか

int と Integer の違いを意識してないとはまる。

オートボクシング・オートアンボクシングを入れるより、プリミティブ型の扱いをかえた方がよほど良かった。

C# だとどうよ

C# も C# で、演算子オーバーロードが static なせいで C++ みたいなことができない・・・

例えば・・・

public static T add5<T>(T t)
{
    return t + 5;   // コンパイルエラー
}

とか。

演算子オーバーロードが static なせいで、というよりは、static なメソッドに対して C# では制約を付けることが出来ないのが問題点。

・・・んー、制約と書いてしまうと語弊があるかも・・・

int がオブジェクトじゃない云々

シンタックスシュガーとして実装できるので、速度の問題が〜とかは実は逃げているだけなんじゃ・・・

追記:

Scala じゃなくて Java の話です。コメント欄にあるように、Scala は int(Int) に限らず全部オブジェクトです。

RichString

暗黙の型変換専用のクラスなので、安全らしい。

セミコロン

別に 1 文字くらいどうでもいいんだけど、中途半端はやめて欲しい・・・

付けるなら付ける、付けないなら付けないにしてくれた方が・・・

完全な型推論

Scala は完全な型推論ではなくて、メソッドの引数や戻り値では型の指定が必要。


ねむい。

*1:次は 1.3.3 から

 | 
この日記のはてなブックマーク数