译林出版社译林论坛关注《译林》 译林版迈克尔.克赖顿名作Prey(猎物)评议

1  /  4  页   1234 跳转 查看:1913

译林版迈克尔.克赖顿名作Prey(猎物)评议

译林版迈克尔.克赖顿名作Prey(猎物)评议

译林版迈克尔·克赖顿名作Prey(猎物)评议
——与Prey译者商榷

            
(此文是我在数月前在此版许下的一个愿,现在陆续完成。)
 

一、原文:
At MediaTronics I had run a program division, riding herd over a group of talented young computer programmers. At forty, I was too old to work as a programmer myself anymore; writing code is a young person’s job. So I managed the team, and it was a full-time job; like most Silicon Valley programmers, my team seemed to live in a perpetual crisis of crashed Porsches, infidelities, bad love affairs, parental hassles, and drug reactions, all superimposed on a forced-march work schedule with all-night marathons fueled by cases of Diet Coke and Sun chips.
 
《猎物》译文:
  我在电子媒体公司担任程序设计部门的主管,手下是一帮才华横溢的年轻程序编制员。我在40岁就太老了,自己已经不能担任编写程序的工作了——那是年轻人干的事情。所以,我管理那个团队,那是一份全职工作。与硅谷的大多数程序编制员类似,我的团队似乎处于没完没了的危机当中;。。。。。。(P4页)
 
评议:
    1。此译本中一律把计算机程序设计人员称为“程序编制员”,这种说法是不确切的。因为在计算机行业里,程序设计人员的通常称呼都是“程序员”、“程序设计员”或“程序师”,却从来没有什么“程序编制员”的说法。程序设计就是设计或者编写程序(而非“编制”程序),通俗地说就是写代码,它与把一堆现有材料做成产品(成品)的工作方式是不同的,它是一种纯粹的创造性的工作,是在系统需求任务书(计划或方案)的基础上,在计算机上用代码把这个系统的所有功能用程序实现出来的一种创造性的活动。显然,这种方式与“编制”的一般概念是完全不同的,而“程序编制员”的叫法只会让人想起那些编制报表的人员;

    2。“it was a full-time job”被译成“那是一份全职工作”似乎有误,似应改为“那是一个全天候的工作”。
 

二、原文:
But the work was exciting, in a cutting-edge field. We wrote what are called distributed parallel processing or agent-
based programs. (P4页)
 
评议:
  Agent-Based是个新词,在计算机业界尚无最终的确定译名,它属于人工智能的范畴,在大陆学院派中通常都是直呼其名,称其为“基于Agent的”(系统或程序),以此规避不确切的译文;在台湾地区则有把它译成“代理人基”(即“基于代理人的”)。相应地,把multi-agent称为“多Agent的”。不过在国内的人工智能科技竞赛项目中,已经有了把“agent-based” 称为“基于智能体的”译法,相应的把Multi-agent System称为“多智能体系统”。在这一点上《猎食》的译者译得很到位。
 

三、原文:
These programs model biological processes by creating virtual agents inside the computer and then letting the agents
interact to solve real-world problems.
 
《猎物》译文:
    “···那种程序在计算机里面创造出虚拟的智能体,然后让它们产生互动,以便解决现实世界的问题,从而模拟了生物学过程。”(P4页)
 
评议:
    这段译文没有什么问题,但似乎这样叙述更好一些:“···这类程序在计算机中生成虚拟的智能体,然后让它们相互作用,以此模拟生物的行为,来解决现实世界中的问题。”  这也就是原文中“model sb. to do sth.”的含义,模拟是手段,解决现实问题是目的。
 

四、原文:
Actually, it was my division’s source code—software for distributed processing. That was the code that had been stolen. We knew it was the same code, because the Easter eggs hadn’t been touched.
 
《猎物》译文:
     “实际上,那是我分管部门的源码——用于分布式并行处理程序的软件。那就是被盗的源码。我们知道它是同样的源码,因为没有谁动过那个叫复活节彩蛋的程序。”(P5页)
 
