ときどきの雑記帖 RE* (新南口)
白昼の死角
タイトルに深い意味はありませぬ。
Z is for
こういう記事を見かけた。 vmlinuxのヒミツ - VA Linux エンジニアブログ
その中に
zの方は、これは圧縮されていることを表す。なぜZで圧縮なのかはよくわからないが、圧縮の意味なのだ *1。
や
*1:アーカイバのZIPの影響なのか、LZHやLZMAなどのデータ圧縮アルゴリズムの研究者として有名なJacob Zivからきているのか、どちらかだと思う
という記述がある。 これは compress で圧縮したファイルの拡張子が .Z (大文字)だったところから来たんじゃないかと思うけど、どうだろうか。 たしかに compress では LZWを、他では例えば gzip ではLZ77ベースの圧縮手法を使ってはいたけど、 L や W の人の立場は? という疑問が出るのですね(笑)
まあそれはおいといても、なぜ compress が .Z という拡張子を採用したのかという話にはなるのだけど、 ちょっと調べてみると compress よりも前に pack というツールが存在していて、 それでは圧縮後のファイルの拡張子を .z (小文字)にしていたそうだ。 pack ではハフマン符号化を使って圧縮していたらしいので、そのことからも 圧縮後の拡張子の .z が Lempel-Ziv の Z から来たという線は薄いように思う。
もうひとつのzipの方だけど、zip が圧縮の意味合いを持つようになったのは PKZIP 以降のことじゃあなかろうか。 たとえば ZIP (ファイルフォーマット) - Wikipedia にはこういう文がある
“zip” (「速さ」を意味する) という名前はフィル・カッツの友人であるロバート・マホーニーの提案によるものであり、従来から有るARCやその他の圧縮フォーマットの圧縮時間よりも、自分たちのプロダクトの方が速いということをほのめかすという意図を持っていた。
ただ、2020年現在の話であれば、zipが圧縮する zippedが圧縮したものという意味で通じるだろうことは否定しないし、 ひょっとしたら vmlinuzができたころですでにそうだったかもしれない。
もう一つ付け加えると、(圧縮フォーマットのdeflateではなく) .zip という圧縮アーカイブの形式はDOS界隈では広く使われていたけど、 UNIXではそれほどでもなかった気がするから(zip ) そこから名前をとったというのは考えづらいんじゃなかろうか。
compress がなんで圧縮後の拡張子をZにしたかについては、 compress は BSD 4.3からのものらしいのでその辺のソースも見てみたのだけど、 これといった情報は得られなかった。が、改めて英語版のうぃきぺをみると
Files compressed by compress are typically given the extension “.Z” (modeled after the earlier pack program which used the extension “.z”).
という一文が。
とするとpack がなんで .z を採用したかという話になるんだけど…
謎は深まるばかりでございます(べべん♪)
- vmlinuz Definition
- フィル・カッツ - Wikipedia
- PKZIP - Wikipedia
- List of archive formats - Wikipedia
- Zip (file format) - Wikipedia
- pack (compression) - Wikipedia
- UNIX man pages : pack (1)
- compress(1) manページ
- compress - Wikipedia
- Compress and uncompress of files in UNIX - Super User
- An ode to pack: gzip’s forgotten decompressor – Vidar’s Blog
- https://www.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Tahoe/usr/src/ucb/compress
- https://www.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/src/usr.bin/compress
おまけ
初期のgzipが圧縮後のファイルの拡張子に .z を使っていて途中から .gz に変更されたのは覚えていたけど、 それ以前に .z を使っていたプログラムがあったとは(packの存在自体は知っていた。気がする)。
ところでgzipでの変更の履歴はこんな感じ(1.10のtar玉から持ってきた)。
changelog にあった記述はこうで
Fri May 28 11:40:01 1993 Jean-loup Gailly (jloup chorus.fr) * version 1.1 Use .gz suffix by default, add –suffix option. Let gunzip accept a “_z” suffix (used by one ‘compress’ on Vax/VMS).
Thu Mar 4 14:13:34 1993 Jean-loup Gailly (jloup chorus.fr) * version 1.0.5 For VMS, restore the file type for variable record format, otherwise extract in fixed length format (not perfect, but better than forcing all files to be in stream_LF format). Use “-z” suffix for VMS. Use only .z, .*-z, .tgz, .taz as valid gzip extensions; update zforce accordingly.
Tue Dec 30 20:00:19 1992 Jean-loup Gailly (jloup chorus.fr) * Beta version 0.6 The .z extension is used by pack, not compact (README, gzip.1)
readme にはこう
gzip produces files with a .gz extension. Previous versions of gzip used the .z extension, which was already used by the ‘pack’ Huffman encoder. gunzip is able to decompress .z files (packed or gzip’ed).
うーむ、ちゃんと pack と被ってたと書いてあるなあ。
蛇足
あと、
16bit CPUで気軽に扱えるサイズに収まらなくなったために、圧縮されるようになったのだと思う。
これも違うような気がするけど面倒になったので調べない(ひでー)。
Post-Open Source
Post-Open Source | boringcactus
なかなかいいこと書いているなと思ったら翻訳記事が出てた (が、なんか機械翻訳そのままっぽいし著作権周り大丈夫なんかしら)。
conditional
辞書からいくつか conditional なんちゃらという言葉とその訳語を見つけた。
原語 | 訳語 |
---|---|
conditional discharge | 条件付き釈放 |
conditional clause | 条件節 |
conditional reflex | 条件反射 |
conditional mood | 条件法 |
ふむ。conditional を条件と訳すのはほかのギョーカイにもあるっぽい(サンプル数少ないけど)。
もっともそうしてない方が多い印象ではある conditionalの意味・使い方|英辞郎 on the WEB:アルク
Conditional operator
Conditional operator - Wikipedia
The Conditional operator is supported in many programming languages. This term usually refers to ?: as in C, C++, C#, Python, and JavaScript. However, in Java, this term can also refer to && and ||.
マジで? >Javaでは~
「checked exception」「検査例外」
「ckecked」だと、「検査済みの」とか「チェック済みの」になるような気がするけど これも「原型化」してたのか。 正直なところ訳語からは意味を測りかねていた。
TINY BASIC INTERPRETER
ちょうさちう
hugo
画像貼り付けたい