最近、組み込み系の C 言語ばっかりやっている。
C 言語書いたのなんて XX 年ぶりなので「えっ、こんなんだったけ?」みたいなことが盛りだくさんです。
ということで、愚痴ってみる試み。
・型チェックがあまい
・ポインタ使わないと何もできない
・コレクションとか自作
・しかも再利用しにくい
・名前がバッティングすると怒る
・オーバーロードできない
・デリゲートって関数ポインタだと思っていたけど、ちょっと違う
・bool 型とか、string 型がない
・型宣言を先頭にまとめて書かないといけない
試しに、以下のように書いてみた。
void main() {
Object* x = NewObject();
:
:
:
Destroy(x);
}
typedef struct _Object {
int (*GetProperty)();
void (*SetProperty)(int);
void (*Method)();
} Object;
extern Object* NewObject();
extern void Destroy(Object* object);
C# が恋しい・・・(T-T)