すごいDHTML
http://www.assistedsolutions.com/Components/InputMask/
ジャーン!ジャーン!ジャーン!
「げえっ、マスクエディット!」
っつーか、createTextRangeとか、setSelectionRangeとか、知らなかったです。はい。
Lispへ向けて進化
C#がLispの機能を取り入れるのは、たぶんわりと早くから考えられてたことだと思う。
Perl5, Python, Ruby, JavaScriptを横目に見ながら。(ポール・グレアムのエッセイが与えた影響は知らない)
ただ、C#は(Java2インスパイアド)静的型。
それとは別にクエリ統合を研究。プロトタイプはXen(X#)。これは公開はされなかった。
それらの研究成果を取り入れたC#のあり方を模索して、その中で生まれたのがCω。
以上すべての成果を受けて、C#2.0および3.0があるわけで。
C#以外のCLI用処理系で興味深いのはIronPython、Boo、Nemerleかな。
- IronPython
- http://www.gotdotnet.com/workspaces/workspace.aspx?id=ad7acff7-ab1e-4bcb-99c0-57ac5a3a9742
- 作者Jim Huguninは現在MSで働いてる
- Boo
- http://boo.codehaus.org/
- Pythonに似た静的型言語
- codehausが公開してる
- Nemerle
- http://www.nemerle.org/
- 関数型言語、オブジェクト指向、そして命令型言語のハイブリッド
- わりとC#に近い
LINQ
C#は強い型付けの言語なわけですが、LINQのような書き方が可能になるまでにはいろいろありまして。
思うに
- ラムダ式とかクロージャとかいうような記述ができるならLINQと同じような処理は実現できる
- でも強い型付け言語のC#で気軽にクロージャを使えるようになるには、Javaに毛が生えた的なC#1.1ではだめで、Javaにはない機能をどんどん取り込まないといけなかった
- ラムダ式とかクロージャとかが簡単に書けるような言語を前提にすれば、LINQのようなシンタックスシュガーを採用するかどうかは、言語の優劣には関係ないと思う
- C#はいわゆるエンタープライズアプリケーションの世界で使われることを大きく意識しているはずなので、利用頻度とか、開発者たちの好みとか、そういったところを考えてLINQの採用を決めたのだろう
- なんでもありな感じがMSっぽいと感じる
CSSXSS
わっほーいヤバいよー。
思い出したのはCSRFだけど、あれはダイレクトに書き込み(改ざん)されてしまうという問題。CSRFの場合は情報の読み取りはできなかった(と思う)。
フレームやインナーフレームの場合、同じドメインじゃないとスクリプトからHTMLにアクセスできなかったはずだし、XmlHttpRequestなら、同じドメインじゃないとリクエストもできない。
ところがCSSの@Importだと、上記方法にはできないことを平然とやってのけるゥ!そこに(略)
スクリプトから内容の読み取りができてしまうと。
対策としてはCSRFと同じで、機密ページへダイレクトに画面遷移できないようにするのがいいんだろうけど、とはいえGETで遷移できてしまうとまずそうだな。2連続で@Importできるなら乗り越えられるもんな。(2連続で@Importってできるのかわからないけど)それよりはIEのCSS実装を直してもらうほうが筋か?