讨论下 function 这个单词的翻译

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

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

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

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

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

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

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

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

7881 次点击
所在节点    编程
71 条回复
Cee
2016-08-12 13:45:05 +08:00
Like procedure vs. function
kooze
2016-08-12 13:46:11 +08:00
心里明白就好,用英文去思考。
imn1
2016-08-12 13:57:40 +08:00
$trans en:zh function
function
/ˈfəNGkSHən/

功能
(Gōngnéng)

Definitions of function
[ English → 简体中文 ]

noun
功能
function
函数
function
作用
effect, action, function, activity, intention
机能
function
性能
performance, property, capability, function
功用
function, effect, use
官能
function, sense
意向
intention, intent, purpose, disposition, aim, function

verb
活动
exercise, move about, move around, behave, function
行使职责
function
----------------------------------------
嗯,我觉得“官能”这个翻译好
bdbai
2016-08-12 14:07:09 +08:00
@imn1 匿名官能、回调官能....
zhaohui318
2016-08-12 14:12:17 +08:00
类似的还有 map
kideny
2016-08-12 14:47:45 +08:00
@bdbai 我是在跟你讨论 function 的中文翻译,而不是讨论 function 这个单词。参与讨论前,请先看清楚再说话。
kideny
2016-08-12 14:53:16 +08:00
数学里的函数,等号左右两边是相等的吧;
程序里把 function 赋值给变量,仅仅是赋值,那是=号嘛?
因为 function 可以赋值给变量,写法跟数学函数一样用等号,
就说编程的 function 跟数学函数是一个意思,这是典型的偷换概念吧。
kideny
2016-08-12 14:56:40 +08:00
再说了,变量可以赋值任何东西,跟数学的函数有毛关系?
bdbai
2016-08-12 15:00:37 +08:00
@kideny 我的观点是“函数”这一翻译没有问题,而“代码块”欠妥。
kideny
2016-08-12 15:06:22 +08:00
@bdbai 你可以自己定义下,什么叫函数了。
czheo
2016-08-12 15:06:32 +08:00
那 block 翻译成什么
kideny
2016-08-12 15:09:00 +08:00
@czheo 你这样问没意思,一词多意多了去了。
不能因为可以在别的地方叫一个意思,就在所有地方都这样叫。
就跟小姐是一个意思。
kideny
2016-08-12 15:12:12 +08:00
@czheo 一个英文单词应该翻译成什么,肯定跟他用在什么地方有关。 function 这个词,最早在数学里翻译过来,也是叫方程式的,也不是叫函数的。
慢慢也不知道怎么搞的,数学里开始叫函数,编程里也叫函数。
鬼知道,这个函数是什么鬼啊。
但是你跟老外说 function ,大家都知道。
就像你跟外国人说小姐是鸡,他肯定傻逼半天。
trcnkq
2016-08-12 15:31:43 +08:00
数学里“函数”本来也叫“映射”: input -> output
只是很多很常见的计算机语言语言允许让函数有*副作用*,于是成了: <input, 之前的 env> -> <output, 之后的 env>,然而本质还是“映射”。
函数式语言推崇让函数不产生副作用,返璞归真,回到它原始的含义。
levn
2016-08-12 15:35:12 +08:00
@kideny
应该说,外国人在编程术语里使用 function 这个词的时候,指的就是和数学函数相关的那个意思。而不是什么“功能”的意思。毕竟最开始搞这些的都是搞学术的,最开始也是用来计算的。
那时候应该还没有应用软件工程师这种玩意儿吧。
cxbig
2016-08-12 15:36:54 +08:00
看看维基百科 https://zh.wikipedia.org/wiki/函数
图片已经很简明了,函数就是输入一个参数,得到一个结果。这和 function 在各程序语言里的功能是一样的。
kideny
2016-08-12 15:47:22 +08:00
@trcnkq function 这个单词,是清末传入中国的。最早叫方程式,你确定那时候的数学家是想表达映射的意思?
@cxbig 维基百科里第一行是:本文介绍的是数学中的函数。关于计算机领域的函数,详见“子程序”。
SuperMild
2016-08-12 16:01:21 +08:00
中文书面语是表意文字,把表音的外语翻译过来时是有先天问题的,怎么译都是错的,同时怎么译都是对的,以前人们外语水平不高不得不硬套汉字,现在的新出现的单词基本上都直接用英文了,这是趋势。

对于过去的单词,我认为要么沿用旧译法,真不想用,也别创造新译法了,直接用英语单词就好。
cxbig
2016-08-12 16:01:53 +08:00
@kideny 那你有没有点过去看一下?
- 子程式( subroutine )是一個概括性的術語
- 函数( function ),又稱函式,是一種子程式,利用函数名稱,可以接收回傳值。
kideny
2016-08-12 16:03:20 +08:00
@SuperMild 说的很中肯, github 上很多国人的项目,都直接用英文写注释,很给力啊。

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

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

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

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

© 2021 V2EX