目次

とりあえず出典は挙げてません。(2007-01-07) 佐々木重雄

C言語

  • B言語の次だから C言語
  • では B はというと BCPL (Basic Combined Programming Language) を簡単にしたものだから

R (統計処理システム)

  • S という統計処理システムの互換ソフトウェア
  • S は Statistics (統計学)から
  • なぜ1文字なのかというと、Sの開発チームはベル研、つまりC言語の開発者たちと同僚。 C言語にあやかって付けた名前であろう。
  • 直接関係ないが、 SPSS 互換を目指しているソフトウェアに pspp というのがある。

Xウィンドー

  • Wという Windows System の次だから
  • X の次のバージョンの開発に取りかかるとき、名前を Y にしようという話があったが、 かっこ悪いというのでやめたらしい。

Ruby

Ruby 言語 http://www.ruby-lang.org/

pearl は 6月の誕生石。 ruby は 7月の誕生石。つまり Perl の次のスクリプト言語を目指そうということから。

tcsh

Tenex 風のユーザーインターフェイスの csh

昔 DEC の PDP-10 用に Tenex というオペレーティングシステム (OS) があった。 この OS のコマンドインタープリタには,コマンド名の補完機能があり, コマンド名を途中まで入力して ESC キーを打つと完全なコマンド名にしてくれた。 のちに,ファイル名も補完する機能が付け加えられたという。

このように,入力時に動的にコマンド名を補完する機能が便利であったために, Tenex 難民から Unix へ流れ着いたユーザーは, csh をハックしてコマンド名補完機能を加えた。 これは csh 本体に組み込まれた。 それを更に,オハイオ州立大のグループが補完機能を強化した tcsh を開発した。

ちなみに,長いコマンド名を簡便に入力する工夫は Multics でも行なわれていた。 Multics では,正式なコマンド名の他に短い名前が用意されていた。たとえば

正式名短縮形
list segmentls
change directorycd

Unix は,Multics の短縮形コマンド名のみを引き継いだ。

イーサネット (ethernet)

ether はエーテルのこと。 古代ギリシアの哲学者アリストテレスは 、宇宙(天空)はエーテルで満たされていると唱えた。 近代になると、光は波であるという立場をとる学説において、 光を伝える媒体としてエーテルが想定された(エーテル仮説)。 エーテル仮説において、光はエーテルを一瞬で伝わると考えられていた。 人類が、エーテル仮説に替わる完全な解答を得たのは、20世紀の、相対性理論および量子力学からである。

初期のイーサネットは、一台のパソコンから送られたパケットが、一瞬で構内ネットワーク全体に伝わり、 他のパソコンは、自分宛でなければ無視するという仕組みで通信していた。 ethernet の名称は、パケットがネットワーク全体に伝わる仕組みが、 あたかも光がエーテルを伝わるようであることから付けられた。

開発プロジェクトの上司は、否定された学説であるエーテルという名前を付けることに難色を示したが、 結局、この名称がとおったという。

iPod

iMac から始まって、 iTunes, iPhoto, iMovie. iChat, iCal など、アップル社の製品名には 頭に i の付くものが多い。 Tune, Photo, Movie, Chat (おしゃべり), Calendar は良いとして、 iPod の Pod って何だろう、というのが、今回の疑問。

英和辞典で引いてみると、(1)エンドウ豆などのさや、(2)魚や昆虫の卵の房、(3)飛行機の翼に取り付けた容器、 (4)宇宙船の取り外し可能な区画などの意味が載っているが、どれもピンとこない。 そういうときは英英辞典に頼るのが良い。手元にあるのでは、 Mac に入っている Oxford American Dictionary が一番明確だった。

(1)エンドウ豆などマメ科の植物の実を格納する長い容器
(2)飛行機、宇宙船、自動車、船に付く脱着可能な装置で、特定の機能を持つもの

