バイナリとテキストの本当の違い(404 Blog Not Found) をちょっと読んで思ったこと。
[引用]
[/引用]
これって、「テキスト」か「バイナリ」かじゃなくて、
「ストリーム」か「レコード」かじゃないかと思いました。
テキストのデータだって、レコードを定義すれば、
「終わり」がはじめに分かる状態になります。
バイナリのデータだって、「終わり」が来るまで「終わらない」形に
定義できます。
動画とかのストリーミングって、そうですよね。
やっぱり、テキストか、バイナリかの違いって、
汎用的で、一般的なツール(テキストエディタの様な物)で、
人間が読める形であるかどうかという事だと思います。
人間が読みやすい形であるから、デバッグがしやすかったり、
人間が手を加えやすかったりなどで、良いという事でしょう。
[2009/04/11 03:13 頃に追記]
Unix の教訓には、勿論、データはテキストで行けというのも含むと思いますが、それは、データの取り回し、再利用のしやすさの為という事であって、下記とは少しずれているように思います。
[バイナリとテキストの本当の違い(404 Blog Not Found) から引用]
[/引用]
私の記憶が確かならば、 Unix で得た教訓の一つには、ストリームで行けというのがあったように思うのですが、上の引用部分は、そちらの方が近いのではないでしょうか?
それは、 Unix 開発のきっかけとなった Multics のファイルシステムでは、
レコード形式のファイルをサポートしていて大変だったからとか何とかで、
それを反面教師に Unix のファイルシステムでは、バイトストリームのファイルしか
扱わない事にしたと何かで読んだように思います。
思い違い、記憶違いかも知れませんが……。
[/追記]
[引用]
バイナリーとテキストの本当の違い、それは「終わり」にある。 * 「終わり」がはじめにわかるのが、バイナリー。 * 「終わり」が来るまで「終わらない」のが、テキスト。 本質的な違いは、これだけである。
[/引用]
これって、「テキスト」か「バイナリ」かじゃなくて、
「ストリーム」か「レコード」かじゃないかと思いました。
テキストのデータだって、レコードを定義すれば、
「終わり」がはじめに分かる状態になります。
バイナリのデータだって、「終わり」が来るまで「終わらない」形に
定義できます。
動画とかのストリーミングって、そうですよね。
やっぱり、テキストか、バイナリかの違いって、
汎用的で、一般的なツール(テキストエディタの様な物)で、
人間が読める形であるかどうかという事だと思います。
人間が読みやすい形であるから、デバッグがしやすかったり、
人間が手を加えやすかったりなどで、良いという事でしょう。
[2009/04/11 03:13 頃に追記]
Unix の教訓には、勿論、データはテキストで行けというのも含むと思いますが、それは、データの取り回し、再利用のしやすさの為という事であって、下記とは少しずれているように思います。
[バイナリとテキストの本当の違い(404 Blog Not Found) から引用]
文字列はテキストでも、文字そのものはバイナリー。
だからこそ、文字というバイナリーを設計するときにはずっと慎重にならなければならなかったのだ。その余裕がなくとも、せめて「もっと隙間を開けておいて」おくべきだったのだ。
~中略~
「テキストのアトム」としてのバイナリーさえきちんと抑えておけば、あとは「テキスト」でしのげる。これが Unix で得た最大の教訓の一つではないか。
[/引用]
私の記憶が確かならば、 Unix で得た教訓の一つには、ストリームで行けというのがあったように思うのですが、上の引用部分は、そちらの方が近いのではないでしょうか?
それは、 Unix 開発のきっかけとなった Multics のファイルシステムでは、
レコード形式のファイルをサポートしていて大変だったからとか何とかで、
それを反面教師に Unix のファイルシステムでは、バイトストリームのファイルしか
扱わない事にしたと何かで読んだように思います。
思い違い、記憶違いかも知れませんが……。
[/追記]
やはり、ストリームで行けという事とは、なんか違うように思う。
でも、テキストで行けという事ともなんか違う気がする。
「Unix で得た教訓」と言う言葉は、忘れた方が良いかも知れない。