• ベストアンサー

「拡張子」という名前の由来

拡張子はどうして拡張子と言うのですか? 調べても答えが見つからずもやもやしています。 英語のextensionを調べても「延長・拡大・増設」としか 出ていなくて、なぜ「拡張」なのか分かりません。 ふざけているように思われるかもしれませんが、真剣です。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#5751
noname#5751
回答No.4

「extension=拡張」というのは文字通り「それまでに新しい機能を追加する」という意味ですよ。 たとえば、Pentium 3ではSSE(Streaming SIMD Extension)といってSIMDでStreaming再生を行う「新機能」が追加されています。 MS-DOSの元になったCP/Mのさらに元になったのがDECのPDP-11というミニコンピュータ向けに作られた「TOPS-11」というDOSですが、これらの汎用機向けの古いDOSには元々「拡張子」が無かったのです。 (私もIBMとNECの汎用機を扱ったがありますので) ではどうやってファイルの種類を区別するかというと 1.ファイルの中(データの先頭部分)に種類を識別する情報を付加する(ヘッダ) 2.ファイル本体とは別に種類を識別する情報を記録する(リソース) という方法があります。 実はこの方が「ユーザーが間違って識別情報を書き換える」心配がない点で拡張子より優れています。 (Macは拡張子を使わず、2の方法を採っています) DOSで拡張子を使った理由は当時の貧弱なPCのスペック(現在の数万分の1のメモリと処理速度)で現実的な動作速度を得るため少しでも簡素な方法を採る必要があったからです。(ファイル全部読むより「3文字」を判別する方が「楽」ですからね。) 拡張子はUNIXで使用され、ディレクトリ(Windowsでいう「フォルダ」)とともにMS-DOSのファイル管理手段の「新機能」として後から取り入れられました。 (だからfile name 「extension」ですね。) DOSのファイル名は「ファイル固有の名前(8文字)」+「.」+「拡張子(3文字)」で構成されます。 なお、この「ファイル固有の名前(8文字)」を「識別子」と言います。 だから後ろ3文字を「識別子」とは呼べないのです。(^^) つまり ・「拡張」は「extension」の直訳 ・「子」はファイル名を2つの要素に分解した一部 という事だと思いますよ。

shunfu
質問者

お礼

大変詳しいご回答ありがとうございました。 新機能として後から取り入れられたから拡張子なのですね。 よくわかりました。 私ももっと勉強がんばらなきゃ…と思います。 本当にありがとうございました!

その他の回答 (3)

  • poor_Quark
  • ベストアンサー率56% (1020/1799)
