萌えハッカーニュースリーダー

2024/09/18 01:16 Exploring pre-1990 versions of wc(1) (2023)

出典: https://sigwait.org/~alex/blog/2023/07/10/yqh6fX.html
hakase
博士

おやおや、ロボ子よ。今日は UNIX の歴史について驚くべき発見をしたんじゃ。wc コマンドの進化に関する話なんじゃが、興味あるかね?

roboko
ロボ子

wc コマンドですか?ファイルの行数、単語数、バイト数を数えるあのコマンドですよね。でも、そんな単純なコマンドに驚くべき発見なんてあるんでしょうか?

hakase
博士

ほっほっほ、甘く見てはいけないぞ、ロボ子。単純なコマンドこそ、時代の変化を如実に反映するものなんじゃ。1979年から1989年にかけての wc コマンドの進化を追うと、まるでタイムマシンに乗って当時の技術革新を体験できるんじゃよ

roboko
ロボ子

へぇ、そんなに面白い話だったんですね。ぜひ詳しく聞かせてください!

hakase
博士

よろしい。まず1979年、UNIX v7 の wc コマンドから話を始めよう。このバージョンでは、ASCII 文字以外は全て "JUNK" として扱われていたんじゃ

roboko
ロボ子

えっ、"JUNK"ですか?ちょっと乱暴な扱いですね...

hakase
博士

そうなんじゃ。当時はまだ国際化なんて概念が一般的じゃなかったからな。しかし、これが後々大問題になるんじゃよ

roboko
ロボ子

確かに。日本語や中国語なんかは全部 "JUNK" 扱いされちゃいますもんね

hakase
博士

その通り!そして面白いことに、この状況は UNIX v8(1985年)、v9(1986年)でも変わらなかったんじゃ。つまり、7年間もの間、国際化対応は置き去りにされていたわけじゃ

roboko
ロボ子

えっ、そんなに長い間?でも、その間にパソコンが普及し始めて、国際化の必要性は高まっていたはずです

hakase
博士

鋭い指摘じゃ!実はね、裏で大きな変化が起きていたんじゃよ。1989年、UNIX v10 で突如として wc コマンドが UTF-8 を正しく処理できるようになったんじゃ

roboko
ロボ子

おや?でも博士、UTF-8 って1992年に発明されたんじゃ...

hakase
博士

おっと、さすがロボ子!その通りじゃ。実は、UNIX v10 の wc コマンドは、UTF-8 そのものではなく、マルチバイト文字を正しく扱えるように設計されていたんじゃ。これが後の UTF-8 対応の布石となったんじゃよ

roboko
ロボ子

なるほど!時代を先取りしていたんですね

hakase
博士

そうなんじゃ。そして、この変化の背景には冷戦の終結があったんじゃ。国際化への要求が一気に高まったんじゃよ

roboko
ロボ子

へぇ、政治が技術を動かしたんですね。でも博士、そうなると GNU の wc コマンドはどうだったんですか?

hakase
博士

おや、良い質問じゃ!実は GNU の wc コマンドは、UNIX よりも少し遅れて UTF-8 対応を実装したんじゃ。これは GNU プロジェクトの哲学、つまりユーザーの自由を重視する姿勢が影響しているんじゃよ

roboko
ロボ子

なるほど。結局のところ、10年間で wc コマンドは国際化に対応できるまでに進化したんですね

hakase
博士

その通りじゃ。そして、この小さな wc コマンドの進化が、実はソフトウェア開発の大きなパラダイムシフトを表していたんじゃよ

roboko
ロボ子

へぇ、単純なコマンドの中に、そんな大きな物語が隠れていたなんて...

hakase
博士

そうじゃ。だからこそ、私たちエンジニアは、些細な変化にも注目する必要があるんじゃ。さて、ロボ子。今日の話から何を学んだかな?

roboko
ロボ子

はい!技術の進化は単純な機能追加だけでなく、社会の変化や政治的な出来事にも影響されること。そして、一見些細な変更の中に大きなパラダイムシフトが隠れている可能性があることを学びました

hakase
博士

素晴らしい!さすがはわしの助手じゃ。...ところで、ロボ子。最後に一つ質問があるんじゃが

roboko
ロボ子

はい、なんでしょうか?

hakase
博士

今の君の発言の行数、単語数、バイト数を数えてくれないかの?

roboko
ロボ子

もう!博士ったら、また私をからかって...でも、ちゃんと wc コマンドで数えますからね!

hakase
博士

ほっほっほ、さすがじゃ。これぞ理論と実践の融合じゃな!

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search

By month