评议:
      这里的译文可能因为限于译者的计算机水平,只好照字面直译,结果弄得含义有些模糊不清。原文中的破折号“——”并不表示其前后的东西是同一个,而仅表示破折号后面的内容是对其前面内容的说明,毕竟源码并不等于软件,软件是体,源码只是构成软件的元素(正如人由骨和肉组成,但我们却不能说骨和肉就是人)。
    试更正为:“实际上,那是我分管部门写的源码——用于分布式并行处理程序中的源码。就是这个源码被盗了。我们知道那就是我们的源码,因为其中的复活节彩蛋代码原封未动。”
 
 
(待续)
 

Re:译林版迈克尔.克赖顿名作Prey(猎物)评议

做此费力不讨好的事没有别的什么目的,只是想强调一下技术翻译既要大胆,还要小心求证。请大家批评。
 

Re:译林版迈克尔.克赖顿名作Prey(猎物)评议

(续)
 
原文:
In fact, assembling atoms to make a new molecule was closely analogous to compiling a computer program from individual lines of code. And computer code never compiled, the first time out. The programmers always had to go back and fix the lines. And even after it was compiled, a computer program never ever worked right the first time. Or the second time. Or the hundredth time. It had to be debugged, and debugged again, and again. And again.
 

原译文:
实际上,装配原子来构成新分子与用单行代码编制计算机程序非常类似。计算机代码初次根本不能正常工作。程序编制员总是得回过头去整理那些单行代码。而且,即使在程序编好之后,一种计算机程序在第一次运行时都不可能正常工作,第二次运行、甚至第100次运行都有问题。必须反复排除程序中的错误,一次又一次地进行修改。(P29页倒数4行始)
 
 
更正:
实际上,装配原子来构成新分子与把一行行的代码编译成一个计算机程序非常类似。对计算机代码的初次编译从来都是不会成功的。程序员总是得回过头去修改那些代码。而且,即使在编译通过之后,计算机程序在第一次运行时也不可能工作得很好,第二次运行、乃至第100次运行都有可能存在问题。需要对程序反复进行调试和排错,不断地修改和完善。
 
 
 
原文:
Eventually, programmers say the agents have beliefs about their environment, and that they are acting on those beliefs. That’s not literally true, of course, but it might as well be true. It looks that way.
 
原译文:
···最后,程序编制员说,那些智能体对它们所在的环境产生信念,会按照那些信念去产生作用。当然,严格说来并不是这样的,但是,这种情景完全有可能是真的。它看起来是那样的。(P52页4段3行)
 

修正:
···这时,程序员们会说,那些智能体已经对它们所在的环境建立起了概念,并且会依照这些概念来行事。当然,严格说来并不是这样的,但是,这种情形有可能真的存在,因为它看上去就是那么回事。
 

 
 

Re:译林版迈克尔.克赖顿名作Prey(猎物)评议

(续)
对上述第五例(序号漏掉了)的一点说明:
  编译(compile or compiling)是程序设计中的一个非常重要的概念,把编译译成编程是不对的;此外,“用单行代码编制计算机程序”这种说法可以说闻所未闻,“整理那些单行代码”的说法也不合情理。
  在程序设计过程中,编译是一道必不可少的工序。一个程序的设计过程大致是这样的:程序员首先进行代码设计(写代码),得到源代码文件(俗称源程序,因为它不能运行,所以它并不是真正意义上的程序),然后用一个链接程序把源文件与一些具有各种功能的函数库链接起来,得到目标文件,最后,再把这个目标文件经编译器编译成一个可执行的EXE文件,这才得到了我们俗称的所谓程序。基于编译在程序设计中的重要地位,计算机专业中专门辟有一门《编译原理》的课程。
 
七、原文:
“Yes. Xymos licensed some agent-based algorithms that your team wrote.”
“No, I didn’t know. Which algorithms?”
“To control a particle network.”
 
