No.2ベストアンサー
- 回答日時:
実はとても良い質問だと思います。
おそらく、明確に答えられるプログラマはあまりいない (特にコンポーネントとモジュールの違いが) と思います。
順に説明していきましょう。
プラグインはあるソフトウェアを拡張するためのプログラムです。
プラグインは単体では動きません。
プラグインは「ソフトウェアを使用する人間が入れ替え可能なプログラムの一部のこと」と言えるでしょう。
プラグインで最も有名なソフトウェアとして、Mozilla Firefox を挙げます。
このソフトウェアの使用者は、Firefox のプラグインとして、各種拡張を自由に追加・入れ替え・削除が行えます。
(firefox では、「拡張」と例えば Adobe Flash Player のようなファイルの種類に応じて呼び出される別のプログラムという2種類のプラグインが存在しているので、注意してください)
ライブラリは有用で汎用性の高い関数・クラス・その他を再利用可能な形でひとまとめにしたものです。
たいていの場合、ライブラリ単体では動きません。
プラグインとの違いは汎用性が挙げられます。
あるソフトウェアを対象として書かれたプラグインと違い、ライブラリは特定のソフトウェアを対象としてかかれていません。
誤解が生じかねないので具体例を挙げます。
例えば、Windows Media Player で YouTube を見られるようにするためのプログラムを書いた場合、それは Windows Media Player のプラグインと言えるでしょう。
一方、YouTube を見られるように、手続きを行う関数・クラスをひとまとめにしたプログラムを書いた場合、それはライブラリです。
この場合、ライブラリがアクセスするソフトウェアは固定ですが、ライブラリを使うソフトウェアは特定のモノが対象となっていないことに注意してください。
コンポーネントはソフトウェアの部品で、モジュールもソフトウェアの部品です。
モジュールはある手続き (関数やメソッド) とデータ構造をひとまとめにした部品です。
大抵の場合、モジュール単体でコンパイル可能ですが、動作はしません。
この説明だけだと、クラスとモジュールの違いがわからなくなりますが、一番大きな違いは、クラスはインスタンスとしてオブジェクトを生成しますが、モジュールは生成しない点でしょう。
コンポーネントはある機能を持ったプログラムの部品です。
大抵の場合、コンポーネント単体では動作しません。
非常に漠然とした回答で申し訳ないですが、モジュールを複数組み合わせた位のモノがコンポーネントと思っていただければありがたいです。
粒度的には
プログラム (←これ単体でやっと動く) > コンポーネント > モジュール > クラス
です。
さて、ココまでの回答ですが、全てちゃぶ台をひっくり返してしまいます。
業務のドメインや会社・組織、部署、チーム、はてはプロジェクトごとに、
コンポーネント、モジュール、その他もろもろの定義はぜんぜん違います。
はっきり言ってしまえば、どんなにえらい先生、専門家、スーパーエンジニアでも、これらの定義はまちまちです。
例えば、IT用語辞典 e-word において「コンポーネント」は「基本的に単体では使用できず」と書いてありますが、世界で始めて「コンポーネント」という概念を実装したのは Unix のパイプとフィルタであり、
当たり前ですが、ここで用いられている Unix の各種プログラムは単体で使用可能です。
ですので、実際のところは、あなたがこれくらいかなと思ったものがコンポーネントであり、モジュールです。
実のところ、勉強すればするほどわからなくなっていくお話ですが、漫然と過ごしてしまうと、このようなハードな疑問を抱けなくなってしまうかと思います。
どうか、これからも疑問を抱き続けてください。
最後に、まったくどうでもいい知識ですが、
世の中には Component Plugin Module というモジュールが存在しています。
S_Katsuyamaさん
素晴らしい回答ありがとうございます!
この様な回答をお待ちしていました。
> 実のところ、勉強すればするほどわからなくなっていくお話ですが、
そうなんです。
プログラムを書けば書くほど疑問が大きくなり、何が何なのかわからなくなってしまったので質問させて頂きました。
この様な回答を書ける方であれば、きっと素晴らしいプログラマかと思います。
一緒に仕事をしている人がうらやましいぐらいです。
> 世の中には Component Plugin Module というモジュールが存在しています。
そんな物があるんですね。知りませんでした。
いずれにしても本当にありがとうございました。
No.1
- 回答日時:
ここに質問する前にネットで検索してね!
プラグインとは
コンポーネントとは
モジュールとは
ライブラリとは
のキーワードで検索すれば説明サイトが見れます。それでわからない部分を聞いてください。、そうずれば
>いずれも、あるプログラムをまとめたプログラムであると思っているのですが
と言うアホナ質問にならないと思いますよ。コンピューター関係の用語は、学校で国語とか漢文とか英語とか習うのと一緒で、まず辞書で調べましょう。
例: 授業で
This is a pen.
と黒板にかかれたら、penとは何ですか? と質問する人はいますかね?
ちなみに、それぞれ全く違う意味です。それぞれ元の意味があり、コンピューターの用語としては、このような意味になります。と言う説明になります。
例えば「ライブラリ」ですが「図書館」ですね。コンピューター用語としては、メインのプログラムから呼び出されるソフトの集合場所や、ソフトそのものを指します。
しかし、違う意味でも使われます。写真や動画の集めたフォルダーやアルバムを指します。これは、絵画や歴史的な資料をそろえている会館やオフィスなども指しますね。前後の文脈が重要ということですね。
>何をどういう基準で分ければいいのかと
と言う事でこの質問は的を得て質問されていないので、「それぞれ意味が違います」と言う回答が正しかと思いますよ。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・一回も披露したことのない豆知識
- ・これ何て呼びますか
- ・チョコミントアイス
- ・初めて自分の家と他人の家が違う、と意識した時
- ・「これはヤバかったな」という遅刻エピソード
- ・これ何て呼びますか Part2
- ・許せない心理テスト
- ・この人頭いいなと思ったエピソード
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・あなたの習慣について教えてください!!
- ・ハマっている「お菓子」を教えて!
- ・高校三年生の合唱祭で何を歌いましたか?
- ・【大喜利】【投稿~11/1】 存在しそうで存在しないモノマネ芸人の名前を教えてください
- ・好きなおでんの具材ドラフト会議しましょう
- ・餃子を食べるとき、何をつけますか?
- ・あなたの「必」の書き順を教えてください
- ・ギリギリ行けるお一人様のライン
- ・10代と話して驚いたこと
- ・家の中でのこだわりスペースはどこですか?
- ・つい集めてしまうものはなんですか?
- ・自分のセンスや笑いの好みに影響を受けた作品を教えて
- ・【お題】引っかけ問題(締め切り10月27日(日)23時)
- ・大人になっても苦手な食べ物、ありますか?
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・ちょっと先の未来クイズ第4問
- ・【大喜利】【投稿~10/21(月)】買ったばかりの自転車を分解してひと言
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBでグローバル変数を宣言するには
-
Excel VBAで、ユーザーフォーム...
-
Excel VBAでリンク切れをチェッ...
-
VBAで別モジュールへの変数の受...
-
vba 標準モジュールインポート...
-
エクセルVBAでシートモジュール...
-
Form間の値の渡し方
-
モジュールとクラスの違いって...
-
Excel VBA 『Call』で呼び出す...
-
グラフのX,Y座標を取得したい
-
モジュールとは何ですか
-
本当にPublicな変数(配列で)
-
VBAで旧字体を異字体に一括で変...
-
シートモジュールで使う変数を...
-
Excel VBA 標準モジュールの整...
-
Workbook.BeforeSave イベント...
-
VBA This Workbookモジュール...
-
VHDLにおける「generic」について
-
ユーザー定義関数に#NAME?が返...
-
VBのフォームモジュールと標準...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでリンク切れをチェッ...
-
Excel VBAで、ユーザーフォーム...
-
ユーザー定義関数に#NAME?が返...
-
Excel VBA 『Call』で呼び出す...
-
エクセルVBAでシートモジュール...
-
VBAで別モジュールへの変数の受...
-
モジュールの最大数はいくつな...
-
VBでグローバル変数を宣言するには
-
グラフのX,Y座標を取得したい
-
VBA This Workbookモジュール...
-
モジュールとクラスの違いって...
-
【vba】フォームに書いてあ...
-
VBAで旧字体を異字体に一括で変...
-
vba userFormのSubを標準モジュ...
-
ベースモジュールって?
-
標準モジュールを削除したい。(...
-
Access VBA標準モジュールにつ...
-
Form間の値の渡し方
-
VBAProjectのモジュ...
-
'Range'メソッドは失敗しました
おすすめ情報