讨论下 function 这个单词的翻译

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

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

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

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

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

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

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

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

8032 次点击
所在节点    编程
71 条回复
ynyounuo
2016-08-12 12:50:57 +08:00
GordianZ
2016-08-12 12:51:24 +08:00
为什么不是函数呢?
y=sin(x) 跟 var result = print("hello") 有什么区别么?
lxrmido
2016-08-12 12:51:26 +08:00
21grams
2016-08-12 12:51:55 +08:00
软件开发中的函数和数学中的函数是有关系的,他们叫一个名字可不是什么巧合。
bdbai
2016-08-12 12:54:11 +08:00
个人认为两个函数的相同点在于,给定输入值,通过一定计算,返回一个值。编程中函数远比“功能块”“代码块”复杂,有必要区分开。
举个例子, Javascript 以及各种 函数式语言。
ynyounuo
2016-08-12 12:57:06 +08:00
叫「代码块」稍微欠那么一点儿意思
soland
2016-08-12 12:57:54 +08:00
软件开发中的函数,数学中的函数
最终的含义是一样的。
kideny
2016-08-12 13:01:35 +08:00
@GordianZ 区别大了吧。。。
learnshare
2016-08-12 13:03:00 +08:00
代码中,叫函数;代码功能上,叫方法;软件层面,叫功能。这不就和谐了
bdbai
2016-08-12 13:04:39 +08:00
@kideny 没啥区别 真的
y=sin(x) 和 Let result = Sin(input)

骚年放下 PHP ,来玩玩函数式编程吧。
bdbai
2016-08-12 13:05:42 +08:00
@learnshare 函数和功能不应该对应起来。不是一个层面的东西。
hronro
2016-08-12 13:05:48 +08:00
一般编程中的函数都有副作用,而数学中的函数没有。建议去看看函数式编程中 pure function 的概念
Kisesy
2016-08-12 13:11:32 +08:00
很多编程书里也写成子程序
kideny
2016-08-12 13:22:58 +08:00
@Kisesy 叫子程序,显然更严谨一些。
kideny
2016-08-12 13:26:05 +08:00
@bdbai 让你说的数学里的=和编程里的=,一样似的
levn
2016-08-12 13:30:09 +08:00
学 haskell 喽
learnshare
2016-08-12 13:33:37 +08:00
@bdbai 所以我分了三个层面
BOYPT
2016-08-12 13:37:23 +08:00
以前学 basic 就没搞清楚怎么又有 Sub 又有 Function 。
汇编里面的函数就叫 PROC ,过程吧。
其实啊,程序语言是数学语言的一个子集,程序函数是数学函数的子集。
SpicyCat
2016-08-12 13:39:26 +08:00
在找到更好的翻译之前,还是用 「函数」 这个翻译吧。
「功能块」 或者 「代码块」 比 「函数」 这个翻译更差。
bdbai
2016-08-12 13:40:40 +08:00
@Kisesy VB 里的 Sub 么?
@kideny 我们在讨论 function 而不是等号。讲真,了解点别的对你有好处。
@learnshare 我以为你说的是一一对应的关系。

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

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

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

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

© 2021 V2EX