- 论坛徽章:
- 0
|
我来做个黑脸. 原文我浏览了一遍, 译文我没全看完. 感觉文章翻译得比较生硬, 很多地方不甚准确, 也没照顾到中文的语言习惯. 如果楼主预期的是英语不甚流利的读者群, 这 篇译作怕是很难完成使命.
例如abstract部分,
原文:
We applied concepts from modern functional programming languages, such as Scheme and ML, to shells, which typically are more concerned with UNIX features than language design. Our shell is both simple and highly programmable. By exposing many of the internals and adopting constructs from functional programming languages, we have created a shell which supports new paradigms for programmers.
译文:
我们把来自现代函数式编程语言如 Scheme 和 ML 的概念应用于 shell,shell 典型的更加关注 UNIX 特征而不是语言设计。我们的 shell 同时是简单的和高度可编程的。通过暴露很多函数式编程语言的内情和接受来自它的构造,我们建立了支持新编程典范的新 shell。
问题:
* feature译作"功能"更达意; 所谓shell关注的UNIX features, 即指fork (subshell and job control), file descriptor (io redirection), pipeline (IPC), etc.
* functional programming一般约定译作"泛函"编程. 这里的functional不是形容词, 而是名词, 来自数学中的观念functional, 即作用于函数的函数.
* many of the internals 更可能是指shell的internal, 而非functional programming languages的internal. 这应该可以从整篇文章的内容里看出. 譬如讲到spoofing的那段.
* paradigm, 通常译作"范型"或者"范式"
* 语言习惯的问题, 即补充/省略一些上下文, 转换一下语序, 等等
修改:
我们将流行的泛函编程语言(例如Scheme和ML)中的概念融入shell--通常, 相较于语言设计, 后者更注重UNIX功能(的融合). 我们的shell不仅简单, 而且高度可编程. 我们(在用户层)公开了许多内部细节, 并采纳了泛函编程语言中的各种构造, 由此为程序员们创建了一个支持新型编程范式的shell.
此外还有许多技术词汇的翻译有待商榷, 譬如spoofing, 参照esr的jargon file, 意为
1 definition found
From Jargon File (4.2.3, 23 NOV 2000) [jargon]:
spoof vi. To capture, alter, and retransmit a communication
stream in a way that misleads the recipient. As used by hackers,
refers especially to altering TCP/IP packet source addresses or other
packet-header data in order to masquerade as a trusted machine. This
term has become very widespread and is borderline techspeak.
没有简练的中文对应, 译作"哄骗"就完全剥夺了这个词的技术背景(connotation), 我建议, 在类似词汇单独出现(比如在table of content中)时, 至少保留英文原词, 比如: 欺伪(spoofing). 再比如lexical binding, 一般做"局域绑定", 译为"词法绑定", 就让人不知所云了. 的确, 每当lexical binding和dynamic binding同时出现时, 达意总是困难的, 比较恰当的仍旧是保留英文原词. 我个人以为, lexical 和dynamic 各自译作"字面局域"和"过程局域"比较恰当. |
|