0

私は、プログラミング言語の本で使用される "サブルーチン"と "ルーチン"の両方を見てきました。彼らは同じ概念ですか? 「サブ」とはどういう意味ですか?"サブルーチン"と "ルーチン"は同じ概念ですか?

私はあなたのコンピュータ科学の本で見たかもしれない多くの例は、我々はsubroutin E上のスペースの割り当てを検討し、3.2.2項でProgramming Language Pragmatics, by Scott:

から次の1以外にも、そこにあると思います コールスタック(図3.1)。それぞれルーチンは呼び出されるとスタックの先頭に新しい スタックフレームまたはアクティベーションレコードが与えられます。このフレーム は、引数および/または戻り値、簿記情報 (戻りアドレスおよび保存されたレジスタを含む)、ローカル変数、 および/または一時変数を含むことができる。 サブルーチンが返されると、そのフレームはスタックからポップされて になります。

ありがとうございます。

+0

時間が経つにつれて、 "ルーチン"はプログラムのトップレベルコードに適用されます。 "サブルーチン"はトップレベルのコードまたは他のサブルーチンによって呼び出されるビットのコードです。 –

答えて

1

サブルーチンまたはルーチンは、プログラムが実行するコードまたは命令の自己完結型ブロックの名前にすぎないと私は理解しています。たとえば、Rubyでは、JavaScriptのように関数と呼ばれるサブルーチンメソッドを呼び出します。

提供したProgramming Language Pragmaticsの例では、サブルーチンは実行されるアクションの呼び出しスタックのように見え、スタックの各アイテムは独自の自己完結型スタックを起動するルーチンです。すべてのプロセスが実行された後、ルーチンは終了し、サブルーチンは次のルーチンに移動する。

Wikipediaには、コールスタック内で何が起こっているのか、どのようにサブルーチンに名前が付けられているかについての詳細な説明があります。

+0

ありがとうございます。私が追加した本のリンクを読むと、サブルーチンとルーチンの両方にスタック内のフレームがあります。だから私は彼らが同じコンセプトだと思う。同意しますか? – Tim

+0

抜粋をより詳しく読むと、私はあなたが言っていることを見ています。それはサブルーチンのように聞こえ、ルーチンは同じ概念の異なる名前です。ウェイン・コンラッドが上でコメントしたことから、「サブルーチン」という言葉は数年前の残されているようです。サブルーチンは、別のルーチン内で実行されるルーチンです。すべてのことが言われている、はい、私はあなたに同意し、サブルーチンとルーチンは同じです。投稿と研究に感謝します。それはクールなものです。 –

関連する問題