函数式编程里的Materialization应该翻译成什么?
Materialization是函數式編程里的一個專業術語, 用于特指函數式編程中查詢被實際執行并生成結果的這一過程.
首先, 搜了一下中文資料, 暫時沒有對該詞的中文翻譯,? CSDN\博客園\阿里云上所有關于它的文檔都沒有做中文翻譯, 直接沿用這個英文單詞.
難道輪到我來創造這個詞的中文翻譯? 頓時覺得壓力山大啊!
首先,我認為這個詞是應該要翻譯成中文的, 而不是保留英文原文不做翻譯,?原因是: 這個詞太長太難念了, 導致影響了閱讀體驗. 而像map, reduce這些又短又容易念的我在書中就沒有做中文翻譯, 直接保留英文原文不做翻譯.
嗯,?Materialization本身有如下多個中文意思, 我來逐一排除:
實體化. .NET開發者往往會聯想到Entity Framework. 為了避免混淆, 放棄該選項.
實例化. 首先該詞已經被C++中的instantiation占了坑. 同時實例化往往會被人聯想到new一個class的object. 并且有豐富OOP經驗而又沒有函數式編程經驗的.NET試讀者往往會第一時間想到這個詞. 極其容易造成誤解,故放棄該選項.
具體化. 該詞已經被C++中的specialization占了坑. 為了避免混淆, 放棄該選項.
物化. 有豐富OOP經驗而又沒有函數式編程經驗的.NET試讀者第一時間不能理解這個詞, 但是很多現有的技術文檔都指向這個意思.
物質化. 和"物化"同一意思.
我最終傾向于"物化"和"物質化"兩者之一, 現在發起投票, 請留言發表你的意見. 投票將在本周日結束. 周一將交稿給出版社.
如果最終無人留言投票, 我將會采用"物化"做為中文翻譯.
在翻譯的過程中, 我和作者不斷溝通, 和作者一起不斷地刷新自己, 對于原著的每一節都有新的認識和修改, 我意識到完美是永無止境的. 也許Materialization以后會有更好的翻譯. 但是在這里先公示一下, 請大家以后不要吐槽我是用機器翻譯這本書.:-)?
=======2019-06-27 08:31 更新======
此帖投放在全國各地的.NET俱樂部微信群一夜之后,??有不少群友提供了寶貴的意見, 我羅列如下:
來自北京.NET俱樂部的: 建議叫m13n, 就像k8s, i18n一樣. 嗯, 這個建議的確不錯, 也在我舊有思路之外, 不過目前函數式編程尚未興起, Materialization還未被大家熟知, 不像k8s, i18n那樣熟為人知, 因此在本書中叫m13n可能會讓人莫名其妙. 但是在以后的歲月中, 在函數式編程廣為人知的時候, 叫m13n的確會和k8s, i18n一樣方便.
來自長沙.NET俱樂部的: 聯想起另外一個專業名詞"物化視圖", 感覺像同一個意思, 一個計算過程, 執行后生成結果(然后保存起來). 同時有另外兩個人也支持使用"物化"這個詞
來自成都.NET俱樂部的:
有人提出"實化"和"石化",?
有人提出"物料化",
有人認為"物化"和"物質化"還是有很大區別的.
有人認為: 物, 物體一般描述實際的東西吧. 實, 實體感覺更抽象一些. 適合計算機領域. 比較我們平時說的實體, 改成物體多別扭啊. 這個建議很好, 但是翻譯成實體很容易讓大家聯想到Entity, 但是Materialization和Entity以及EF沒有任何關系
有人認為應該不做翻譯.
不得不說, 成都.NET俱樂部討論熱烈啊, 謝謝. 關于這些建議, 我最后會綜合分析的. 但是, 我認為這個詞是應該要翻譯成中文的, 而不是保留英文原文不做翻譯, 原因是: 這個詞太長太難念了, 導致影響了閱讀體驗. 像map, reduce這些又短又容易念的我在書中都沒有做中文翻譯, 直接保留英文原文不做翻譯.
來自深圳.NET俱樂部的: 有人認為專用詞去強硬翻譯, 只會讓新人誤解, 甚至更難理解. 這個建議不錯, 但是在實際試讀中發現反而是相反的, 有十幾年工作經驗的.NET開發者看到未做翻譯的英文原詞要么就是能直接看懂, 要么就會去google一下. 反而只有半年.NET工作經驗的應屆畢業生會覺得莫名其妙, 影響閱讀體驗. by the way, 還有人吐槽"魯棒性"這個詞的翻譯, 更加讓我意識到, 我做為第一個翻譯Materialization這個詞的責任重大啊, 不想給以后的人挖坑.
來自合肥.NET俱樂部的: 有人支持"物化"一票
來自武漢.NET俱樂部的:有人反映oracle中的物化視圖也是用的“物化”這個詞,“物化”兩票,m13n一票
來自我本人朋友圈留言的: 投"物化"兩票
直接在此blog post下留言的癡者工良, 留言大家也都能看得到了.
謝謝大家
==========2019-06-29 11:59 更新=========
經過各位朋友和.NET開發人員的散發,從更多渠道得到更多的意見,詳情如下:
來自《構建之法》微信群的:贊同“物化”,認為術語最重要的就是區分度,所以連“魯棒性”都可以吃得開就是因為這個原因。
來自沈陽.NET俱樂部的“西部-叛徒”朋友:
具現化:來源于科幻|ACG這邊,但是好像有別的英文詞對應了,好消息的話就是目前還未推廣開來。在acg這邊已經無障礙,意思完全是 抽象|精神->具體|現實。同時這種復雜外來語源的詞能連起來朗讀即可,不用強求音節數,因為現代漢語2~4都是合理而常見的
實現化:個人認為實現這個詞可以作為名詞,加上“化”來再動詞化或繼續賦予名詞詞性從構詞上沒漏洞,而且能表達出原意的大部分
物質化:直接按照material基本意思的動詞化,相比物化,個人認為雙音節詞作詞根更能精準表達含義的層面、領域,避免了物化這個詞產生的生疏感,
實物化:這個翻譯個人感覺地氣得太多了,但也能明白,就是不知道和原詞的引申含義是否能契合
質化。
實化。
具化。
現在“化”字詞很多是日語反向傳播回來的,不知道是否能在日語上找到更多靈感。
個人解析原詞核心material可以翻譯為:具 物 實 現 質 材 料 要(機要的要),其中后三個感覺和原詞方向有些遠
同時,我也把這個事情告訴了書籍英文版原版作者,作者表示大大地同意加贊賞。
謝謝大家
總結
以上是生活随笔為你收集整理的函数式编程里的Materialization应该翻译成什么?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Visual Basic 兴衰记
- 下一篇: Exceptionless(二) - 使