つれづれというか、いつもながらに話をまとめてないだけ。「私」とか「個」とかを無視したお話。ある意味全体主義。
TCP/IPが通信プログラムのための規約であるとするなら、HTMLは文書を利用するプログラムのための規約である。とすれば、「そこに仕様があるから従う」でも全く問題ない。なぜならば、そのカテゴリに属するプログラムは仕様で示される内容を実装するようになっているのだから。
HTMLを正しく使わざるを得ない理由は、世界中の如何なるブラウザベンダもあらゆるプラットフォームに対して恒久的なサポートを行えないからだ。現に、SunやMicrosoftでさえ実現できていない。故に、仕様に従う他ないというところ。
世界中のWebブラウザを単一のソフトウェアで独占できるのであれば、それはある意味で言語の乱れがない、ある種の理想郷である。しかし、NNやIEなどの先人たちによる試みは失敗した。
IEを例に挙げてみても良く分かる。単一のソフトウェアが常に高品質なサービスを提供するためには、どれほどの不断の努力が必要であるか。Windowsプラットフォーム限定のプログラムですらこの有様なのだから、あらゆるプラットフォームでのという話になれば、そのコストが如何に莫大であるかは容易に想像できるだろう。ちなみに、私はSunが引け腰なのを非常に残念だと思っている(謎)
文書フォーマットレベルでの独自拡張を憎むのは、それが方言であり、そのベンダが方言を将来に渡ってサポートする保証がなく、その独自拡張を他のブラウザベンダが広く実装する理由がないからだ。仮に独自拡張であっても然るべき仕様策定の手順を踏み、十分に吟味した後に策定、公開にいたるのであれば、私はそれほど憎むべきものだと考えなかっただろう。
文書フォーマットレベルで独自拡張を行うベンダは、ユーザに対して無責任だ。文書フォーマット自体に問題があるのであれば、文書フォーマット自体を制定し直すように働くべき。
というか、仕様に従うべきというのは、なにもHTMLに限った話ではないし、仕様に従うことがある作業単位で見た場合に必ずしも最短最速の方法ではないというのもそうだ。仕様を抑えていることによって、調整だの変更だの統一だのといったランニングコストを低下させることが仕様の存在意義だと思われ。
日々是ハック也 -- あるハードコアバイナリアン