C# 2.0のyield文の解説。
ここでRubyを説明の例に出したのは、Rubyが優秀な言語であり、C#は努力によってRubyに近づくことができる……という主張を行うためではない。 Rubyは面白い言語ではあるが、本来の能力から見ると、最近の社会的な評価は過剰に高すぎるという印象がある。逆に、C#は本来の能力から見ると、社会的な評価が過剰に低すぎる感がある。筆者の漠然とした印象からいえば、個別の機能ではなく総合力で見ればRubyよりもC# 2.0の方がはるかに強力であり、実用性は高いと感じる。
この記事の作者が「本来の能力」とか、「実用性」というのを どう捉えているかに大きく依存するとは思うが、 「最近の(Rubyの)社会的な評価は過剰に高すぎる」という印象は理解できる。
が、しかし、この記事を読み進めていくと、 C#のyield文とかが、決してわかりやすくも、 使いやすくもないことが分かる(catchできないとか)。
文脈から考えると「総合力」とか「強力」というのは パフォーマンスのことだと思うが、性能はともかく純粋の言語設計の善し悪しで 見るとC#はRubyの足下にも及ばないと思う。
ま、そのぶん、効率良い実装は大変で、実装者は苦しい思いをしてるんだけど。
新しいwhyプロダクト、ShoesはGUIツールキット。 サンプルはこんな感じ。
Shoes.app do button "Press Me" do alert "You pressed me" end end
こういうAPIは好みだ。
GUI記述はコンパクトな方がよい。GUIに限らないけど。