属性

.NETの属性ってのは、実におもしろいアイディアだと思う。属性は.NETフレームワークを支える重要な柱だと思っている。
言語の仕様にするとくどくどした文法をごちゃごちゃと付け加えないといけないものなんかを、属性で表現してしまえば簡単に取り扱えたりする。言語外の特殊な機能であるだけに、分かりづらい機能ではあるんだけど。言語を無視してあまりにもトリッキーなことを属性で表現されたりしたら、訳の分からないことになったりしそう。なんとも取り扱い注意な機能かもしれない。
[Obsolete]属性は特におもしろい。これを指定した機能を使うと、コンパイル時に警告やエラーを出せる。こんな機能にはじめて出会った自分にとっては、衝撃的な機能だった。ほかの言語やシステムでもこんなのあるんだろうか?Rubyにもあるのかな?少なくともこれからの言語では流行りそうな予感。
ladybugさんの id:ladybug:20050512 の記事はとてもおもしろい!
[Obsolete]属性を使って実行時ではなく、コンパイル時にエラーを検出するという技。忘れないためにもメモ。
可変引数だけではなく、もっとほかの状況でも積極的にコンパイル時にエラー検出できないかいろいろ考えてみたくなった。といっても、すぐには何も浮かばないのが悲しいw