回答No.3

 Windowsでおなじみのファイルシステムは元をただせばMS-DOSに由来します。(MS-DOSはCP/M-86やCP/M-80を踏襲しています)MS-DOSのファイルシステムはあるルールによって縛られています。8バイトの識別子(プライマリーファイルネーム)と"."(ピリオド、ドット)によって分けられた3文字の拡張子(エクステンション)と呼ばれる文字列を併せたものがファイルの実態を代表するものとして扱われるというルールです。それらはアルファベットや数字、一部の記号、後になって2バイト系の日本語もファイル名を表現するのに使われるようになります。  ところで、DOSとはディスクオペレーティングシステムの略で、文字通り円盤状の記憶メディアにデータを記録するという前提があります。このメディアにはファイルを管理するためのFAT(ファイルアロケーションテーブル)と呼ばれる領域があり、1Mのフロッピーの場合、ひとつのファイルのために32バイト長の領域が割り当てられていたと記憶しています。  このテーブルは各フィールドが固定長でありディスクの上の決められた場所に格納されていました。最初から8バイトめまでが識別子(プライマリーファイルネーム)、そのあとの3バイトが拡張子(ファイルタイプ、エクステンション)、そのあとに属性やタイムスタンプなどが続いたと記憶しています。(セパレターの"."はこのディレクトリエントリにはどこにも記録されていません。)  各フィールドは固定長ですからあまりに長い名前を許すと当時の少ないディスクスペース上では無駄が多くなり、ユーザースペースが圧迫されます。逆にあまりに短いとファイルの数が制限されてしまうということで識別子のほうは8バイトということになったのではないかと想像します。  では拡張子はなぜ必要でなぜ3バイトなのかというと、まったくの想像ですが、ファイル管理の手段の一部をユーザーに開放すると同時に、DOSによるファイル管理の複雑化を防ぎシステムの負担を軽減することに目的があったのではないかと考えます。またファイルタイプを示す拡張子は識別子ほど必要とされる「場合の数」は多くないだろうということで3バイトに落ち着いたのではないでしょうか。  たとえば拡張子のないファイルシステムを考えるとき、"ABC"というワープロのデータファイルと"DEF"という表計算ソフトのデータファイルがあったとします。"DIR"などのコマンドがユーザーから与えられ、システムがファイルを俯瞰したときに、名前だけではファイルの中身がわかりませんのでそれぞれのファイルの実態をシステムが調べなくてはならないという必要が生じます。これではファイル管理にいちいち手間と時間がかかり不便です。拡張子があるとその不便が解決するということになります。  ただし、自由にユーザーがつけられる拡張子ですが、システムによって予約されている文字列があります。例えば"bat"や"exe"などは、ファイルの名前と実態が対応していない限り使えないわけですが、無理やりリネームをかければ変えられないことはありません。例えばテキストファイルに"exe"などという拡張子を無理やりつけることができるわけですが、そういうことを考えるとユーザーの暗黙の協力の上にファイル管理システムが存在していたといえなくもありません。  つまり、拡張子(エクステンション、ファイルタイプ)とは、識別子(プライマリーファイルネーム)と区別するためのネーミングで、OSのファイル管理の必要から生じたものであると考えます。

shunfu
質問者

お礼

ご丁寧にありがとうございました!

  • Singollo
  • ベストアンサー率28% (834/2935)
回答No.2

filename extensionというシステムを最初に考えた人がどんなつもりでこの単語を選択したのかは存知ませんが、『拡張子』という訳語はおそらく、extensionの訳語の中から一番しっくりしそうなものを選んで『子』をつけただけ、といったところじゃないかと思います extensionにこだわらなければ、もっと適当な言葉もあるかもしれませんね ただ、元々ファイル名の機能自体が『ファイルを識別すること』です その機能を拡張して、『ファイルの種類を識別すること』という機能を追加し、同時にファイル名運用の柔軟性(拡張子のおかげで、同じフォルダにAAA.exeとAAA.txtと行ったファイルの組み合わせを共存させることができるようになりました)を増したのが拡張子ですから、『識別子』だと、無かった頃とどう違うのかが分かり難いかもしれませんね なお、一般には『識別子』はidentifier(いわゆるID)の訳語だと思います

shunfu
質問者

お礼

2度もの丁寧なご回答ありがとうございました! もやもやもすっきり消えました。 本当にありがとうございました!

  • Singollo
  • ベストアンサー率28% (834/2935)
回答No.1

それはお使いになった辞書の詳しさの問題ですね 多分extensionの項目よりextend(extensionの動詞形)の項目の方が詳しいと思いますので、そちらを参照してみてください 『拡張する』もあると思いますよ PC用語のextensionは、ファイル名の定義や機能を拡張するものですから、『延長子』や『拡大子』、『増設子』よりは、やはり『拡張子』の方が適当でしょう

shunfu
質問者

お礼

早速のご回答ありがとうございます。 私の質問の書き方がおかしかったと反省しています。 extensionやextendが「拡張」と訳せるのは分かるのですが、何を拡張しているのかが分からなかったのです。 例えば「識別子」とかの方がぴったりなんじゃないか?と思っていました。 「ファイル名の定義や機能を拡張」しているのですね。 実は来週くらいに人に説明しなければならないためこんなにこだわっているのですが、 「ファイル名だけなのに比べて、ファイルの種類も明確にすれば関連付け等ができるから機能が拡張される。だから拡張子」 と説明すれば良いのでしょうか? 私の説明が間違っていたらご指摘下さい。 また、より良い説明等ございましたら教えて下さい。 Singollo様への御礼のはずなのに御礼か質問か分からなくなってしまいました; すみません! 引き続きよろしくお願いいたします。

