讨论下 function 这个单词的翻译

2016-08-12 12:45:33 +08:00
 kideny

今天在群里有人问,软件开发中的函数和数学中的函数除了名字一样,还有啥一样的地方嘛?

某人回答:除了名字一样,没啥一样的了。

于是乎,我就去查了一下 function 这个单词的意思。

function 这个单词,可以被翻译为,功能,作用,函数等多重意思。

感觉在编程中,被翻译成功能块或者代码块,更合适。

直接叫函数,感觉有点不恰当呢。

这是不是, IT 行业的翻译害人系列呢?

8455 次点击
所在节点    编程
71 条回复
binux
2016-08-13 07:20:25 +08:00
@ericls 即使带状态转移的 function 依旧是 function
将子程序简化为 DFA 后,状态转移函数( transition function )依旧是 function ,它的输入包括状态。给定相同的输入依然满足永远给相同的输出
ericls
2016-08-13 07:37:23 +08:00
@binux function 1+1=2 和 1+1 先发射一个火箭 再等于 2 是不一样的
binux
2016-08-13 07:42:07 +08:00
@ericls 如果发射火箭是「状态 a 置 1 」,即按钮按下。状态转移函数:状态 a 为 0 ,输入 1 , 1 ,状态 a 置 1 ,抛出 2 。那么它就是一个 transition function 。
newton108
2016-08-13 08:29:24 +08:00
这个问题有哪怕一丁点儿的意义?
v9ox
2016-08-13 09:47:47 +08:00
函数数学上把定义域映射到值域

程序里是对逻辑的封装,把 arguments 映射成 return value

我觉得是一回事啊
irgil
2016-08-13 12:25:19 +08:00
楼主没上过大学+1 ,代码块是 block ,有自己的定义和含义
oska874
2016-08-13 12:36:27 +08:00
离开上下文的翻译都是刷流氓。
jiongxiaobu
2016-08-13 12:44:19 +08:00
一直叫它函数 因为它就是函数。
Quaintjade
2016-08-13 12:57:20 +08:00
写过 VB 就知道,有 Function 和 Sub 两种东西,最大的区别在于, Function 必须有返回值, Sub 本身可以没返回值。所以 Function 就是函数,而 Sub 才更接近代码块。
Cu635
2016-08-13 14:48:24 +08:00
@learnshare
“方法”是面向对象程序设计的一个术语。
Cu635
2016-08-13 14:52:58 +08:00
“函数”定义上就是一个映射,只不过咱们从初中到高中再到非数学专业通修的高等数学 /微积分里面,学到的都是从数字或者向量映射到一个数字的函数。

如果把定义域和值域的概念都扩展,都不仅仅看作数字 /向量的集合话,不就能兼容编程当中的“函数”了?(也就是说,把那些“副作用”也看成值域的一部分,函数的参数是一个向量,值域是包括返回值和“副作用”的一系列操作组成的向量)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/298854

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX