- ベストアンサー
ルーチンとライブラリについて。
ルーチンとは、コードの集まりのことで、ライブラリは入れ物だと聞いたのですが、そうなのでしょうか?後、コードの集まりというのはどういうことでしょうか?教えていただけると助かります。すみません。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
> ルーチンとライブラリの違い簡潔 ざっくり言うと、ルーチンは作業手順を書いたプログラムのことで、メイン(主)とサブ(副)に分かれます。 メインルーチンは発注者専用に特別に作る作業手順プログラムですので、ライブラリには入っていません。 例えていうなら、「2021年1月に大型カメラで撮影した、2022年正月の年賀状用の富士山写真」みたいなものです。特注品なので、第三者が勝手に使うと法律問題になります。 サブルーチンは、一般的な、誰でも利用するような「小規模」なルーチン(作業手順)です。汎用性のあるルーチンなので、ライブラリーに入っている(一括して売られている)ことが多いです。 例えればサブルーチンは、「著作権を放棄した写真集」の中の富士山写真のようなものです。 写真は写真であるように、メインルーチンもサブルーチンも、どちらも作業手順を書いたプログラムであることは同じです。 写真集に例えて言えば、「ライブラリーとは写真集(写真の集合体)」のことですから、「ライブラリーとは入れ物だ」と言えなくもないですが、 開いてみたら1枚しか写真が載っていない、それでも写真集か?というとそうは言えない(写真集だと言って売ったら詐欺)のと同じで、写真が何枚も載っていての写真集、いくつかのルーチンやデーターなどが載っていてのライブラリー(ルーチンが1つあるだけなのにライブラリーだと言って売ったら詐欺)であるわけです。 ★結局、ルーチンとライブラリの違いは、最初に書いた回答と同じかもしれませんが、 「ルーチンとは、個々の作業手順を書いたプログラム」のこと。 「ライブラリーとは、いくつかのルーチンやデーターなどを集めたもの」 です。
その他の回答 (3)
- fujic-1990
- ベストアンサー率55% (4505/8062)
メインルーチンと言ったら、プログラマーがコンピューターに何をやらせたいのかの本筋の作業手順です。 ライブラリーに入っているものは、ごく一般的な、汎用性のあるルーチンだけです。 メインルーチンは発注者からの依頼に合ったオーダーメイドですから、ライブラリに入っていることはないと思いますね。 もちろん、初歩的な、例えば「利息を計算するプログラム」程度ならライブラリーに入っているでしょうが、元金や金利のデーターをどこから得るのか(銀行員が手で入力するのかどこかから電子データーが送られてくるのを読み取るのか)、算出した利息を何に書き出すのか(画面に出せばいいのか通帳に印字するのか)、などなどはそれぞれに違いがあり、発注者の意向次第です。 その発注者の意向に合わせて特別に作るのがメインルーチンですから、ライブラリーにはないですね。 ゼッパチ(Z80)という8ビットCPUをベーシックでいじっていた時の仲間内の冗談ですが、ちゃんと計算させたはずなのに、答えが出ない。なぜだろうなぜだろうと考えること3日、朝起きて寝ぼけまなこでプログラムを見て、「表示しろ(print)」という命令が欠けていることに気が付いた、という話。 ライブラリーにあるようなルーチンは、いろんな人が使ってみているから間違いはないのですが、メインルーチンで決定的なミスをしがちです。
補足
結局ルーチンとライブラリの違い簡潔に言っていただけないでしょうか?もう少し詳しくです。すみません。教えていただけると嬉しいです。
- Ultra-Hetare
- ベストアンサー率38% (204/526)
ルーチンはいつもの決まりきった処理を記載したコードですが、 単に使いまわしていて、世代管理やコミットメントなどもない、 職場や個人単位で扱っているものです。 また、処理速度やCPU負荷などは考慮しないのが通常ですし、 広く世間に公開する性質のものではありません。 ライブラリは、汎用的に使用されるコードを集積したもので、 多くの場合世代管理され、メンテナーやコミッターが居たりします。 そして、単純にシステムコールを呼び出すより効率的だあることが 考慮され、処理速度やCPU負荷を考慮して作成・公開されています。 (私的なライブラリも無いとは言いませんが) 実際問題としては「徹底的に管理され、ルールに基づいて使用されるルーチン」 と 「放置されたライブラリ」 も無くはないので、厳密な回答は出来ません。
- fujic-1990
- ベストアンサー率55% (4505/8062)
ルーチンとは、「特定の処理を行う一連の命令の集まりのこと」(PC用語辞典)です。 単なるコードの集まりではないですね。「特定の処理を行う」という目的が不可欠の集団です。 ライブラリーとは、プログラムで使う関数やサブルーチン、データなどの集まりのこと(同上)です。 入れ物を含めて中身を含めて指します。 「早く作ってしまいたいから、ゼロから作ってないで、ライブラリーの中のサブルーチンを使えよ」的に、必要に応じてその中の関数やサブルーチン、データーなどを取り出して使います。
補足
つまり、特定の処理コードを集めたものがルーチンで、ライブラリの中にメインルーチンはないのでしょうか?教えていただけると助かります。
補足
ルーチンとは、A プログラム、Bプログラム、Cプログラムを集めたもので、ライブラリは入れ物ということであっていますでしょうか?教えていただけると嬉しいです。すみません。