なんだこれは

はてなダイアリーから移転しました。

C# の気持ち悪い理由

この前、C#が気持ち悪いとのたまわったけれども、それは単純になれていないから、Emacsという統合環境が利用できなかったから*1だろう。

そもそも、プログラムはもっと整然としたもので日々の泥臭い作業自体が気持ち悪いものなのでどうしてもそれを実装する言語にはすこしは気持ち悪いものがはいっている。

はいっていなければ泥臭い作業ができないのである。

でも慣れた環境や言語ではもう気持ち悪さがわからないようになっているので、新しい環境や馴染みのない言語では気持ち悪さが際立つのだろう。

そういうことがわかっても気持ち悪いものは気持ち悪いままなのである。
気持ち悪いのは、X言語ならこれできるのに、言語Yではできない、やりかた(回避の方法)がわからないということ。

具体的にC#では、string型と char[] の二種類ある理由がわからない。歴史的な経緯で残っているだけなのだろうか。特に string型の一部を取り出したものが、string型なのがよくわからない。

string foo = "abcdefg";

でfoo[1] は "b"なんだが、これが string型。うーん?

*1:fu7mu4はEmacsがないといきていない弱い生き物です。