• ベストアンサー

ルーチンとライブラリについて。

ルーチンとは、コードの集まりのことで、ライブラリは入れ物だと聞いたのですが、そうなのでしょうか?後、コードの集まりというのはどういうことでしょうか?教えていただけると助かります。すみません。

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

  • ベストアンサー
  • fujic-1990
  • ベストアンサー率55% (4505/8062)
回答No.4

> ルーチンとライブラリの違い簡潔  ざっくり言うと、ルーチンは作業手順を書いたプログラムのことで、メイン(主)とサブ(副)に分かれます。  メインルーチンは発注者専用に特別に作る作業手順プログラムですので、ライブラリには入っていません。  例えていうなら、「2021年1月に大型カメラで撮影した、2022年正月の年賀状用の富士山写真」みたいなものです。特注品なので、第三者が勝手に使うと法律問題になります。  サブルーチンは、一般的な、誰でも利用するような「小規模」なルーチン(作業手順)です。汎用性のあるルーチンなので、ライブラリーに入っている(一括して売られている)ことが多いです。  例えればサブルーチンは、「著作権を放棄した写真集」の中の富士山写真のようなものです。  写真は写真であるように、メインルーチンもサブルーチンも、どちらも作業手順を書いたプログラムであることは同じです。  写真集に例えて言えば、「ライブラリーとは写真集(写真の集合体)」のことですから、「ライブラリーとは入れ物だ」と言えなくもないですが、  開いてみたら1枚しか写真が載っていない、それでも写真集か?というとそうは言えない(写真集だと言って売ったら詐欺)のと同じで、写真が何枚も載っていての写真集、いくつかのルーチンやデーターなどが載っていてのライブラリー(ルーチンが1つあるだけなのにライブラリーだと言って売ったら詐欺)であるわけです。 ★結局、ルーチンとライブラリの違いは、最初に書いた回答と同じかもしれませんが、  「ルーチンとは、個々の作業手順を書いたプログラム」のこと。  「ライブラリーとは、いくつかのルーチンやデーターなどを集めたもの」 です。

zasx1097
質問者

補足

ルーチンとは、A プログラム、Bプログラム、Cプログラムを集めたもので、ライブラリは入れ物ということであっていますでしょうか?教えていただけると嬉しいです。すみません。

その他の回答 (3)

  • fujic-1990
  • ベストアンサー率55% (4505/8062)
回答No.3

 メインルーチンと言ったら、プログラマーがコンピューターに何をやらせたいのかの本筋の作業手順です。  ライブラリーに入っているものは、ごく一般的な、汎用性のあるルーチンだけです。  メインルーチンは発注者からの依頼に合ったオーダーメイドですから、ライブラリに入っていることはないと思いますね。  もちろん、初歩的な、例えば「利息を計算するプログラム」程度ならライブラリーに入っているでしょうが、元金や金利のデーターをどこから得るのか(銀行員が手で入力するのかどこかから電子データーが送られてくるのを読み取るのか)、算出した利息を何に書き出すのか(画面に出せばいいのか通帳に印字するのか)、などなどはそれぞれに違いがあり、発注者の意向次第です。  その発注者の意向に合わせて特別に作るのがメインルーチンですから、ライブラリーにはないですね。  ゼッパチ(Z80)という8ビットCPUをベーシックでいじっていた時の仲間内の冗談ですが、ちゃんと計算させたはずなのに、答えが出ない。なぜだろうなぜだろうと考えること3日、朝起きて寝ぼけまなこでプログラムを見て、「表示しろ(print)」という命令が欠けていることに気が付いた、という話。  ライブラリーにあるようなルーチンは、いろんな人が使ってみているから間違いはないのですが、メインルーチンで決定的なミスをしがちです。

zasx1097
質問者

補足

結局ルーチンとライブラリの違い簡潔に言っていただけないでしょうか?もう少し詳しくです。すみません。教えていただけると嬉しいです。

回答No.2

ルーチンはいつもの決まりきった処理を記載したコードですが、 単に使いまわしていて、世代管理やコミットメントなどもない、 職場や個人単位で扱っているものです。 また、処理速度やCPU負荷などは考慮しないのが通常ですし、 広く世間に公開する性質のものではありません。 ライブラリは、汎用的に使用されるコードを集積したもので、 多くの場合世代管理され、メンテナーやコミッターが居たりします。 そして、単純にシステムコールを呼び出すより効率的だあることが 考慮され、処理速度やCPU負荷を考慮して作成・公開されています。 (私的なライブラリも無いとは言いませんが) 実際問題としては「徹底的に管理され、ルールに基づいて使用されるルーチン」 と 「放置されたライブラリ」 も無くはないので、厳密な回答は出来ません。

  • fujic-1990
  • ベストアンサー率55% (4505/8062)
回答No.1

 ルーチンとは、「特定の処理を行う一連の命令の集まりのこと」(PC用語辞典)です。  単なるコードの集まりではないですね。「特定の処理を行う」という目的が不可欠の集団です。  ライブラリーとは、プログラムで使う関数やサブルーチン、データなどの集まりのこと(同上)です。  入れ物を含めて中身を含めて指します。  「早く作ってしまいたいから、ゼロから作ってないで、ライブラリーの中のサブルーチンを使えよ」的に、必要に応じてその中の関数やサブルーチン、データーなどを取り出して使います。

zasx1097
質問者

補足

つまり、特定の処理コードを集めたものがルーチンで、ライブラリの中にメインルーチンはないのでしょうか?教えていただけると助かります。

関連するQ&A