カラクリサイクル

『輝かしい青春』なんて失かった人の雑記

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

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

っていうか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から必要なモジュール突っ込めば何とかなるとは思うけど。

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

長い