DEV Community

codemee
codemee

Posted on

考古--operator 為什麼翻譯為『運算子』

大部分的程式設計教材都會將 operator 翻譯為『運算子』, 我自己對於『子』一直覺得很疑惑, 倒底是什麼意思?有些人會說這個『子』就跟『帽子』、『鞋子』等等中的『子』一樣是個語尾綴詞, 沒有什麼意思, 不過運算子的『子』讀音『ㄗˇ』, 而不是語尾綴詞的『ㄗ˙』, 並不是同一個意思。

因為不得其解的緣故, 所以過去我個人偏好將 operator 翻譯為『運算器』, 取 er、or 字尾為做什麼事情的『人』或『器具』的意思, 但因為這樣的譯法和一般通用的『運算子』不同, 所以也有不少人表達無法接受的意見, 但卻也說不出翻譯為『運算子』的理由。

最近查閱《遠流中文活用大辭典》, 發現在『子』字的解釋中, 有這樣一條:

名 (05)稱某種職業之人。例:學子、舟子。

其中『學子』是大家廣為熟知的詞, 在《國語辭典簡編本》中的解釋就是:

學生、求學的人。

而『舟子』可能大家並不一定聽過, 在《重編國語辭典修訂本》中的解釋如下:

船夫、梢公、水手

也就是操舟的人。因此, 『子』字在漢文中本來就有『做什麼事的人』的意思, 依此脈絡, 將 operator 譯為『運算子』就很合理了。

不過到了現代, 大部分人 (像我就是) 可能已經不知道『子』的意思, 所以程式語言中比較近代才出現或是流行的語彙, 就不大會用『子』字, 舉例來說, Python 中常常出現的 iterator 和 generator, 通用的譯法為『迭代器』(簡體字的世界有人譯為『迭代子』) 與『生成器』, 是用『器』字, 而不是用『子』字。藉由『子』和『器』的區別, 也可以大概知道這個詞彙的年代遠近。

瞭解『運算子』的可能源由後, 回頭過來看 operand 譯為『運算元』的『元』字, 我想比較合理的說法可以參考《遠流中文活用大辭典》裡的這個條目

形 (04)基本的。例:元素。

『運算元』應該是取用來運算的『元素』之意。在日文中, 將 operator 與 operand 譯為『演算子』和『被演算子』, 沒有幫 operand 另創一詞, 也算是很直白的譯法, 簡單明瞭, 就是『被拿來運算的東西』, 不過中文除了現在大家流行的『被自殺』、『被消失』這些新興詞彙外, 很少用『被』字, 否則偷懶一點的譯法就是把 operand 譯為『被運算子』了。

Top comments (1)

Collapse
 
jserv profile image
Jim Huang

感謝分享,我將上述探討的脈絡整理在筆記,希望讓更多人知曉: hackmd.io/@sysprog/it-vocabulary