Lambda: The Ultimate GOTO (1977)
3 months ago
- #procedure-calls
- #optimization
- #programming-languages
- 论文驳斥了过程调用本质上比GOTO语句开销更大的谬误,指出这种误解源于语言实现的设计缺陷。
- 文章论证了只要实现得当(特别是通过尾递归优化等技术),过程调用完全可以达到与GOTO语句相当的效率。
- 作者通过数学证明表明:任何流程图都可以仅用顺序结构、条件判断和过程调用这三种结构来表达,且无需引入额外变量。
- 研究凸显了过程调用强大的表达能力,展示其能自然优雅地呈现复杂控制结构。
- 论文批判了多数编程语言中内置运算符与用户函数的人为区分,主张采用更统一高效的语言设计方案。
- 作者强调必须将抽象编程概念与具体语言构造相分离,这对提升语言实现质量和编程风格都具有重要意义。
- 研究最终指出:过程调用因其强大功能与灵活性应当受到重视,而非因性能偏见被弃用。