english-chinese-glossary-of-rust icon indicating copy to clipboard operation
english-chinese-glossary-of-rust copied to clipboard

讨论关于“lifetime”的翻译

Open upsuper opened this issue 5 years ago • 13 comments

“lifetime”这个词的中文翻译有一定争议,在此列举出一些常见翻译并试图分析它们的利弊。

  • 生命周期
    • 优点:被较为广泛的使用,熟悉的人较多
    • 缺点:这个翻译是错的,原词中并不存在周期之意,“生命周期”的对应英文应为“life cycle”
  • 生存期
    • 优点:与原词的含义一致,而且简短
    • 缺点:可能不算常用词?
  • 生存时间
    • 优点:与原词的含义一致
    • 缺点:可能比“生存期”要更拗口?
  • 寿命
    • 优点:简单
    • 缺点:用寿命来形容程序内的对象比较奇怪?
    • 优点:简单
    • 缺点:某些语境下比较拗口,而且不明所以

欢迎补充

upsuper avatar Jun 10 '19 11:06 upsuper

lifetime还是生命周期更贴切,因为Rust里lifetime 最主要是要关注引用在函数之间的传递安全。在不同的函数调用里传递,那就是“周期”,“生命的轮回”。

ZhangHanDong avatar Jun 10 '19 14:06 ZhangHanDong

个人觉得使用“生命周期”更好。

一方面这个单词本身中文有这个意思,在英文中解释也差不多表达一样的意思。 另一方面“生命周期”这个词语其实在中文计算机语言中已经是出现多年的词汇,也就是在 Rust 出现之前已经有相关的表达中文表达,比如 C++ 就有一模一样的这个表达,也是代表这个概念。类似地,英文的 “object” 这个词翻译成 “对象” 其实也不怎么准确,但是已经约定俗成后,现在所有翻译的 object 都使用 对象,而不是翻译成 “物件” 等其他的翻译。

aaranxu avatar Jun 21 '19 09:06 aaranxu

英文翻译成中文,最大的考量是惯例,如果是已经有约定俗成的译法,而且较为通行的话,那么即便后来可能会有更好的表达,也不会直接说改变成新的词语,比如“Holmes” (中文 “福尔摩斯”)是在民国时期就翻译的,但是对后来的普通话来说这个翻译并不合适,只是因为这个已经在在大量的书籍和报纸中使用这个名称了,可以说今天已经是没有异议的翻译了。

而 lifetime 这个词语,在 C++ 11 的时候就已经有翻译成中文,而且在中文计算机术语中也较为流行了,所以对于 Rust 来说最好也是沿用历史的译法,因为意思概念都是一样的。

宗旨就是我们并不是创造新的词汇,而是尽可能采用已经广泛使用的惯例译法。

aaranxu avatar Jun 21 '19 10:06 aaranxu

支持“生命周期”,这个词在业界已经算是很通用的词了。

krystollia avatar Jun 21 '19 10:06 krystollia

C++ 的相关文档: 生存期(cppreference) https://zh.cppreference.com/w/cpp/language/lifetime 生存期(微软官方文档) https://docs.microsoft.com/zh-cn/cpp/c-language/lifetime?view=vs-2019

crlf0710 avatar Aug 16 '19 01:08 crlf0710

生存区间?学了rust感觉这个lifetime和数学的区间挺像,不过感觉翻译成生存期更好

NOVA-ME avatar Aug 16 '19 06:08 NOVA-ME

C++ 的相关文档: 生存期(cppreference) https://zh.cppreference.com/w/cpp/language/lifetime 生存期(微软官方文档) https://docs.microsoft.com/zh-cn/cpp/c-language/lifetime?view=vs-2019

对于 lifetime 这个单词我在多本 C++ 的书籍中都有看过,均翻译成 “生命周期”,以下举出几本最有说服力的图书,以下只列出 lifetime(生命周期)首次出现的位置,我翻过其他位置,书中都是统一翻译成生命周期,大家可以仔细考证: 《C++ Primer》中文版第5版,184页,章节:6.1.1 局部对象; 《C++ 程序设计语言》(第1~3部分)原书第4版的中文版,55页,章节:3.2.1.2 容器; 《C++ Primer Plus》(第6版)中文版,117页,章节:4.8.5 自动存储、静态存储和动态存储。

aaranxu avatar Aug 19 '19 09:08 aaranxu

继续补充:侯捷老师的《英中繁簡編程術語對照》中lifetime词条: (原地址不可考,这里是转载 https://github.com/xiaq/boost-doc-zh/blob/master/glossary/term_jjhou.txt)

英文                    繁体译词
                      (有些是侯捷个人喜好,普及与否难说)      大陆惯用术语
---------------------------------------------------------------------------------------
lifetime                生命期、寿命                               生命期、寿命

crlf0710 avatar Aug 19 '19 10:08 crlf0710

「生命周期」已经成惯用语了

ZhangHanDong avatar Aug 20 '19 08:08 ZhangHanDong

个人支持「生存期」用于和「生命周期(life cycle)」区分

lihsai0 avatar Jun 11 '21 10:06 lihsai0

个人建议使用[有效期]比较贴近lifetime在Rust的语义。

KarsonChaw avatar May 25 '22 03:05 KarsonChaw

翻译成生涯更好。庄子曰吾生也有涯,lifetime最重要的就是给你活着的时间划了一个边界

bhuztez avatar Jul 25 '22 15:07 bhuztez

翻译成生涯更好。庄子曰吾生也有涯,lifetime最重要的就是给你活着的时间划了一个边界

我喜欢这个名称

ZhangHanDong avatar Jul 27 '22 03:07 ZhangHanDong