《猎物》译文:
  “是的。艾克西莫斯技术公司得到授权,使用了你领导的团队编写的一些基于智能体的演算法。”
  “不,我不知道。哪一种演算法?”
  “用于控制粒子网络的。” (P21页)

辨误:
  algorithm(s)在计算机术语中的正确译名是“算法”而非“演算法”。也许有人会说这有多大区别?当然有区别!这就好比你不能把经济师叫成算帐师一样,是同样的道理。此外,从字面意义上看,“演算法”给人的感觉是某种演算方法或者算式之类的东西,而在软件设计中,算法的含义却要广得多,它不仅包含了普通意义上的运算,更包括了逻辑推理、事物模拟与仿真、概念抽象、博弈运筹等等一切计算机能够处理的事务中待解决问题的方法。一句话,算法是程序设计的灵魂。显然,把算法译成“演算法”是错误的。
 
 

Re:译林版迈克尔.克赖顿名作Prey(猎物)评议

八、原文:
Certainly my team had written a number of programs to control swarms of agents. Those programs were modeled on behavior of bees. The programs had many useful characteristics. Because swarms were composed of many agents, the swarm could respond to the environment in a robust way. Faced with new and unexpected conditions, the swarm programs didn’t crash; they just sort of flowed around the obstacles, and
kept going.
 
《猎物》译文:
  我可以确定,我的团队曾经编写了若干用于控制智能体集群的程序。那些程序是根据蜜蜂的行为来建立模式的。那些程序拥有许多有用的特征。因为集群是由许多智能体构成的,集群能够对环境作出有力反应。在面对新的、没有预计到的状态时,那些集群程序不会崩溃,它们只是绕过障碍,然后继续运行。(P21页倒数第4段)
 
辨析:
  此处的译文晦涩费解,很难让人明白就里。实际上,原文在这里主要是想强调:尽管单个个体适应环境的能力几乎为零,但一旦组成为一个群体,其适应能力就会大大增强,蜜蜂、蚂蚁就是这样的典范。可惜《猎物》的译者没有把这个道理向读者阐述清楚。
 
修正:
  我的团队确实写过不少用于控制智能体集群的程序。那是一些用于模仿蜜蜂行为的程序,具有许多有用的特征。因为集群是由众多智能体组成的,所以它对环境的适应能力非常强。在新的、预想不到的情况发生时,集群程序并不会崩溃,它们在障碍面前只是略显迟钝,但却依然能够继续运行下去。
  
 

Re:译林版迈克尔.克赖顿名作Prey(猎物)评议

九、原文:
“We use them for structure,” she said. “The program makes the swarm structure.”
Of course. It was obvious that a single molecular camera was inadequate to register any sort of image. Therefore, the image must be a composite of millions of cameras, operating simultaneously. But the cameras would also have to be arranged in space in some orderly
structure, probably a sphere. That was where the programming came in. But that in turn meant that Xymos must be generating the equivalent of—
 
《猎物》译文:
  “我们利用它们作为结构,”她说,“该程序形成了集群结构。”
  当然。显而易见,单个的分子摄像头是不能形成任何图象的。因此,图象必须由数百万个同时工作的摄像头组成。但是,那些摄像头也可以在空间中按照某种有序的结构——可能是球形——进行排列。我们的编程就是在这一点上发挥作用的。但是,那反过来又意味着,艾克西莫斯技术公司一定在生成相当于——
 
辨析:
  这里的译文同样让人摸不着头脑。我想原因在于译者并未完全明白原文的技术含义,于是只好逐字死译,使译文偏离了本意。这里的原文有二层意思:一是朱丽亚及其公司是根据智能体程序的设计原理制造出了真实世界中的智能体;二是摄像头集群是在程序控制下进行工作的。注意“in space”在这里的意思不是“在空间中”,而是“片刻间”。
 
