那些困扰我的计算机术语

时间:2022-03-24 14:10:16

本文罗列了一些计算机术语,由于中文翻译的问题,曾经留给我无尽的误导和迷茫。(不定期补充中,欢迎留言指正)

1、面向对象 Object Oriented

面向是“面对着”、“面朝着”的意思,中文里常听到“面向全国各地招商”。第一次听到“面向对象”,搞不好联想的是“面朝大海、春暖花开”之类。

这是最困扰的词之首,直到最近对OO有了更深刻的理解才有所好转。

在这个词组里,oriented有“奉行...”、“以...为导向”、“把...作为头等公民”的意味,而object意思是“客观实体"(简称“客体”),我看过的所有中文计算机著作从未有人提到过object其实是个哲学术语,指存在于主体之外的客观事物(http://www.zdic.net/c/2/10e/293102.htm)。(btw,脑中闪过《黑客帝国》)

所以这个词翻译成“客体导向”可能更为准确(中文里类似的表达如“KPI导向”)。

回过来谈谈我对OO的理解:

OO的几个特性都是为了开发和维护大型程序,围绕如何更好地映射客观实体、模拟现实世界展开的。因为时至今日,现实世界已经建立了一套高效的分类、协作的机制。

例如抽象,抽象的目的是追求自然而然的分类,而分类之后有助于快速定位。我们对现实世界(的客体)进行了抽象(取其特征、分门别类),之后再要定位一个东西,就像走树状结构一样高效了。(犹如把东西分类放在不同的抽屉里,每个抽屉里再辅以文件夹细分,较之把所有东西堆在一起找起来要快。)对于大型程序而言,边界的划分、职责的分割如果没做好,最后维护的就是一团乱麻。此外,由于抽象忽略了(某个层次上)非必要的细节,留下的是共性,使得模块间随意替换成为可能(多态)。现实世界里,如汽车制造业,已经高度模块化,这是大规模生产(工业化)必经的步骤。抽象忽略了非必要的细节,而封装将那些细节内聚。发动机把做功的细节封装在了内部,对于司机来说几乎不用关心,而装配工人也只需知道油路怎么输入,动力怎么输出。不同层次的使用者,关注的东西不同,且只关注契约限定的条目,其它一概忽略。大型程序模块间的协作也应该如此。

除了上述那些大家早已熟知的特性,还有一点补充。既然是“客体导向”、“奉客体为头等公民”,所以还应该允许出现其它“二等公民”。OO的语法里加入函数式编程的影子,写起来自然不那么顺溜(java里的匿名函数),现在干脆支持lambda表达式了。


2、挂起 hang up

常见的表达有,“操作系统(的图形界面)挂起了”;“挂起了XX进程”,如下图:

那些困扰我的计算机术语

来看解释:http://english.stackexchange.com/a/21712/73329

You can use hang up to indicate that someone stops doing a particular sport or activity that they have regularly done over a long period. For example, when a footballer hangs up his boots(挂靴), he stops playing football.

注意stop其实也有“中途停止,而后可能继续”的意味,公交车站就叫bus stop。

所以hang up / stop的进程是可以恢复的,而terminate的就不行。(btw,《终结者》拍了三部,节操碎了一地)

中文有个成语叫“束之高阁”,有点儿那个意思。


3、中断 interrupt

中断听起来有停止、终止的味道。就像”期中考试“和”期终考试“没有上下文很容易混淆,”中断“听起来颇有”终断”的意味,虽然后者不是个标准的词。

interrupt强调“打断”,即“话说了一半被打断”。被打断的人可以选择停下来听对方说,还是管自己继续。

操作系统里的中断甚至连打断都不是,最多算老师在上面讲课,学生在下面举手——申请打断。

所以不少interrupt是可以忽略的。


4、分布式 distribution

我第一次听到这个词以为是“分步式”,即暗示分成好几个步骤来执行。后来迷茫了很久为什么是”一块布“的”布“。

看汉典 http://www.zdic.net/z/19/js/5E03.htm 才明白,古代张贴布告要到处贴,引申为散发、分发到各处的意思。

中文里,常常听到“XXX分布于长江中下游、四川盆地”,有强调既成事实的感觉;而distribute强调分发到各地,有主动扩散的味道。


5、文件句柄 file handle 

句柄的柄,其实是个把手状的东西,door handle就是“门把手”,通过门把手来开关门,是不是很方便阿。引申为通过一个小东西很方便地操控另一个大东西(例如中文里的“把柄”,因为掌握了要挟的资本,就可以操控他人了)

所以文件句柄就是控制文件的一个线索和切入点。个人觉得,还不如翻译成“文件把柄”呢。