原文:http://blog.csdn.net/myan/archive/2006/05/21/747696.aspx
外国人学习计算机相关技术的时候,有一个很大的优势,就是语言上没有隔阂。很多计算机专业的术语,其实都是英语当中的日常词汇,通常是直接把跟那个技术概念在行为

 <script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

上相一致的日常物品的名字来作为计算机术语。比如 pointer (指针), address (地址), assembler (汇编器), compiler (编译器), linker (连接器), architecture (架构), constructor (构造函数 / 方法)等。技术专家在发现或发明一个技术概念以后就得起一个好名字,而这个时候他会很自然的在自己的生活经验里去寻找,什么东西跟手头上的这个技术概念行为接近呢?比如计算机里的总线,各设备之间的通讯都要经过它来传递,没有旁门左道可走,这种行为不是很类似公共汽车吗,嗯,不错,干脆管这个东西叫 bus 好了。而当一个学生学习这个技术概念的时候,顺序是倒过来的,他会先看到这个术语被别人叫做 bus , bus 不就是公共汽车吗,对于公共汽车这个东西他很熟悉,于是再看看总线这个技术概念的行为,很好,跟公共汽车很相似嘛,这就好理解了。可见,学习者理解这些术语时,可以借助自己积累起来的大量的日常生活经验。这样一来,通过使用日常词汇作为技术术语,可以大大地帮助学习这加快对技术本身的理解。

    相比之下,我们中国人学习技术就没有这个优势了。我国学术和科技的传统是,术语就是术语,术语就一定要够特别,够专业,够陌生,绝不能混同于日常词汇。这可能跟我们的传统有关,传统上中国人喜欢在本行业内设置较高的术语壁垒,各行各业都有行话和黑话,不同行业之间的人在专业上是无法对话的。上次看到电视里报道老北京天桥的艺人,就介绍了在这些人之间流行有一套黑话,不是这个圈子的人根本听不懂。影响最大的行话可能就是文言文,古代文人所写的文言文也并不是当时老百姓之间对话的语言,之乎者也、引经据典那一套讲道理的方式也可以看成是知识分子的 “ 行话 ” ,象辛弃疾写的 “ 元嘉草草,封狼居胥 ” ,谭嗣同在狱中写的 “ 望门投止思张俭,忍死须臾待杜根 ” ,没有一点文史知识,一般白丁根本无法理解作者想说什么,远不如莎士比亚 “ 活着还是死去,这是个问题 ” 那么老幼咸宜,通俗直白。我国人的这种做法,并非没有道理。有了这些行话,人们可以很容易地区分 “ 圈里人 ” 和 “ 圈外人 ” ,可以在很大程度上增加外行人理解本行专业知识的 “ 偶发复杂性 (accidental complexity)” ,一定程度上起到了保护本行业专业知识不外流的作用。曾有人总结中国知识和技术阶层的特点,说是 “ 将专业知识作为换取幸福生活的工具 ” ,并非对知识和技术本身诚心以求真。因此,把专业知识的传播局限在一个相对较小的圈子里,有助于调节市场的供求关系,提高自己所具有的专业知识在市场上的价值。从这个角度来理解,大概可以知道为什么中国技术人素来喜欢制造崭新术语了。
    当然, 1919 年以来,特别是建国以来,在这方面情况有了很大的好转,但是应该说传统的习惯是不容易丢掉的,专业术语专业化仍然是大多数人所持的观点,至今我们的专业学习仍然受到这种实践的强烈影响。
    比如,当我们第一次学习到 “ 指针 ” 、 “ 编译器 ” 、 “ 总线 ” 这样的术语的时候,我们脑子里是一片空白。这些词汇对我们来说是全新的,完全没有任何生活经验与之相关联,需要通过今后的技术实践来逐渐加深对它们的理解。这就跟外国人有很大的不同,他们可以用一大堆形象的、鲜活的生活经验来帮助他们理解概念,学习技术,指导实践,我们却不得不倒过来,通过摸索和低效的技术实践来建立对这些概念的正确理解,或者更糟糕地,还要修正这些术语给我们带来的误解。比如我至今说起 “ 指针 ” 这个词汇的时候,仍然在潜意识里想到尖锐的金属物体,而对于 “ 总线为什么是 bus” 的理解,也是在首先理解了总线的行为之后才发生的 “ 顿悟 ” 。事实上,这都是不应该的,不符合人们学习和认知的规律。
    不少源自英语的计算机术语是为大家所熟知的,并且已经广泛传播,得到认可。但是从根本上来讲,其翻译是相当糟糕的,完全无助于人们的理解和认识,其结果是,很多人在使用这些技术术语,甚至实践多年之后,仍然无法对这些技术概念本身形成正确的认识,而这种认识,对于西方学习者来说,很可能是在第一天就达成了的。
    例如,在网络编程中, socket 是一个关键的术语。这个词在英语里是 “ 插座、插口 ” 的意思。我们熟悉 socket 开发之后会发现,如果把 socket 比拟为电话线插口,至少在很大程度上是贴切的。外国人学习 socket 编程的时候,一看这个词,脑子里马上就可以想到墙上的电话线插口,从而建立起 “socket 是联入通讯线路的端点 ” 的概念,这就帮助他们迅速建立了对于 socket 的正确理解,在之后他学习 socket 编程细节的时候,这种理解就有助于他们掌握 socket 的各种行为。而我们通常把这个词翻译为 “ 套接字 ” ,这个词对于我们来说肯定是全新的,没有任何生活经验与之相连,所以我们要花很多时间去理解 “ 套接字 ” 的行为,直到有一天发生顿悟,原来套接字的行为跟电话线插口很像!
    另一个例子。 Port 在计算机中是一个被广泛应用的词,被我们翻译成 “ 端口 ” 。从单机来看,有 I/O 端口,从网络来看,主机地址由 IP 地址和端口构成。我们可能要搞很久才知道端口是个啥东西,然而这个词在英语里,意思非常明白,就是 “ 港口 ” 的意思。对老外来说, port 很好理解,一个大的海滨城市,可能有很多港口。做进出口贸易的时候,船舶靠港,总要指定具体在那个港口停泊装货。同样的,计算机好比一座大城市,外设 I/O 数据也好,网络数据也好,要跟计算机互通有无,总要指定一个具体接头的地点,这就跟 port 的意思完全对应,理解起来一点障碍都没有。更妙的是,一旦明白了 port 背后的意思,学习比较艰深的技术概念也会容易得多。比如 Windows 的 I/O Completion Port ,概念上是比较难的。特别是当我们把它译为 “I/O 完成端口 ” 这样不伦不类的东西时,就更难理解。而认识到 port 就是港口,这个技术的概念就好理解一些,我很快会写另一篇文章来讲。
    相比之下,一些草率的错译危害更大。比如把 array 翻译成为 “ 数组 ” ,比如把 transaction 译为 “ 事务 ” ,比如把 packet switching 翻译成 “ 分组交换 ” 。这里头把 packet 翻译成分组,虽然不直觉,但可以接受。而把 switching 翻译成 “ 交换 ” ,就比较离谱了。 Switch 在英语里是 “ 电源开关 ” 、 “ 转换 ” 的意思,其真实的含义是,根据条件,在可能的几条线路上选择一个,把电流或是别的东西转送过去。我们学习 C 语言的时候会学习 switch 语句,这个语句的行为就是 switch 这个词的真实含义。因此,把 switching 翻译成 “ 选路 ” 更为合适。而翻译成 “ 交换 ” ,就使人非常迷惑,交换是双向的,谁跟谁交换了?到底交换了什么?这些问题在 packet switching 的技术概念中都得不到回答,最后只能抛弃对这个术语的理解,囫囵吞枣地把它吞下,使之变为一个干瘪的词汇。
    这样的例子可以说是数不胜数,因此我们在学习的时候,碰到一个新的术语,最好弄清楚它的英文本义,看看是否能够借助生活经验直接理解,这样可能会大大地提高学习的效果。

