( Javaには存在しなくて ) ScalaとC#には存在する言語機能

いわゆる静的型付けでオブジェクト指向な言語という点からみれば、ScalaC#Javaも似ている点があるわけですが、その中でJavaにはなくてしかしC#Scala である程度共通するものを書きだしてみた。別に「この結果 = Javaがダメ」とかすぐに結論づけたいわけじゃなく、自分の頭の中整理してみたかっただけです。この3つを選んだのも自分がある程度使った経験があるというだけに過ぎません。ちなみにここで言ってるJavaはJava6で、C# は4.0で、Scalaは2.8以降です。あと「似ている機能」があるだけで細かいところ色々違いますが、そこは自分の基準でなんとなく「似ている」と感じたものと書いているだけなのであしからず(´・ω・`)


こんなものか・・・?思ったより少ないな・・・あとC#で、拡張メソッド使えば、Scala での Pimp my Library っぽいことできたりしますね。for式とLINQもある意味ちょっとだけ共通点あるような・・・


あとコレクションライブラリを比べてみたいな・・・

*1: ジェネリックに関しては水島さんが詳細にまとめてくれた素晴らしいやつが! http://d.hatena.ne.jp/kmizushima/20101109/1289264947

*2: Scalaの場合すべてがメソッドで、単にメソッド名に記号使えるっていうだけだけど

*3: Scalaのtypeキーワードはそれだけじゃなし、色々細かいこと違うけど

*4: Scalaの場合ダブルクオート3つで囲み、C#の場合は @" ではじめる