【本文来自《鲁棒性这个翻译就在祸害计算机的学生》评论区,标题为小编添加】
英语计算机词汇最厉害的地方就是给你一个画面感,而这个画面感你很容易就能理解这个词汇意思。
Socket (套接字):socket是墙上的电源插座。你只需要把你的插头(程序)插进去,就能和另一边的电网(网络)连通,开始传输电流(数据)。英语一开就能有这个概念,汉语就是一团糊。
Port (端口):轮船的港口。一艘船(数据)想卸货到哪个仓库(哪个程序),得知道它停靠在哪个港口。汉语端口对这个卸货的感觉和意象就没有了。
Stack (栈):英语就是一叠盘子,你只能从最上面拿(弹出,Pop),也只能把新的放在最上面(压入,Push)。堆栈的概念你马上就明白了。汉语你要理解就很麻烦了。
Queue (队列):日常生活中的排队。先来的先服务(FIFO),汉语的队列没有排队这个意象,你理解FIFO就有问题了。
Daemon (守护进程):希腊神话里的守护精灵,类似西游记的守护神,你一眼就能明白这个意思了,中文要说守护进程需要理解这个过程缺意象。
Semaphore (信号量):铁路上的臂板信号机。它用抬起或落下的机械臂,告诉火车司机能不能通过,英语实在太形象了。
Bug (程序缺陷):bug是小虫子的意思,一开始计算机就是有虫子进入出了故障的,“缺陷”、“错误”是精准的表达,但失去了“虫子钻进了精密机器导致故障”这个生动的故事。
Header (头文件/页眉);header是一页纸最顶上的页眉部分,“头文件”翻译得不错。但是没有哪个画面感。
dump (转储/内核转储):dump是一下全部倾倒出来。汉语说程序崩溃时做了内存转储,就没有英语形象了。
Abort (异常终止):abort是医学上的“堕胎、中止妊娠”,引申为强硬地中止一个过程。汉语这个感觉就差了一截。
汉语翻译的本质其实就是因为计算机是英语发明的,所以词汇全部都是英语环境解释出来的,所以特别的生动,汉语就差了一大截,类比围棋的英语术语,你就会发现英语翻译围棋就特别生硬。
叫吃 (Atari),打劫 (Ko),双飞燕 (Double Flying Yan),脱先 (Tenuki),
不过英语里面也有精彩的翻译:弃子 (Sacrifice),征子 (Ladder)
Stack (堆栈),只是你没见过货栈(仓库)的运作,堆栈就是先进去的货物会送到最里面,然后一路的向外堆,取货的时候,只能先将后放的货物取出后,才能取最先放的货物。如果你玩过仓库番的游戏就明白。
我写仓管软件时到仓库看实操,这堆栈操作十分形象,先放进去的,放地台板上,然后一件一件的往上堆,取的时候只能从上边一件件的取。从货车上取货,转到小板车上,再转到堆头上,都是这样先进后出的操作,没比这个更形象的翻译。
Queue (队列),数据结构队列先进先出,这个很容易理解呀,排队买东西不就是这个动作吗,先排队的先处理,插队的不得打死。
Header (头文件),我反而觉得译得不好,译目录文件比较准确,就是变量与函数的目录性文件。中文与英文最大的不同就是在于信息密度上,很少的中文字就可以表达比英语复杂得多的内容,而且可以很精准的表达,英文的图纸需要一个目录表示图纸的注解在哪里,然后在图纸上只标注注解的数字,要另纸表示标号所代表的注解内容,中文图纸很少这样表达,大多直接在图纸中就加上注解,没有头文件这么一个说法。
Socket (套接字),我通常自动译为接口,但译套接字,我也没什么理解不了,七层协议,每一层都套一个该层协议的头上去,说套接字,也能理解,看写在哪个层面,直接译接口最好,译握手协议也没问题。