(1)は要するに、さやのことだ。 iPod は、もちろん (2)の意味である。つまり Mac や PC に付く脱着可能な装置で、特定の機能、すなわち音楽を持ち運ぶ機能を持つもの、が iPod。

参考

さらに話はそれるが、ある会社のスピーカーの形を真似たからじゃないだろうか、と書いてた雑誌の記事だったかブログだったかをどこかで見た覚えがあるのだが、メモもしてなかったので、もはや出典不明(その記事には、宇宙船のポッドのことも書いてました。念のため)。どこの会社のスピーカーだろうと今調べてみたら、Scandyna (http://www.scandyna-speakers.com/ ) という会社の minipod, micropod というスピーカーがそれらしい (Google:scandyna minipod)。このスピーカーの名前の由来は、tripod (三脚) の pod だと思います。

log (対数)

「log 関数の log って何」という質問をすれば、 「logarithm の略」という答が返ってくるわけだが、 そもそも logarithm てどういう意味なんだろう、というのが、今回の疑問。 アルゴリズムの語源を調べたときに、なりゆきで(?)調べてみました。

 logarithm = logos arithmos (ギリシア語) = arithmetic logic (英語)

だそうです。 arithmetic = 算術の、数の; logic = 論理、学問; なので「数学」。 という直訳は、さすがにだめだよな。リーダーズを引いてみると

 logos (ギリシア語) = reckoning (英語)
 reckoning = calculation = 計算

reckoning には、「天文観測による船位」なんて意味も載っていて、 対数計算が天文観測に関係していることをうかがわせる。

WikiPedia:Logarithm によると、ここでの logos は

 logos = (reason = ) ratio = proportion = 比率

とのこと。対数の差は真数の比、ということから付けられた名前。

ところで ratio に関係する単語に rational number (有理数) があります。 rational には合理的という意味もあるが、この場合「比で表せる」という意味です。 有理数という語は、内容を反映した名前とは言い難いのですが、 ヨーロッパ諸語で、 ratio, rational, reason にあたる語の意味が 渾然一体となっていることを考えると、実は、よく練られた訳語かもしれません。

rational number と似た語に fraction / fractional number (分数) がある。 こちらは分割 (to break) とか端数という意味。 integer (整数) は「欠けるところがない」=「端数がない」=「分数でない」という意味。

file

コンピュータのファイルシステムで、複数のファイルを入れるものをフォルダと呼ぶのは、 フォルダが複数の書類をまとめるものだから。 だがよく考えてみると、ファイルだって複数の書類を綴じるものだ。 目的において、本質的な違いはない。 どうして(コンピュータの)ファイルは、ファイルと呼ばれるようになったのか、というのが今回の疑問。

昔のオペレーティングシステムでは、入出力の単位は レコード というものだった。 レコードの大きさは 80文字であったり、 ディスクブロックの大きさ(たとえば 512バイト)であったりしたようだ。 このレコードをまとめたものを、一般に ファイル *1といい、 ユーザにとっての管理単位であった。 つまり、ファイルは複数のレコードをまとめて管理するものだった。

参考

上記のページに示されるように、レコード入出力は非常に煩雑である。 このような面倒さを嫌って、レコードの概念を排除したファイルの仕組みを導入したのが、 Unix オペレーティングシステムである。 この考えは、Windows や MacOS に引き継がれている。 現在われわれが目にするのは、Unix 流の、ひとかたまりのデータ(バイトストリーム)としてのファイルである。

さて、ここでまた疑問に思ったのだが、 現代風のファイルの仕組み(バイトストリーム)は、本当に Unix が起源なのだろうか。 Unix の階層型ファイルシステムというのは Multics を起源とするから、 Multics がオリジナルであっても不思議はない。 ということで Multics glossary を調べてみた。関係する話題を要約すると次のとおり。

  • 厳密には、 Multics にはファイルという概念はない。
  • Multics には、仮想記憶の単位としてセグメントというものがあり、 二次記憶に対応づけられていた。
  • セグメントはファイルと同義に理解されていた。 (常に mmap しているようなもの?)
  • セグメントの容量は 約1Mバイト(256Kワード × 32 36ビット/ワード)
  • それ以上の容量の二次記憶を扱うため、 ディレクトリに複数セグメントを置き、1つのファイルのように扱う工夫があった。
  • ファイルとセグメントの語句を正しく直せるのが Multician の真の証し

とのこと。というわけで Multics にはレコードの概念は無かった。 しかも、ほとんどのファイルは 1M バイトに収まっただろうから、 ややこしいことを考える必要はなかったろう。 内部構造を意識することなくファイルを扱えるという単純さは、 Unix に深い影響を与えたと考えられる。

Multics 由来の用語

Unix 用語だと思っていたが実は Multics 由来だというものがいくつかあるので,列挙してみる。

login
OS/360 や VMS は logon。マルチタスク,マルチユーザの機能を VMS から導入した Windows NT, 2000, Vista も logon
daemon
ユーザ発行でないバックグランド・プロセス。ユーザ発行のプロセスはコマンドという。
shell
コマンドインタプリタのこと。核 (kernel) を包む殻 (shell) という意味なので, OS のユーザインターフェイス部分のことを一般にシェルと呼ぶのだが, コマンドインタプリタの意味でシェルという用語を使うのは,Multics に由来する。
TTY
Tele-typewriter が主力なのは Multics の時代。
rc
広く run command の略と了解されているが, Multics の RUNCOM から来ており,さらに先祖にあたる CTSS の同名の機能に由来とのこと。
roff
run-off というフォーマッタは Multics どころか CTSS にさかのぼる。
quota
これも Multics どころか CTSS にさかのぼるようだ。
標準入出力
切り替え可能な標準入力,標準出力,標準エラー出力の概念は Multics から。 ただし 標準出力を標準入力につなげるパイプの概念は Unix が出自。 また標準入出力をシェルで切り替えるリダイレクトも Unix が出自。
正規表現
概念自体はアカデミックなものだが,ユーティリティとの結びつきは Unix の印象が強い。 Unix カーネルの作者の一人 Ken Thompson は,実は,正規表現の論文もいくつか書いている研究者で, 正規表現が扱えるエディタ (QED—ed コマンドの先祖) を CTSS 用に作っていた。
コマンドライン引数
コマンドに与えるオプションを,なぜ,サブルーチンと同じく引数と呼ぶのかとずっと疑問だったのだが, どうやら,Multics において,コマンドと PL/I のサブルーチンを区別せずに使えることから来ているようだ。 同様に,サブルーチンもコマンドも,どちらも呼び出す (invoke) と言う。

モデム / コーデック

  • モデム (modem)
    • 電話回線などアナログ回線を用いてデジタル情報をやり取りするための変換器
    • modulator / demodulator の略
  • コーデック (codec)
    • コンピュータ上で、音声などのアナログ情報はデジタルメディアに記録されるが、 その際に行われる変換の方式
    • coder / decoder の略

たとえば IP 電話は、 アナログの音声をコーデックでデジタル符号にし、 それをモデムでアナログ信号にして通信している。 わざわざこんなことをしている理由は、アナログ放送とデジタル放送を見比べて考えるべし。

無線 LAN ステーション

「無線 LAN アクセスポイント」が正しい名称。 Apple 社の製品の名称が AirMac Station, Buffalo の製品の名称が AirStation であり, アクセスポイントのことを無線 LAN ステーションと呼ぶことがある。

ここでの station の意味は,放送局,放送スタジオ(さらに転じて電波の周波数)のこと。 ラジオ放送の文脈でステーションと言ったら,この意味。 宇多田ヒカルの Heart Station もこの意味*2

参考

コメント

つっこみを入れてください。 質問も歓迎。



*1 IBM の大型計算機ではデータセットと呼んだ
*2 というか,この曲を聴いてから station がラジオ放送局のことだと気づきました。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-08-09 (木) 00:53:27 (864d)