术语专业化,这是长久以来形成的习惯,所以马上改过来是不实际的。说实话,如果把 socket 译成 “ 通讯口 ” ,把 data bus 译为 “ 数据巴士 ” ,连我都觉得有点不习惯。所以对于有机会写书或者写文章的人来说,可以继续 “ 术语专业化 ” ,但是应该尽可能给读者把术语背后的意思讲得清清楚楚,这样有助于读者理解。这方面我看到做得最好的是谢希仁教授的《计算机网络》,对于不少专业术语都作了通俗的讲解。翻译计算机图书的人,也应该做这样的工作。要知道, Richard Stevens 可以不解释 socket ,因为他知道读者都明白这个词的意思,不解释不会妨碍读者的理解,不会妨碍他的 APUE 、 UNP 、 TCP/IP 成为旷世经典,而翻译这些书的时候如果不解释 “ 套接字 ” 这个新鲜的东西,那可怜的中国读者就会很辛苦,还可能会以为套接字是间谍电影里什么接头暗号之类的东西,那就错的离谱了。
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
上一篇:《【杂谈】黑客精神祭 挖掘神秘黑客背后的故事》
下一篇:《 Xen虚拟技术的发展现状与红帽集成情况 》 
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>

如果计算机是中国人发明的相关推荐

  1. 一个给计算机写程序的人是谁,如果计算机是中国人发明的 写代码会是一种什么情况 程序员看了都头疼...

    说到程序员写代码,大家印象中就是高深莫测,对着一连串的英文字母和一堆符号,让人完全看不懂,更没有去学习的胆子了,那么如果计算机是中国人发明的,代码会是什么情况呢? 1.注释都不需要了,代码即是注释,注 ...

  2. 为什么中国人没有发明计算机,假如计算机是中国人发明的,代码是不是该用中文写了?...

    假如计算机是中国人发明的,那代码是不是该用中文写了? 导语:你有没有想过,如果是中国人发明了计算机,代码会怎么写呢? 没有专业的注释了,因为代码就是注释,注释就是代码 计算机的进制也会发生改变 二进制 ...

  3. 假如计算机是中国人发明的,那代码应该这么写

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自|视觉算法 1.注释都不需要了,代码即是注释,注释即是代码 ...

  4. 哈哈哈,假如计算机是中国人发明的,那代码应该这么写

    点击上方蓝色小字,关注"涛哥聊Python" 重磅干货,第一时间送达 作者 | 菜鸟教程 来源 | 菜鸟教程 1.注释都不需要了,代码即是注释,注释即是代码 2.进制数应该是这样的 ...

  5. 如果电脑技术最初是中国人发明的,那现在编程是不是就是中文的?

    现在的编程代码全部都是英文,有没有可能有一天编程代码全是中文呢?而且如果当年计算机由中国人发明,编程代码是否就是以中文为主呢? 问:如果计算机由中国人发明,那现在的编程代码是否就是中文了? 观点1:其 ...

  6. 最早的计算机就是智慧的中国人发明的什么,美国人:这个人类使用了百年的科技,中国人居然说是他们发明的?...

    中国在上千年的历史当中,凭借自己的智慧发明了很多到现在依然被广泛使用的东西,最出名的可能就是中国古代的四大发明了,到现在为止,依然是令我们后人感慨的智慧结晶,除此之外,中国还有很多"高科技& ...

  7. 滚轮每次滚动距离是一致的吗_「超硬核科普」鼠标的发展历史,中国人发明的鼠标滚轮...

    鼠标,作为现代计算机必不可少的硬件之一 一直都在伴随着我们的成长 你可能,每天都会不停的在人家身上,摸来摸去的 并且,不停的感受着人家给你带来的舒适的手感 今天就由我来带领大家回顾一下这半个多世纪间, ...

  8. 中国人发明的代码,你知道是什么样的吗?

    假如代码是中国人发明的,咋写?本文带你感受一下. 1.注释都不需要了,代码即是注释,注释即是代码 2.进制数应该是这样的 二进制:阴.阳 八进制:乾qián.坤kūn.震zhèn.巽xùn.坎kǎn. ...

  9. 为什么计算机的伟大发明总是诞生于美国?

    前言:最近有个想法,想写一系列文章,聊聊计算机技术上的那些伟大发明,挖掘一下他们背后起源的故事,尤其想看看"为什么计算机的伟大发明总是诞生于美国?" ,除了先发优势之外还有什么原因 ...

