カラクリスタ

何故みんな記法を使わないのか

なんでみんな記法(軽量マークアップ言語)を使わないのか。

っていうか Blog 的なサービス提供するならなんで記法を提供しないんだろう。記法なんて初心者でも正規表現で実装できるし、字句解析はすっとばすにしても構文解析して HTML に変換するというのはプログラマならできるはず。

字句解析、構文解析の情報はプログラミング言語作成のノウハウに詰まってるんだからそのあたりから引っこ抜けばいいし。記法つくってモジュール化(再利用できるように)すれば、できがよければ利用者も増えるし、Blog や Wiki やその他色々なぶつで同一の記法を使うことができるというメリットもある。

具体的にどういうメリットがあるかというと、(X)HTML 覚えなくていいのと、記法を統一すれば、覚えるのは一つだけでいいこと、あとこれが自分の中で最大のメリットだと思ってることだけど、今の所の Web における表示言語になってる(X)HTML と文章の間に、記法を挟みこむことによって、理論上あらゆる形式に変換できるということ。 例えば XML に変換することもできるし、他の記法、はてな記法や Markdown、各 Wiki の記法に変換することができる。

変換に関してはそれ XHTML でもできるよといわれるかもしれないけど、現状変換することによって受けられるメリットってあんまり無いような気がする。というか、明らかに構造化するための要素が足りないというか、混ざってるというか。

ドラフト段階の XHTML2.0 でだいぶマシにはなってると思うけど、構造化するための要素をもっと細分化したほうがいいと思うんだよな。例えば今の XML 系言語ではプログラムコードを構造化する言語とか無いし(見つけられて無いだけかも)、一つの言語の中に、文章構造を表す要素、双方向メディアであるための要素が混ざってるというのは、再利用しづらい。

あと XHTML1.1 と XHTML2.0 のように要素の構造を大幅に変えられてしまうと、今まで書いた文書を XSLT で変換しようにも変換しづらいか若しくは変換できないという場合が起きてくる。

で、じゃあ(X)HTML との間に記法を挟みこむとどうなるかというと、記法の出力を柔軟に変更できることによって、いわばクッションのような役割を果たすことによって、出力対象言語の仕様が大幅に変更されたとしても、その仕様に対応できる、ことになる。もっともそれでも記法の文法や要素によって制限はあるけど。

あと当然上記のメリットを実現しようと思うと、かなり考え込んで作ることになるし、記法がしょぼい場合、作り直したいということになる。というか相当考え込んで作らないと最後にはガタが来ることになる。いやなることになるというよりも実際自分がそうなってる。

Perl 初心者のときに Blosxom のプラグインとして作った自作記法を未だに使ってるんだけど、HTML エスケープがおかしいわ、特殊文字(記法として使われている文字)のエスケープと整形済みテキスト(pre 要素)の記法が競合して微妙にバグってるわと、びみょーになってるのでもうそろそろ作り直したい。と思ってるんだけど何も作業してない。っていうか快適な Linux 環境が作れないとかそのあたりで止まってる。ので何とかしたい。まあ CPAN から必要なモジュール突っ込めば何とかなるとは思うけど。

現状記法についての考えはこんな感じ。とりあえず記法に対する愛を語ってみました。

長い

#FIXME