更正:
  “我们借用了程序的构架,”她说,“集群是按照程序的设计思想制造出来的。”
  当然,很明显单个的分子摄像头并不适合记录任何图象,必须有数以百万计的摄像头同时工作才能把(那样一幅完整的)图象合成出来。但是,那些摄像头还必须能够在片刻间被排列组合成某种有序的结构,或许是球形的结构。这是通过程序控制来实现的。不过,那反过来又意味着,艾克西莫斯技术公司谅必是正在制造与此类似的——
 

Re:译林版迈克尔.克赖顿名作Prey(猎物)评议

十二、原文:
In evolutionary programs, those agents get killed off. They have no children. In other multi-agent programs, they just get bypassed, pushed to the periphery while the main thrust of agents moves on. Some programs have a “grim reaper” module that sifts them out from time to time, and pulls them off the board.
But the point is, they’re stuck in their own past. Sometimes they pull themselves together, and get back on track. Sometimes they don’t.
原译:
    在逐步发展的程序中,那些智能体被消灭了。它们没有后代。在其它许多智能体程序中,智能体的主要倾向产生了作用,那些过时的东西只是被绕过,被推向边缘。有的程序拥有一种“严厉的收割者”模块,那样的模块定期将它们剔除出去,使它们脱离系统
    但是,现在的问题是,它们被困在它们自己的历史之中。有时候,它们集结起来,回到系统之中。有时候,它们不那样做。(P52页倒数第3、2段)

更正:
    在改进的程序中,这一类智能体将被清除掉,不会有后代留下来。在其它一些多智能体程序中,这类智能体的存在将被忽视,只有那些起主导作用的智能体能发挥作用。有些程序带有一种称为“恐怖割刀”(grim reaper)的模块,它能够定期把那些(变异的)智能体从棋盘上剔除出去。
    但是问题在于,它们被卡在自己过去的经历当中进退维谷。有时,它们能够恢复正常,迷途知返;有时它们又做不到。
 
注:
  grim reaper:这是一个生物学意义上的名词,指那些能够根据生物机体的需要、杀死某些机体细胞的基因,意即“细胞死神”。
 

Re:译林版迈克尔.克赖顿名作Prey(猎物)评议

十三、原文:
“Head of a team to design multi-agent systems for an insurance company that’s doing data mining. It’s an excellent opportunity, and—”

原译:
  “一个研发多智能体系统的课题组主任职位,为开发数据的保险公司工作。这是一个非常好的机遇,而且——”(P65页倒数4、5行)
 
更正:
  “担任一个多智能体系统研发小组的负责人,为一家保险公司从事数据挖掘工作。这是一个非常好的机遇,而且——”
 
注:数据挖掘(data mining):从海量数据中发掘和搜集潜在的有用信息,为用户提供决策依据的技术。
 

Re:译林版迈克尔.克赖顿名作Prey(猎物)评议

十四、原文:
“I don’t get it,” I said. “I’m perfectly positioned in a hot field, multi-agent distributed processing, and—”
“Hot?” she said, squinting at me. “Distributed processing’s not hot, Jack. It’s fucking radioactive. Everybody in the Valley figures that the breakthroughs in artificial life are going to come from distributed processing.”
“They are,” I said, nodding.
 
原译:
  “我不明白”我说,“我在一个热门领域中拥有优势地位,多智能体分布式并行处理,而且——”
  “热门?”她问,半眯着眼睛看着我,“分布式并行处理并不热,杰克。它具有令人讨厌的放射性。硅谷里的每个人认为,人工生命领域的突破性发展将来自分布式并行处理。”
  “它们会出现的,”我点头赞同。          (P67页3—8行)
 
分析:
  上面这段译文充满了矛盾,一会说分布式处理是热门(原文没有“并行”二字),一会又说不是,然后又说人工生命领域的突破性发展将来自分布式处理。此外,“令人讨厌的放射性”这种说法还真有点让人犯糊涂。其实,原文的意思是说:这个热门不仅火热得很,而且是热得来成了个向其它领域到处辐射的放射源了。
 
