短语起源:我们为什么“调用”函数?

短语起源:我们为什么“调用”函数?

Hacker News 摘要

原标题:Phrase origin: Why do we "call" functions?

这篇文章探讨了“调用”函数这一术语的起源。在编程中,程序员使用“调用”函数这一表达,其实可以追溯到几个相关的比喻:

1. 调用函数就像是叫朋友过来——我们去一段时间后再回来。

2. 调用函数就像是叫仆人过来——是一种召唤来执行任务的行为。

3. 调用函数就像是打电话——我们向外部询问问题并获得答案。

文章认为,最贴近的解释是第二个比喻,指的是“召唤”或“叫出”某个例程,这个概念源于从子程序库中“呼叫”子程序的想法,就像从封闭书架的图书馆中请求一本书那样。

文章引用了牛津英语词典(OED)中对“调用号码”的首次引用,来自梅尔维尔·杜威(Melvil Dewey),出现在1876年。这个定义指的是图书馆书籍上的一个标记,表示书籍在库中的位置。文章中提到,图书馆专业期刊《图书馆杂志》在1888年中使用“调用号码”一词,似乎那时这个术语已经相当普及。

接着,文章详细回顾了“调用”一词在早期计算机程序设计中的使用情况。1947年,约翰·W·毛赫利(John W. Mauchly)在一篇文章中谈到了如何进行子程序的引用。1958年,福特朗II(Fortran II)引入了“CALL”和“RETURN”语句,程序员可以通过CALL语句来调用子程序。福特朗II的文档描述了CALL语句的功能,而当时代的计算机语言也开始模糊“调用”与“控制转移”的界限。

文章接着讨论了1960年代更高层次编程语言中的“调用”一词的演变,尤其是Algol和JOVIAL等语言如何使用“调用”一词。JOVIAL手册提到“过程调用”与实际的控制转移,而Perlis & Samelson的报告则将“调用”描述为发起执行一个程序的过程。

最后,文章总结得出几点猜测:福特朗II使“调用X”这一表述迅速流行;福特朗的“CALL”作为助记符的选择是受到之前用法的启发,并引入了一些新的细微差别;到了1959年,Algol开始采用“调用”一词,而到1961年已开始出现“调用X”的确切说法。

该文章通过详细的历史分析展示了“调用”这一术语在编程领域的演变过程,以及它与早期图书馆管理术语的联系。


原文:https://quuxplusone.github.io/blog/2025/04/04/etymology-of-call/

评论:https://news.ycombinator.com/item?id=44506251

Report Page