最新文章

  1. ExecuteNonQuery() 返回值
  2. IT职场人生系列之二十一:如何学习新语言(一)
  3. 优先队列如何按照pair 的第二关键字排序(对比vector按照pair第二关键字排序)
  4. vb.net2019-多线程并行计算(4)
  5. lcd残影原理_为什么同样是高刷,OLED 可以比 LCD 优秀?
  6. maven-compiler-plugin 找不到 rt.jar
  7. Docker最全教程——数据库容器化之持久保存数据(十二)
  8. Android成长日记-Android监听事件的方法
  9. three20 TTTableViewController + TTActionSheetController
  10. halcon学习(算子汇总)
  11. Flutter延时任务、Flutter通过Future与Timer实现延时任务
  12. 5渲染判断_Vue页面渲染中key的应用实例教程
  13. Linux 命令(79)—— pidof 命令
  14. MFC框架下-调通官方demo以及如何使用SDK进行项目开发
  15. iso12233测试方法_ISO12233分辨率测试卡的操作步骤
  16. oracle数据库菜鸟入门
  17. 校园一卡通管理信息系统的设计与实现(asp.net)
  18. 自动对比度、灰阶调整
  19. 从一个男人的角度告诉你如何选老婆 (实在是写的太好了 忍不住转一个)
  20. NRF52840 SOC 在空气净化市场应用的发展趋势

热门文章

  1. JS实现动态页码及分页导航
  2. 东南亚投资热:直播电商在创投圈迅速崛起,金融科技成为投融资最热门赛道之一 | 美通社头条...
  3. android自动打开软件下载,自动跳过app下载-自动跳过 安卓版v3.4.5-PC6安卓网
  4. 更改Apache默认起始(索引)页面:DirectoryIndex
  5. error C3861: “cvRound”: 找不到标识符
  6. Java 中Map五种取值方式
  7. C语言复习---矩形法求定积分函数
  8. 微信公众平台 /微信公众平台怎么用
  9. 从赞美和欣赏别人开始
  10. lsdyna如何设置set中的node_list_牛逼~新来的同事,100 页Word页眉页脚设置只需5秒!成功征服老板!...