■所詮この世は1と0?
Mozilla1.0がXSLT1.0に対応しているので,MacintoshでもXML+XSLT1.0+XPathを扱える可能性が出てきた。Windows版Mozilla1.0では,XSLT1.0を使うことができる。これは確認した。(私設ML参加者の方によると,Macintoshでも扱えるのを確認したそうだ)。クライアントでXML文書をXSL変換して出力するぶんには,門戸が広がったことになる。
このエッセイは,サーバサイドでASP.NETを使ってXML文書とXSLファイルを読み込んで変換し,出力しているので,ほぼどんなブラウザでも見られるが,別にNetscape6のことを考慮しないなら,クライアント処理でもいいわけだ。
やはりこれはMacintoshを買わずばなるまい,と思い,国安とともに家電店へ。が,とりあえずMacintoshを使う仕事を受注しているわけではないので,見合わせてしまった。実は,Macintoshは使っていたことはあるものの,オシャレで繊細すぎて,マシンです!!メカです!!という感じのしないところが,ちょっと苦手なのだ。
だけど,逆に,マシン!!っていう感じがしないからいいのよ,っていう人もいる。そんな人が,ふと,何かの話の拍子に,「なんでディスクにデータを入れられるのかしらねえ」「なんで電源入れたら動くのかしらねえ」といったことを尋ねてくることがある。よくよく聞いてみると,電気や磁気を全く意識したことがないから,パソコンがブラックボックスのように思えるようだ。小学校か中学校で,ソレノイド(導線を巻いたコイル)に電流を流すと磁界ができる実験をしたことのある人も多いと思うが,だからといって,電流と磁界に関係があるということと,パソコンは別物としてとらえてしまうようだ。
むかしは,フロッピーディスクもなく,カセットテープにプログラムを記憶していたことがある。テープには磁性体が塗布されている。磁性体には,磁区(小さい磁石のようなもの)があり,通常,磁区の方向は定まっていない。だが,磁石を近づけると,磁区が並ぶ。大きな磁石の中に,さらに小さい微小磁石があるわけだ。このような微小磁石には,磁化の強さと,磁石の向きと,磁石の長さがある。これらを各々,電気信号の強さと,信号の極性と,周波数に対応させる。微小磁石を作れば記録できるし,微小磁石を対応する電気信号に変えれば読み出しができるということになる。この記録や読み出しをするのが,ヘッドだ。
ヘッドには,ギャップという小さい隙間がある。このギャップから漏れる磁力線(磁束)によって微小磁石が作られ,逆に,記録された磁力線によってコイルに電圧が生じると,記録されているデータを読み出すことができる。たしか,大昔のビデオデッキのギャップの幅は0.3μくらいだったと思うけど,違っているかもしれない。ただ,ビデオデッキもパソコンも同じく本当に精密な機器なので,ヘッドが汚れると,記録や読み出しがうまくできなくなるので,時々はクリーニングしなければならない。
手っ取り早く言えば,電気の信号をN極とS極の信号に変えたり,その逆に変えたりしているわけで,2つの値でデータを表すわけだ。パソコンも,ON(電流が流れている時の状態)とOFF(電流が流れていない時の状態)を1と0に対応させて動いているわけで,所詮この世は1と0なのである。
このONとOFFの2つの値を表す単位がビットだ。2つの値を扱うのだから,2進法である。文字列や数値などのデータは,最終的には1と0の数字を組み合わせたコードとして扱われる。8ビットの集まりが1バイト。パソコンは,ONかOFFかを表すたくさんのスイッチの集まりのようなものだ。
所詮この世はNとS,1と0である。地球だって,S(北極近辺)とN(南極近辺)の磁石なわけで,そこに住む私たちの世界が,1と0でも不思議ではない。わたし自身は,1と0の人間で,何でもサバサバと割り切ってしまうタイプ。深遠な命題以外の日常的なテーマについては,何でも割り切ったほうが面倒くさくないじゃん,と思っている。
だから,わたしは,人対人の付き合いが苦手だ。自他ともに認めるマジメで誠実な人間なんだけど,ただそれだけなので,世間話ができない。仕事上の付き合いのある人は,技術の話題で,話がはずむ。編集者さんたちや友人のシステム会社の人たちと話すのは,とても楽しい。でも,ごく一般の世間話をするとなると,何を話していいのかサッパリ分からない。友人のTomさんに「犬ゲンキー?」なんてメールを書くのが関の山である。その点,国安は世間話がうまい。国安には,いつも「人間って割り切れるもんじゃないんだから,分かっちゃいるけど出来ないのが人間なんだから,そのほうが人間らしいんだから」と説教されている。
プログラマは,1か0かでモノを考えるだろうに,国安って珍しい人だよなあと思っていたら,意外にそうでもないらしい。過日,某編集長と話していたら,「プログラマって,人情味のある人が多いですよ」と,のたまった。
1か0かの世界でも,結構ファジーな部分があるのかもしれない。インターネットをベースにしたアプリケーションでは,以心伝心や阿吽の呼吸が通用しない。かつてCALSが根付かなかったように,ネットを核とするビジネスそして生活は,日本の風土には合っていない面がある。日本独特のファジーな部分を,良い意味で,どう生かせるかが,.NET Frameworkの普及を左右するような気がしている。