不知道大家刚开始学习计算机的时候有没有被某些概念折磨的经历,可能会有很长一段时间无法理解某一个概念。有没有这么一种可能,不是我们的水平问题,而是这些概念本身翻译地就非常有毛病!
搞技术的人不会说人话是个天大的问题。
接下来给大家盘点一下学习计算机的过程中遇见的那些让人抓狂的计算机术语翻译。
1. 套接字
我把「套接字」放在第一个,大家应该不会有异议。
这个货是我们学习计算机网络最常碰见的一个词汇了,偏偏我们中国人理解概念就喜欢从字面入手,不知道会不会有人跟我刚开始学习的时候一样,发出致命三连问
中国人翻译专业术语一个很大的问题就是过于追求「信达雅」,这通常要求翻译者自身对这个概念有很深的理解,然后再找到相应的汉字来表达自己的理解,恐怕就是多了这一步导致「套接字」这个术语难倒了一大片的计算机学子。
还不如直接翻译成个「网络插座」更容易被人理解。我平时几乎不用「套接字」这三个字,一律用「socket」来指代。
其实当理解了socket到底是什么之后,「套接字」这个翻译倒是说地通了。但是翻译的本来目的就是更方便地传播和理解概念,而不是我们搞懂了概念之后,反过来证明翻译的准确性。 如果有正在被「套接字」这个翻译折磨的小伙伴,跳脱出来吧,直接用socket得了
2. 计算机
这个词其实还好,把它列在这里和个人经历有关。
当时和我妈说我学计算机的时候,我妈对我表现出了深深的担忧,她觉得这行没什么前途了。。。经过我俩的一番论战,我明白了事情的症结,我妈以为我学的是这个:
相比「计算机」这个词的翻译,台湾的翻译「电脑」或许能减少很多类似不必要的误会。
3. 指针
看到这个词,又想起学习C语言时,被它支配的恐惧了。
现在看来,「指针」这个词不得不说翻译地很贴切。但是对于初学者而言,“C语言指针难”的共识恐怕和这个翻译也脱不了关系。
其实指针就是存储器中某条数据的存储地址罢了,直接用英文的pointer to const
和const pointer
或许更能解释清楚。
4. 句柄
柄就是「把手」,为什么偏偏是「句子」的把手?
句柄的英文原文是handle
,为什么不直接翻译成「把手」,非得多加个字儿。
door handle
是门把手,通过门把手可以去控制门;和door handle
类似,我们可以用 file handle
去操作文件,但file handle
并非文件本身,只是一个中间媒介罢了,这个file handle
就被翻译成了文件句柄,要是翻译成「文件把手」或许理解起来没那么难。
媳妇儿给我画的图,此处留名表示感谢
5. 堆栈
堆我明白是什么,栈我也明白是什么。
但是「堆栈」是什么鬼?是怕生怕说错了,所以说得这么全面吗?
尤其是学过数据结构之后,再看这种词汇简直能疯掉。
6. 鲁棒
鲁棒其实是robust
这个单词的音译,但是刚学习的时候不知道音译的时候,我有这么几个猜测
- 是说我们山东人很棒?
- 拿着棒子的粗鲁兽人
后来才知道「鲁棒」其实是稳定的意思,用我们的方言说是「皮实」。
在知乎上看到了一个关于「鲁棒」很有意思的解释:
1. 粗鲁地对待电脑,电脑依然能很棒地运行程序
2. 粗鲁地对待程序员,程序员依然能写出很棒的程序。
7. 缺省
「缺省」的英文原文是default
,「默认」的英文原文也是default
。
哪个更简单清楚就不用多说了吧,翻译这个词儿的人估计有啥大病。
8. 透明
我一开始以为透明就是细节完全暴露给我,要我仔细研究其实现呗!
但现实是,它是想让我某种程度上“无视”它。但是这个概念跟我平时所说的「透明」完全不一样啊。比如:
- 政府的工作应该透明
TCP/IP
协议对普通用户而言是透明的
1的含义是政府的工作应该是公开的;2的意思是TCP/IP
协议对普通用户而言是不公开的,不需要在意。
从这个角度而言,在计算机领域,对用户「透明」和对用户「不可见」其实是一个意思。
疯了。
9. 非法操作
「非法操作」说地太吓人了,小学的时候用xp系统经常弹出这种对话框,当时都怀疑自己是不是会被抓进去啊!
翻译成「无效操作」可能好一点。
10. 使能
在计算机资料看到enable
这个词的时候,脑子里的第一反应就是“动词,使某项功能开启”,所以在英文的语境中读起来一点都不费力。但是当我看到将enable
翻译成「使能」时,我觉得非常无语,虽然我能理解这个翻译,但是我认为这个词将会给无数的计算机学子带来困扰!
直接翻译成「打开」不更直接?
11. 菊花链
英文是Daisy Chain
,按道理说翻译成「菊花链」没什么不对。但是发明者怎么也不可能想到在后世的中国,“菊花”已经有非同一般的含义了吧。
12. 宏
「宏」这个翻译让我没有别的乱七八糟的联想,可问题是对我理解这个概念也没有任何的帮助啊!
Office中有定义宏、游戏中有游戏宏、鼠标软件管理中也有宏,C语言中还有宏。。。
还好我不用。。。。。。
13. 同步 synchronized
平时我们说「同步」往往是指步调一致,比如你举手,我也举手;你跳一下,我也跟着跳一下。
计算机中的「同步」完全变了样子,拿Java中的synchronized
关键字为例,它的作用是用于加锁,让多个线程在执行某个代码块时进行互斥操作。两者含义完全风马牛不相及。
希望所有人都能好好说话。
最后,希望世界和平!