2006-03 << 2006-04 >> 2006-05

2006-04-02 (日)

*Windowsはなぜ動く?

暫く貸していた本が戻ってきました.「Windowsはなぜ動くのか」.

OLEやらCOMやらActiveなんたらとか,WDMとVxDドライバとか,凄くWindowsべったりの技術が書いてあるのかと思って買ったら,凄く普通のことが書いてあったので,期待はずれというか,真っ当な内容で安心したというか,そんな感じに思った覚えがあります.

Windowsの動作原理と言ったら,NTFSとレジストリとCOMとWDMの理解が欠かせないと思うのですが….でも,私も未だにWindowsがやってることが見えないことが多々あります.これはもう諦めるしかないんでしょうか….

関係ないですけど,アンチウイルスソフトって,NTFS上の複数ストリーム持ったファイルとかにちゃんと対応してるんでしょうか.ユニコードがどうとか,BASE64デコードがどうとか言っていた時期には,その程度のスキャンしかして無いのかと思ってたのですが,流石に最近はちゃんとしてますよね?

*5.75水和物

とある文書を読んでいて,CH4・5.75H2Oという物質が唐突に現れたので,一瞬何かと考えてしまいました.化合物ではなくて,水和水が回りにくっついているわけかな.CH4はメタンだよなぁ…メタンに水和水?これは…メタンハイドレートか.というか,化学式が重要な文書では無いのだから慣用名で書いてください….っと,思ったら読み飛ばしていた文書の冒頭で説明されてるし.

*htaといえば

私も,htaを使ってIEに変なことできないかな…と少し前に思って変なものを色々書いたのですが….案の定,脆弱性が報告されてるし.

思うのだけど,脆弱性が発見されにくいのは,ソフトウェアの品質によるものがあるんじゃないかなぁ.アプリケーションがたまに強制終了したり,不振な挙動をするのを見ても,中で何が起こっているのか気にしない人が多過ぎる気がする.開発者が意図したとは思えない挙動をしたら,そこにはバグがある可能性が高い…と考えるのは自然じゃないかなぁ.あたりまえだけど,プログラムは作られた通りに動くものだから,同じ状況を作ることができれば同じエラーが発生するし,場合によってはそのときの挙動を操作できるかもしれないでしょう.

ソフトウェア開発の技術の進歩に比べて,ソフトウェアの規模が大きくなるのが早すぎるというのが根本的な問題かも.人間は,数百万行のプログラムをミスせずに開発する能力はまだありません.というか,人間がプログラムを書いているうちは駄目なような….

たぶん,数千年後の人がWindowsとかLinuxとかのコードを発見して思うことは,現在の人がピラミッドを見て思ったことと同じでしょう.製造手段が肉体労働から精神労働に置き換わっただけです.

21世紀まで,ソフトウェアはソースコードと呼ばれるテキストデータをキーボードという原始的な入力装置を用いて何万行も入力するという非人間的な行為によって製造されていた.たとえば,Windowsという基本システムはエジプト史のピラミッドと並ぶ構造物である.これは,数百〜数千人の人間が10年以上の時間をかけて開発していた.それと並行する形でインターネットと呼ばれるネットワークが普及していった.その普及速度は目覚しく…ってな具合に,歴史の教科書に書かれていると私は思います.

2006-03 << 2006-04 >> 2006-05