GwĚЁEя̍lȊw

 「ガリヴァー旅行記」は、1726年にジョナサン・スウィフトが書いた有名な風刺小説です。 ストーリーは、みなさんご存じのように、船医ガリバーが身長が小さな人たちの国(リリパット国・ブレフスキュ国)に行ったり、巨人の国に行ったり、空飛ぶ島「ラピュタ島」や馬の国や…そして日本に!行ったりする、という話です。

 このガリヴァー旅行記に由来する、ある有名なコンピュータ用語があるのをご存じでしょうか?

 それは、「ビッグエンディアン」「リトルエンディアン」という「コンピュータ内部での(多バイト)データの並べ順」を表す用語です。「データの上位バイトからメモリに並べるやり方」はビッグエンディアンと呼ばれ、その逆に「下位バイトから並べていくやり方」はリトルエンディアンと呼ばれます。たとえば、インテルx86シリーズのCPUはリトルエンディアンですし、その一方でJava仮想マシンや(AppleのMacがかつて使っていた)モトローラ系CPUはビッグエンディアンで動いています。

 

 ガリバー旅行記の第1エピソードの舞台、身長が小さなリリパット国とブレフスキュ国は戦争を続けています。 そして、その戦いの理由は、リリパット国は「(半茹で)ゆで卵を食べる時は大きい(太った)方の端っこ(=”Big-End”)から割る」やり方を守ろうとしているのに対し、ブレフスキュ国は「小さい(細った)方の端っこ(=”Little-End”)から割る」やり方をしようとしているからなのです。そして、それら2派を、スウィフトは「大きい方の端(=”Big-End”)から割る」”Big-Endian”(大きい端っこ派)と「小さい方の端(=”Little-End”)から割る」”Little-Endian”(小さい方の端っこ派)と書いたのです。

 このガリバー旅行記で登場した「生茹で卵を割る順番」に対する造語「ビッグ・エンディアン(大きい端っこ派)とリトル・エンディアン(小さい方の端っこ派)」が、いつしか、コンピュータの「(多バイト)データの並べ順」を表す言葉として使われるようになりました。コンピュータ内部のメモリ配置の順番を示す用語は、ガリバー旅行記中に由来していたのです。

 ところで、スウィフトが書いた風刺小説「ガリバー旅行記」に登場する「ビッグ・エンディアンとリトル・エンディアン」は、キリスト教のカトリック(旧教)とプロテスタント(新教)を指しています(参考)。つまり、(スウィフトから見れば)「ゆで卵の割り方のような”ささいな違い”」から争いが続いている状況を、スウィフトはガリバー旅行記として風刺していたのです。

 コンピュータの「ビッグ・エンディアンとリトル・エンディアン」も、その違いから、しばしば「間違い」「混乱」「争い」を起こしたりします。…そんな(コンピュータが上手く動かない、という)悩みを抱えた時は、「ガリバー旅行記」のリリパット国とブレフスキュ国を思い出すと、ちょっと気分転換になるかもしれませんね。



参考:
ゆで卵、これが「ベストな剥き方」だ!?