インターネットはテキスト形式に依存しています。そのため、私たちはテキストでエンコードされたデータを生成・消費することに多くの時間を費やしています。

あなたのWebページはHTMLです。それらの中で実行されるコードはJavaScriptで、すでに解析されたコードではなくテキスト(JavaScriptソース)として送信されます。あなたのメールは添付ファイルを含めてテキストとして送信されます(バイナリファイルはテキストとして送信されます)。

それはそこで止まりません。サーバーを実行するPythonコードはテキストとして保存されます。テキストクエリを送信することでデータをクエリします。しばしば、回答をテキストとして受け取り、それをデコードする必要があります。

JSONは今日のオンラインにおける普遍的なデータ交換形式です。私たちは地図をJSON(GeoJSON)として共有します。

もちろん、すべてがテキストというわけではありません。テキストとして共有される一般的なビデオまたは画像形式はありません。インターネット上の送信は、日常的にバイナリ形式に圧縮されます。JSONと競合する人気のバイナリ形式があります。
しかし、なぜテキストが主流なのでしょうか?

それは、1970年代にプログラマーがバイナリ形式を知らなかったからではありません。

実際、私たちはテキスト形式から始めたわけではありません。最初は生のバイナリデータで作業していました。十分に年配の人は、生のバイト値を使ってアセンブリでプログラミングしたことを覚えているでしょう。

なぜテキストが勝ったのか?

1.テキストは効率的です。

XML時代に、すべてがXMLでなければならなかったとき、バイナリ形式に関する無数の提案がありました。人々は、バイナリのアプローチが実際にはそれほど高速ではないことに時々驚きました。多くのテキスト形式は、コンピュータがはるかに遅かった時代にさかのぼることを思い出してください。テキストがパフォーマンスのボトルネックになっていたなら、それは広がらなかったでしょう。もちろん、テキストが物事を遅くする場合もあります。その場合、コードをさらに最適化するか、別の形式に移行するかの選択肢があります。しばしば、どちらも実行可能です。

バイナリ形式について間違った仮定をしやすいものです。たとえば、パースや検証なしでそれらを消費できるというものです。インターネットからデータを受け取る場合、それは敵対者やあなたの慣習に従わない誰かによって送信された可能性があると仮定しなければなりません。

2.テキストは扱いやすいです。

リモートソースからテキストを受け取る場合、多くの場合、フォーマットの詳細な知識なしに、ほとんど努力せずにそれを変換、インデックス作成、検索、引用、バージョン管理することができます。テキストはしばしば自己文書化されています。

データを生成する人と決して話すことがないオープンな世界では、テキストはしばしばすべてをより簡単でスムーズにします。

報告すべき問題があり、データがテキストである場合、通常、関連するセクションをメッセージにコピー&ペーストできます。バイナリ形式では、物事ははるかに困難です。

Published by

Post navigation