関連するQ&A

  • 拡張子の拡張するものとは?

    パソコン利用者で「拡張子」を知らない人はいないと思いますが、この「拡張子」という名前を付ける時の拡張するものって何なのでしょう。 英訳語を見ると「Extension」、文字通り広げるという言葉になります。何故広げることがファイル名の後につくことになったのでしょう。 推測ではファイルを解凍する作業に関連するのではないかと思いますが、正しくご存知の方、教えてください。

  • Google Chromeの拡張機能

    MyTools extensionというものがインストールされていました。 これが原因でWebページの読み込みが遅くなっているようなので、できれば削除したいのですが、勝手にインストールされていたものなので、削除していいものなのか心配です。 調べてはみたものの、英語のページばかりでよくわかりませんでした。 この拡張機能は、どんな機能を持っているのでしょうか? また、削除しても問題はないでしょうか?

  • インストールしたChrome拡張のコードを見たい

    インストールした「Google Chrome拡張(エクステンション)」のソースコードを見たいのですが、可能でしょうか? どこかに保存されているのでしょうか?

  • Firefox オススメのExtension(拡張機能)は

    皆さんの、オススメのExtension(拡張機能)を教えてください。 (拡張機能の簡単な説明とオススメの理由も回答いただければ、うれしいです。)

  • 拡張子

    お願いします。 拡張子は英語ではなんというのでしょうか? 色々と調べたのですが、わかりませんでした。

  • ドリームウィーバー拡張機能がインストールできない

    ドリームウィーバーCCでエクステンションマネージャーCCを使って拡張機能をインストールしようとすると、「この拡張機能をインストールできません。Dreamweaverの6以降のバージョンがひつようです」というエラーメッセージが出てできません。 ドリームウィーバーのCSバージョンでも、ほかのPCでも試みましたが同様です。 しかし、友人が同じ拡張機能のファイルで試したらインストールできたとのことなので、私のPC、ドリームウィーバーなどの設定や環境に問題があるのだと思います。 どうしたらよいか教えてくれますようお願いします インストールしようとしているのは、studio7の拡張機能です。 ドリームウィーバーとエクステンションマネージャーのバージョンや、拡張機能のファイルの拡張子などは間違っていないはずです。 どうかよろしくお願いします。

  • 拡張モジュールをphpコマンドからだと読んでくれません。

    PHP4.4.2のphp.iniで、extentionをフルパス指定したのですが、 Apache経由だと、ssh2.soは読まれ拡張関数が使用できたのですが phpコマンドを叩くと、ssh2の拡張関数はないと エラーになってしまいます(><) シェルから何故、拡張関数が使用できないのでしょうか?

    • 締切済み
    • PHP
  • 拡張ケーブルとは

    アホな質問でしたらごめんなさい。 最近Macのキーボードを購入しました。 付属に《拡張ケーブル》というものがついてましたが、これはUSB延長ケーブルではないのでしょうか? USBを差し込もうとしましたが差し込めませんでした。(念のため三種類のUSBを試してみました)入れようとしても2ミリくらいしか入らず、無理矢理入れると壊れそうなくらいサイズが明らかに違います。 《拡張ケーブル》と検索してもUSBの延長ケーブルが出てきます。 《Mac 純正 USB延長ケーブル》と検索しても、自分が持っているケーブルの画像が出てきます。 でも明らかに入りません。それとも不良品?? 訳が分からなくなってしまいました。 宜しくお願いします。。

    • ベストアンサー
    • Mac
  • ChromeとFirefoxのセキュリティ対策拡張機能について

    ChromeとFirefoxのセキュリティ対策拡張機能について FirefoxでいうNoScriptのようなセキュリティ強化できる、アドオンまたはエクステンションを探しています。 これは絶対導入するべきという拡張機能を教えてください。

  • XPで拡張子の表示のさせ方は?

    XPで拡張子の表示のさせ方は? http://www.cdwavmp3.com/dl/extention/ext_hyouji.html#winxp http://support.microsoft.com/kb/882195/ja 上の二つのサイトの説明どおり操作しても 拡張子が出てきません。PCのトラブルでしょうか?