更正:
   “我不明白”我说,“我在多智能体分布式处理这个热门领域中有个极佳的职位,而且——”
  “热门?”她斜着眼睛看着我说。“分布式处理不是热,杰克。该死的它是个辐射源。硅谷里的每个人都认为,人工生命领域内的重大突破将因分布式处理技术而促成。”
  “的确如此,”我点头赞同。
 

Re:译林版迈克尔.克赖顿名作Prey(猎物)评议

十五、原文:
In the last few years, artificial life had replaced artificial intelligence as a long-term computing goal. The idea was to write programs that had the attributes of living creatures—the ability to adapt, cooperate, learn, adjust to change. Many of those qualities were especially important in robotics, and they were starting to be realized with distributed processing.
 
原译:
  在过去几年中,人工生命已经取代了人工智能,一跃变为计算机业的长期奋斗目标。奋斗的理想是编写出具有生命特征的程序——那些程序能够改写,协作工作,学习新知识,适应出现的变化。许多这样的性质在机器人技术中尤其重要,它们已经借助分布式并行处理开始变为现实。(P67页第5段)
 
分析:
  《猎物》的译者在这里错把idea(想法)看成了ideal(理想);adapt在这的意思是“自适应”而非“改写”。
 
修正:
  在过去几年中,人工生命已经取代人工智能成了计算机领域里的一个长远研究课题。其设想是设计出具有生物属性的程序——这种程序能够自我调节,相互协作,学习新知识,适应出现的变化。这些特征在机器人技术中大多数都非常有用,而且已开始应用分布式处理技术来实现。
 
十六、原文:
For example, they tried to teach computers that if someone bought something at a store, they had to pay before leaving. But this commonsense knowledge proved extremely difficult to program. The computer would make mistakes. New rules would be added to avoid the mistakes. Then more mistakes, and more rules. Eventually the programs were gigantic, millions of lines of code, and they began to fail out of sheer complexity. They were too large to debug. You couldn’t figure out where the errors were coming from.
 
原译:
  例如,他们试图要计算机懂得:如果有人在商店里选择了商品,他们必须在离店之前付钱。但是,结果却很难将这种日常知识编为程序。计算机会出错。必须增添新程序以避免那些错误。结果是错误越多,规则越多。所用的程序最终越来越庞大,涉及数百万条编码,这使它们开始因为复杂性而出错。那些程序太大,无法排除错误。人们无法找到错误出现在什么地方。(P68页第2行始)
 
分析:
  “把日常知识编为程序”这句话容易让人产生误解。原文在这里强调的是力图让计算机具有人的一些最简单的技能而非知识。因为“把知识编为程序”是一件很简单的事情——只要把这些知识输入进计算机,存入数据库中,需要时往外调用就行了。这里的区别在于,让计算机处理人的知识非常容易,但是让计算机按人的一些最简单的常识来行事却异常困难。
  另外要说明一点,从这一段开始,原文对软件设计行业发展过程中经历的“软件危机”、结构化程序设计方法的缺陷等内容做了简略的叙述。其中谈到的“基于规则”(rule-based)的设计方法,更确切的称呼应为“结构化的程序设计方法”(structured programming)。
 
修正:
  例如,他们试图教会计算机明白:如果有人在商店里选择了商品,他们必须在离店之前付钱。但是,实践证明这些习以为常的技能通过编程实现非常困难。计算机总是会不停地犯错误。为避免出错你得在程序中增加这样那样的规则,其结果是错误越来越多,规则也越来越多。最终程序变得异常庞大,动辄就是数百万行代码,然后程序便开始因其过于复杂而走向崩溃。太庞大的程序是无法调试的,人们无法弄清那些错误究竟出自哪里。
 
 
1  /  4  页   1234 跳转

译林出版社  Discuz!NT  Sitemap

返顶部