我正在设计并正在重新考虑一种与汇编程序相似的低级解释编程语言。
我很快就遇到了函数/循环/gotos 决策问题,并认为虽然循环喜欢while
并且for
会太高级且不合适,但 goto 会太低级、无法维护并且通常又是邪恶的。像您这样的函数从大多数具有返回值和参数的语言中都知道,它们也不适合该语言的概念。
所以我试图找出一个函数和一个能够
- 递归
- 高效循环
经过一番思考,我想出了子程序的想法:
- 它们像函数一样有开始和结束
- 他们有名字但没有像 goto 这样的参数
- 你可以用 jump 进入一个并在它结束之前再次退出它
return
(不返回任何结果,只会停止子程序) - 像普通代码一样处理 -> 像 goto 这样的全局范围
所以我想知道:
- 上面的想法好吗?有什么(缺点)优点?
- 会有更好的函数和 goto 组合,甚至是一个全新的想法吗?