C#だって、配列の長さを取得する方法があるよな~と思って調べたら、やっぱり。あっさり見つかった。
ついでに次元数を取得する方法まであるのを発見。他の言語ではあまり聞かないなぁ。
.NETにリードライトロックを発見。
POSIXのリードライトロックしか書いてなかったので、比較対象が出来てちょっと嬉しい(笑)
.NETにはInterlockedという単純な演算を行う為の排他クラスもあるみたいだけど、他の言語でそういうものを知らないので、言語比較にはとりあえず書かない。
最近、C#やVB.NETを見る機会があったので、知った事をちょっとまとめてみた。
開発環境を持ってるわけではないので、実際に試せないところがつまらないけど。
今日はC#のことだけ書くつもりだったのに、ちょっとVB.NETまで手を伸ばしてしまって、時間をくってしまった(汗)
(それにしても、表が横に長くなってきたなぁ(爆) まだ書いてないのがあるんだけどなー)
C#ってホントにJavaやC++のいいとこどりしたような言語で、面白い。
これがMicrosoftでなければもっと本格的に勉強するんだけどなー(爆) (←超色眼鏡で見てる!)
逆にVBはもうダメですな(苦笑)
出来る事は まるっきりC#と同じなので(.NETフレームワークだから当然だろうけど)、BASICとしての便利な点が消えて、構文のキーワードを覚える手間が増えただけだ。
違う特徴があるから違う言語が便利なのであって、中身が全く同じで表現方法がちょっと違うだけの言語にどれほどの意味があるというのか?
いや、見易さは重要だと思うけどね、いちいち改行が必要だったり変数定義がくどかったりするVBはやっぱり不利だと思う。
メモリを効率よく使いたいなら直接管理できる(GCのような無駄な処理の無い)C言語がいまだに一番だし(とはいえクラスが作れないのはつらくなってきた)、ローカル(スタック内)にインスタンスが作れるC++だって捨てがたい。
一方、効率なんぞどうでもいいテストアプリでは、メモリ管理を勝手にやってくれるJavaやC#はとっても便利だね。
今のところ、どこで書いてもどのプラットフォームでも動くという点で、やはりまだC#よりJavaの方が優位かな。Javaの方が安いし、C#もJavaも大差ないし。(インデクサは紛らわしいだけなのでアウト。usingでDispose()呼び出しは面白いアイデア)
C#がUNIX上で無料で動くようになったら、分からないけどな~?(笑)