- ベストアンサー
モジュールとは何ですか
モジュールとは具体的には何を指しているのか、をお聞きします。 手元のカタカナ語辞典では 「プログラムを、それぞれ特有の機能を持ついくつかの基準単位に分割すること。また、その基準単位。」 と書いてありました。 そうすると、1つ1つのソースファイルを指しているように思えてきます。 いままで私が人がしゃべっているのを聞いてきたところでは、Windowsでいうところの、exeファイルやdllファイルを指しているような気がします。 「モジュール」という言葉は gooの新語辞典にも載っています。 また、コンピュータ用語辞典のようなサイトも見てみました。 それらによると、「ソフトウェア・ハードウェアの部品」だそうです。 しかし、例えば何のことをいっているのかが、分からないのです。 #ファイルなら何でもいいのだろうか。 この言葉の用例を教えていただきたいのです。 ============================ 過去の質問と回答より。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=302590 回答No.1の補足より。 >モジュールはAccessの標準モジュールのことです わたしはAccessのことをほとんど知らないので、ハテナです。 http://oshiete1.goo.ne.jp/kotaeru.php3?q=293234 こちらのNo.2の回答では、 dllとは「共通モジュール=ライブラリ」である、 という使い方ですので、例えばdllのことを指しているようです。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
「モジュール」と言う言葉には「ソフトウェアの部品」という以上の共通概念はありません。 よって、使用される文章の前後関係によって微妙に意味合いが変ってきます。 1.関数、手続き 「mainモジュール」など 2.機能単位でまとめられたライブラリのメンバー 「標準関数ライブラリ(UNIXならlibc.a)に含まれるstdio関係の関数群」など 3.実行ファイルを構築するための個々の素材ファイル 「ソースファイル」、「オブジェクトファイル」、「ライブラリファイル」など 4.実行環境を構成する個々の実行可能ファイル 「exeファイル」、「dllファイル」など 5.(オブジェクト指向型言語において)クラス モジュールは機能で分類されていると言う保証はありません。 「stdioを構成する個々の関数」を関数モジュールと言う場合もあります。 モジュールと言う単語を使い場合、「関数モジュール」とか「ライブラリモジュール」と言うように、モジュールと言う言葉の曖昧さを保管するような単語と組み合わせて使う用に心がけた方が安全です。
その他の回答 (4)
- itohh
- ベストアンサー率45% (210/459)
こんにちは。itohhといいます。 「モジュール」って言葉は、凄く汎用的な言葉なんですよ。 例えば。 パソコン(ハードのことです)は、CPUとハードディスクとメモリなどで出来上がっています CPUとハードディスクとメモリが「モジュール」です。 「モジュール」の組み合わせによってSONYのパソコンになったり、富士通のパソコンになったり します。 ジグソーパズルには、多くのピースがあります、ピースをすべてはめると1つの絵になりますが ピースの形はほとんど同じものですよね?(まるっきり同じかも...) このピースが「モジュール」です。ピース自体は同じ形をしていますが表面の絵を変えることに よって違うジグソーパズルにもなります。 Cドライブには、Windowsに絶対必要な「モジュール」が入っています。 Win98系の場合:c:\windows\system32配下 WinNT系の場合:c:\winNT\system32配下 この中にはたくさんのDLLが入っています。このDLLでWindowsが構成されています。 さらに、DLLの中にも関数(または、メソッド)と呼ばれるモジュールが入っています。 ブラウザもたくさんの「モジュール」で構成されています。 マウスを操作する「モジュール」、文字を表示するための「モジュール」、画像を表示するための 「モジュール」、サーバと通信を行うための「モジュール」などなど。 つまり、1つのものを構成している一つ一つを「モジュール」といいます。
お礼
締め切り7月2日21時30分ころ
補足
モジュールという言葉を使うのはソフトウェアの話だとは限らず、ハードウェアでも使うんですね。 ジグソーパズルのピースの話は、No.3の方の話に近いですね。 >Cドライブには、Windowsに絶対必要な「モジュール」が入っています。 >Win98系の場合:c:\windows\system32配下 >WinNT系の場合:c:\winNT\system32配下 >この中にはたくさんのDLLが入っています。このDLLでWindowsが構成されています。 >さらに、DLLの中にも関数(または、メソッド)と呼ばれるモジュールが入っています。 これってつまり、「モジュールとは、dllを指すこともあるし、dllの中の関数を指すこともある」ということですね。
- imogasi
- ベストアンサー率27% (4737/17069)
Moduleを英和辞書で引くと、基準寸法(例積水ハウスのメーターモジュールなど)とあり、畳(メーター・190cm、関西間、京間、江戸間など)などを始め、入れ替えが可能で、他の同類物でもぴったり収まる様にきめられた単位やそれに従った物。家具などの規格化された組みたてユニットも言う。電算用語ではラテン語の尺度のModusに小さいを示す語がついて出来たとある。仕事や処理タイプの適当なまとまりを、応用が利くように分割(小さく)して、ソフト・プログラムを組むことが、モジュール化であり、出来たものがモジュールである。決してアクセスやOSのDLLやEXEファイルだけでなくソフト設計の基本的な設計概念と思います。似たような言葉に、ルーチンとかサブルーチンというのがあって、こちらも「ン」は小さいという意味のようです。(1)分割可能な機能の一部分を構成(2)組みたてられる一部(3)(旧くなったり誤りが見つかれば)取替え可能で他に影響を最小限に抑えられる。(4)他との組みたて時に不都合が出ない。(畳と障子の整合性などのイメージ)。このどれかをイメージとして引きずっている時使われる。あと「ロードモジュール」、「モジュール化」とかの用語があり、 モデムのModulationやModulus(係数)、Mod(VB言語の余り)、Modulus11も同根の言葉のよう。Methodもラテン語Modから来るようで同根か。他にModel。似たような語感の語にコンポーネントがソフト関係使われる。
補足
正直に言って、ご回答は私には難しいです。 物の一部であって、取り替えられるかどうかが重要のようですね。
- Spur
- ベストアンサー率25% (453/1783)
「ひとつの機能」や「ひとつの仕事の単位」と考えたら理解できますか? 何かのプログラムを作る時には、たくさんの機能の集まりになります。 その機能の単位と考えてください。 ファイルから読みこむ。ファイルに書き込む。画面に表示する。エラー判定をする。 などの機能単位です。 最終的に出来あがるのは、実行型プログラムの場合は「*.exe」になりますが、それはモジュールの集合体です。 「*.dll」はモジュール単位で作る場合もあるし、いくつかのモジュールを一まとめにして、ひとつのファイルにする場合もあります。 >dllとは「共通モジュール=ライブラリ」である、 これは、ちょっと違うかな? DLLとは、共通モジュールまたは共通モジュールの集合体です。 ですから「Library=図書館、書庫」と言います。
補足
このご回答を見て思ったのは、C言語でいうところの「関数」のようなものだということでした。 dllやexeとの関係で言うと、「モジュール」が集まってそれらになる、というイメージですね。 この場合も、モジュールは、ファイルとは明らかに違いますね。
- koyuki2001
- ベストアンサー率15% (18/118)
プログラミング初心者(VisualBasic)なので、 感覚的にしかわかってないのですが。 exeファイルはモジュールの集まりです。 (1つのモジュールで構成されていることもあります) DLLはモジュールの一種です。 標準モジュールとか フォームモジュールとか クラスモジュールとか モジュールにはいろいろ種類があります。 VisualBasicでいいますと(ご存じなかったらすみません) 1つのウインドウは1つのモジュールで構成されています。 例えばあるプログラムがウインドウを5つ持っている(表示する) とすれば、そのプログラムは最低でも5つのモジュールで構成されていることに なります。
お礼
(現在の最終回答No.5) 皆様のご回答を拝見すると、モジュールという言葉はいろいろなものを指すようですね。だから、回答者の方によって、具体的に指すものが違うこともあるわけですね。 回答No.1について: 私はVBのことを知らないですが、プログラムの部品をモジュールと言っているんですね。「ファイル」という概念とは別であることがわかります。 具体的でいいなあと思ったのは、ウィンドウが1つのモジュールだというところでした。 ありがとうございました。
お礼
私は「クラス」というものがよくわかっていないので、わかるところで言うと、 私が質問で書いた「1つ1つのソースファイルを指している」とか、「exeファイルやdllファイルを指している」というのは、間違ってはいないわけですね。 「関数」のことをいう場合もあるようですね。
補足
これまでご回答された方々へ: 補足またはお礼をするのに時間をいただきたいと思います。 (もちろん更なる回答もお待ちします。)