私は現在、アセンブラーに類似した低レベルのインタープリター型プログラミング言語を設計し、再考しています。
私はすぐに、関数/ループ/goto の決定の問題に遭遇し、ループが好きwhile
でfor
高レベルすぎて不適当である一方で、goto は低レベルすぎて維持できず、一般的に再び悪になるだろうと考えました。戻り値と引数を持つほとんどの言語の関数は、言語の概念にも適合しません。
だから私は関数とgotoの間で可能な何かを理解しようとしました
- 再帰
- 効率的なループ
しばらく考えた後、サブルーチンのアイデアを思いつきました。
- 関数のように始まりと終わりがある
- 名前はありますが、goto のような引数はありません
- jump で 1 つに入り、終了する前に再びそこから出ることができます
return
(結果は返されず、サブルーチンを停止するだけです)。 - 通常のコードと同じように処理 -> goto のようなグローバル スコープ
だから私は知りたかった:
- 上記のアイデアは良いですか?(欠点)利点は何ですか?
- function と goto のより良い組み合わせ、またはまったく新しいアイデアはありますか?