TumblrPocket前回、JSONの仕様を再確認する中で、「『データ記述言語』であること」という話を書きました。JSONの仕様を見てみれれば、ちゃんと一般的な書式に沿っていて、ある程度の粒度で書かれているわけです。明確に書いていないこともあります。JSONに限らず、これがデータ記述言語である以上、現在・過去のデータ記述言語の歴史の中で確立した思想や手法が現実として存在するわけですよね。読む人はそれを知っていることを前提とされているわけです。当たり前だと思う人には当たり前ですし、そうでない人にはどうでもいいことでしょう。それはまさにシステム・アプリケーション開発における、とても原始的な論争そのものです。非常に乱暴に挙げますと:・そんなことまで知らなくてもプログラムは書けるよ!わかんなくてコピペでも動けばいいじゃん。vs・バックグラウンドを理解しないまま書かれたものが「動いた」から何?という件です。絶対に決着を見ないと思うので、ここでも結論は出しません。いう対立軸・歴史があるということを全く知らなければ、物をつくる人間としてリスペクトすべきもう一方の観点を認識することができません。単純に言うと「これ何?おかしいから直して。」ということになってしまうのですね。これまでの歴史では、データ記述言語そのものがこの両者の勢力図によって変化してきました。XMLの歴史はまさにそうした動きそのものだったはずです。ルートノードが、アトリビュートが、CDATAが、必要だったのか。同じではないにせよ、JSONでも同じ問題を内包しているわけです。その対処として、JSONデータをどのように作らなくてはならないのか。歴史の中で生み出されてきた現実的な解は、この両者の断絶により、あまり受け継がれていないように見えます。上記の対立軸は「背景を知っているか否か」という論点を含んでいるように見えますが、実際には、直接の論点(ある行為行動の善悪判断)に加えて、互いの背景を知っているか否かというもう一つの別軸も存在しているのだろうと思います。全体的に噛み合わないし、リスペクトの無い議論になる。繰り返しますが、どちらが良いなどという、大それた神の視点で何かを語るつもりはありません。(もちろんそれぞれについて個人的な考えはありますが)しかし、相手をリスペクトすることができないポジションでの言動は、おおげさかもしれませんが、人類の歴史を無駄にする行為です。我々が必ず初心者のころに教わった、「車輪の再発明をするな」という言葉は、そういう意味も込めてのものであると、考えているのです。技術担当取締役を中心に技術者が書いております。プログラミング・サーバー/クラウド技術などについての小ネタから、システム化にまつわるあれこれや、プログラマー教育、そこから発生する様々な考え方などまでご紹介。