C♯erがJavaやってみてショック受けたこと

C♯erですがAndroid開発するためにJavaを本格的に始めました。その時ショック受けたことを上げます。
  1. メソッドの頭文字が小文字
  2. プロパティがない。get~(),set~()とか関数を使う
  3. 匿名関数がない。delegateがない。匿名クラスのメンバ関数として実現してる。
  4. static関数なのにインスタンスメソッド形式で書けてしまう(コンパイルできる)
  5. オーバーライド許可してないのに派生クラスはオーバーライドできてしまう
  6. 投げる例外をいちいち宣言してやらないと例外がなげられない
  7. なげられるすべての例外は必ず処理しなければならない
  8. LINQがない。LINQ相当のものは外部によって作られてるものの3によりあまりスマートではない
  9. スコープがデフォルトでinternal状態
  10. C#のconstに相当する機能がない。
  11. String hoge = "boo" + "piyo";としても静的に結合してくれない
  12. そのほかいろいろ
ないものねだりですけど。JavaとC♯は仲良くなれそうもないです…。
でもAndroidのためならがんばちゃう!w やっぱりしーにゃーぷたんかわいい。

コメント

  1. こんにちは。
    ふむふむ、なるほど、そうなんですかぁ。
    実は僕もC#erですが、Javaはチラ見程度しか知りません。
    なので、参考になります。
    イーモバイルの HTC Aria という Android を持つようになって、
    ちょっと Java を始めようという気になっていましたが、
    もう諦めと、Windows Phone への逃避を考えています。
    やっぱ僕にはできないや。
    なので、逃げずに立ち向かう千晶さんは尊敬します。
    でも、やっぱり気になるので、参考になります。(でもたぶん Java しない)

    返信削除
  2. @ ogacha さん
    コメントありがとうございます!
    もともと別言語なので差異があるのは当たり前でこういうことを求めてはいかないんですがね…w

    ソースのみためが多少煩雑になるだけで、考え方事態はC♯とたいして変わらないです。AndroidでC♯を使って書くこともできるようですが実際のところMono for Androidってどうなのよ?に書いた理由により使い物にならなかったです。

    JavaをやるのではなくAndroidをやると考えると頑張れますよ!新しいものを触るときのワクワク燗と言いますか、それが楽しいですし。私もwindows phone に逃げようと思いましたが買うだけの余裕はなかったので頑張りましたw

    なんかぐだくだとすみませんw とにかくAndroidをやるなら応援してますよっ!

    返信削除

コメントを投稿

このブログの人気の投稿

[Win]Xboxコントローラーのバッテリ残量確認と電源を切るツールXControllerTool

UWPアプリでSuicaの履歴を複数件読みだす方法