函数式编程里的Materialization应该翻译成什么?

Materialization是函数式编程里的一个专业术语, 用于特指函数式编程中查询被实际执行并生成结果的这一过程.

首先, 搜了一下中文资料, 暂时没有对该词的中文翻译,  CSDN\博客园\阿里云上所有关于它的文档都没有做中文翻译, 直接沿用这个英文单词.

难道轮到我来创造这个词的中文翻译? 顿时觉得压力山大啊!

首先,我认为这个词是应该要翻译成中文的, 而不是保留英文原文不做翻译, 原因是: 这个词太长太难念了, 导致影响了阅读体验. 而像map, reduce这些又短又容易念的我在书中就没有做中文翻译, 直接保留英文原文不做翻译.

嗯, Materialization本身有如下多个中文意思, 我来逐一排除:

  1. 实体化. .NET开发者往往会联想到Entity Framework. 为了避免混淆, 放弃该选项.

  2. 实例化. 首先该词已经被C++中的instantiation占了坑. 同时实例化往往会被人联想到new一个class的object. 并且有丰富OOP经验而又没有函数式编程经验的.NET试读者往往会第一时间想到这个词. 极其容易造成误解,故放弃该选项.

  3. 具体化. 该词已经被C++中的specialization占了坑. 为了避免混淆, 放弃该选项.

  4. 物化. 有丰富OOP经验而又没有函数式编程经验的.NET试读者第一时间不能理解这个词, 但是很多现有的技术文档都指向这个意思.

  5. 物质化. 和"物化"同一意思.

我最终倾向于"物化"和"物质化"两者之一, 现在发起投票, 请留言发表你的意见. 投票将在本周日结束. 周一将交稿给出版社.

如果最终无人留言投票, 我将会采用"物化"做为中文翻译.

在翻译的过程中, 我和作者不断沟通, 和作者一起不断地刷新自己, 对于原著的每一节都有新的认识和修改, 我意识到完美是永无止境的. 也许Materialization以后会有更好的翻译. 但是在这里先公示一下, 请大家以后不要吐槽我是用机器翻译这本书.:-) 

=======2019-06-27 08:31 更新======

此帖投放在全国各地的.NET俱乐部微信群一夜之后,  有不少群友提供了宝贵的意见, 我罗列如下:

  1. 来自北京.NET俱乐部的: 建议叫m13n, 就像k8s, i18n一样. 嗯, 这个建议的确不错, 也在我旧有思路之外, 不过目前函数式编程尚未兴起, Materialization还未被大家熟知, 不像k8s, i18n那样熟为人知, 因此在本书中叫m13n可能会让人莫名其妙. 但是在以后的岁月中, 在函数式编程广为人知的时候, 叫m13n的确会和k8s, i18n一样方便.

  2. 来自长沙.NET俱乐部的: 联想起另外一个专业名词"物化视图", 感觉像同一个意思, 一个计算过程, 执行后生成结果(然后保存起来). 同时有另外两个人也支持使用"物化"这个词

  3. 来自成都.NET俱乐部的:

    1. 有人提出"实化"和"石化", 

    2. 有人提出"物料化",

    3. 有人认为"物化"和"物质化"还是有很大区别的.

    4. 有人认为: 物, 物体一般描述实际的东西吧. 实, 实体感觉更抽象一些. 适合计算机领域. 比较我们平时说的实体, 改成物体多别扭啊. 这个建议很好, 但是翻译成实体很容易让大家联想到Entity, 但是Materialization和Entity以及EF没有任何关系

    5. 有人认为应该不做翻译.

    6. 不得不说, 成都.NET俱乐部讨论热烈啊, 谢谢. 关于这些建议, 我最后会综合分析的. 但是, 我认为这个词是应该要翻译成中文的, 而不是保留英文原文不做翻译, 原因是: 这个词太长太难念了, 导致影响了阅读体验. 像map, reduce这些又短又容易念的我在书中都没有做中文翻译, 直接保留英文原文不做翻译.

  4. 来自深圳.NET俱乐部的: 有人认为专用词去强硬翻译, 只会让新人误解, 甚至更难理解. 这个建议不错, 但是在实际试读中发现反而是相反的, 有十几年工作经验的.NET开发者看到未做翻译的英文原词要么就是能直接看懂, 要么就会去google一下. 反而只有半年.NET工作经验的应届毕业生会觉得莫名其妙, 影响阅读体验. by the way, 还有人吐槽"鲁棒性"这个词的翻译, 更加让我意识到, 我做为第一个翻译Materialization这个词的责任重大啊, 不想给以后的人挖坑.

  5. 来自合肥.NET俱乐部的: 有人支持"物化"一票

  6. 来自武汉.NET俱乐部的:有人反映oracle中的物化视图也是用的“物化”这个词,“物化”两票,m13n一票

  7. 来自我本人朋友圈留言的: 投"物化"两票

  8. 直接在此blog post下留言的痴者工良, 留言大家也都能看得到了.

谢谢大家

==========2019-06-29 11:59 更新=========

经过各位朋友和.NET开发人员的散发,从更多渠道得到更多的意见,详情如下:

  1. 来自《构建之法》微信群的:赞同“物化”,认为术语最重要的就是区分度,所以连“鲁棒性”都可以吃得开就是因为这个原因。

  2. 来自沈阳.NET俱乐部的“西部-叛徒”朋友:

    1. 具现化:来源于科幻|ACG这边,但是好像有别的英文词对应了,好消息的话就是目前还未推广开来。在acg这边已经无障碍,意思完全是 抽象|精神->具体|现实。同时这种复杂外来语源的词能连起来朗读即可,不用强求音节数,因为现代汉语2~4都是合理而常见的

    2. 实现化:个人认为实现这个词可以作为名词,加上“化”来再动词化或继续赋予名词词性从构词上没漏洞,而且能表达出原意的大部分

    3. 物质化:直接按照material基本意思的动词化,相比物化,个人认为双音节词作词根更能精准表达含义的层面、领域,避免了物化这个词产生的生疏感,

    4. 实物化:这个翻译个人感觉地气得太多了,但也能明白,就是不知道和原词的引申含义是否能契合

    5. 质化。

    6. 实化。

    7. 具化。

    8. 现在“化”字词很多是日语反向传播回来的,不知道是否能在日语上找到更多灵感。

    9. 个人解析原词核心material可以翻译为:具 物 实 现 质 材 料 要(机要的要),其中后三个感觉和原词方向有些远

同时,我也把这个事情告诉了书籍英文版原版作者,作者表示大大地同意加赞赏。

谢谢大家

640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/315223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Ozon Tech Challenge 2020 (Div.1 + Div.2) E.Kuroni and the Score Distribution 构造

传送门 文章目录题意:思路:题意: 思路: 不难想到,长度为nnn的数组最多的满足条件的三元组序列是1,2,3....,n1,2,3....,n1,2,3....,n,对于每一个位置贡献为i−12\frac{i-1}{2}2i−1​,那么如果m…

Exceptionless(二) - 使用进阶

作者:markjiang7m2原文地址:https://www.cnblogs.com/markjiang7m2/p/11100563.html官网地址:http://letyouknow.net在上一篇文章Exceptionless - .Net Core开源日志框架中就说到如何对Exceptionless进行本地化部署,不过我也跟大家…

基于 Kong 和 Kubernetes 的 WebApi 多版本解决方案

前言大家好,很久没有写博客了,最近半年也是比较的忙,所以给关注我的粉丝们道个歉。去年和朱永光大哥聊的时候提了一下我们的这个方案,他说让我有空写篇博客讲一下,之前是非常的忙,所以这次趁着有些时间就写…

CodeCraft-20 (Div. 2) D. Nash Matrix 构造 + dfs

传送门 文章目录题意:思路:题意: 给定一个n∗nn*nn∗n的矩阵,每个点上面都有一个xi,yix_i,y_ixi​,yi​,表示这个点到xi,yix_i,y_ixi​,yi​这个点停下,当xi−1,yi−1x_i-1,y_i-1xi​−1,yi​−1的时候代表…

从严治码-别人在项目中下毒,我该怎么治?

01 从软考说起从4月份开始,由于备考《系统集成项目管理工程师》的原因,博客没有持续更新,在上半年考试结束之后,又对项目进行了一些收尾的工作。下面就这段时间的学习作一个记录和总结吧。在学习的过程中,提炼了一些自…

学习MVVM设计模式后第一次用于生产

WPF的MVVM设计模式从winform转变到WPF的过程,难点主要还是在MVVM的设计模式。当然,如果依然采用winform的涉及方式,在每个控件背后绑定事件的方式运用在wpf中,依然可行,但是假如GUI改版,其背后绑定的特别为…

netcore mvc快速开发系统(菜单,角色,权限[精确到按钮])开源

基于netcore2.0 mvc 开发的 快速搭建具有如下特色的后台管理系统用户管理菜单管理角色管理权限管理[精确到按钮])代码生成器代码克隆到本地 用vs2017或以上版本 打开工程。项目结构如下:找到DbModel下面的初始化db脚本里面包含4张表的schema和初始化数据…

asp.net core 系列之Startup

这篇文章简单记录 ASP.NET Core中 ,startup类的一些使用。一.前言在 Startup类中,一般有两个方法:ConfigureServices 方法: 用来配置应用的 service 。 Configure 方法:创建应用的请求处理管道它们都在应用启动时,被AS…

译 | .NET Core 基础架构进化之路(一)

原文:Matt Mitchell翻译:Edi Wang随着 .NET Core 3.0 Preview 6 的推出,我们认为简要了解一下我们基础设施系统的历史以及过去一年左右所做的重大改进会很有用。如果您对构建基础结构感兴趣,或者想要了解我们如何构建与 .NET Core…

剑指 Offer 27. 二叉树的镜像

思路:递归 /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode(int x) : val(x), left(NULL), right(NULL) {}* };*/ class Solution { public:TreeNode* mirrorTree(TreeNode*…

Codeforces Round #626 (Div. 2) D. Present 按位贡献 + 快排新姿势

传送门 文章目录题意:思路:题意: 给你一个长度为nnn的序列aaa,让你计算 n≤4e5,a≤1e7n\le 4e5,a\le 1e7n≤4e5,a≤1e7 思路: 首先这个式子是n2n^2n2的,显然不能直接算,并且异或没有分配律&…

.NET开发框架(一)-框架介绍与视频演示

本文主要介绍一套基于.NET CORE的SPA高并发、高可用的开发框架.我们暂且称它为:(让你懂.NET)开发框架。以此为主线,陆续编写教程,讲述如何构建高并发、高可用的框架。(欢迎转载与分享)它标准化了…

译 | .NET Core 基础架构进化之路(二)

原文:Matt Mitchell翻译:Edi Wang(接上篇 译 | .NET Core 基础架构进化之路(一))Maestro 及依赖流.NET Core 3.0 基础结构难题的最后一部分就是我们所说的依赖项流。这不是 .NET Core 的唯一概念。除非它们…

在.Net Core中实现一个WebSocket路由

Net Core中使用WebSocket默认是没有路由系统的,只能通过Request.Path"/xxx"来判断请求,例如:1 2 3 4 5 6 7 8 91011121314151617181920app.Use(async (context, next) >{ if (context.Request.Path "/ws") { …

Dapper介绍--Micro-ORM

一.概述目前对于.net的数据访问ORM工具很多,EF和EF Core是一个重量级的框架。最近在搭建新的项目架构,来学习一下轻量级的数据访问ORM工具Dapper。Dapper支持SQL Server,MySQL,Sqlite,SqlCE,Fir…

剑指 Offer 31. 栈的压入、弹出序列

思路&#xff1a;模拟就完事 class Solution { public:bool validateStackSequences(vector<int>& pushed, vector<int>& popped) {stack<int> c;int idx0;for(int v:pushed){c.push(v);while(c.size()&&c.top()popped[idx]){c.pop();idx;}…

Educational Codeforces Round 84 (Rated for Div. 2) D. Infinite Path 构建环 + 思维

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 懒得写了&#xff0c;直接贴图了。 思路&#xff1a; 遇事不决画成图&#xff0c;考虑将iii向p[i]p[i]p[i]连一个边&#xff0c;可以发现每个点入度为111&#xff0c;出度为111&#xff0c;所以画出来是若…

WSL+VSCODE体验UBUNTU环境下的开发

首先安装 WSL&#xff0c;我这里选择的是 ubuntu18.04 这个应用。切换 WSL 的默认用户为 root 用户切换成 root 用户主要是避免后续开发中遇到权限问题比较麻烦&#xff0c;直接默认 root 解决问题。找到ubuntu安装目录&#xff0c;一般在C:\Program Files\WindowsApps\Canonic…

程序员修仙之路--优雅快速的统计千万级别uv

菜菜&#xff0c;咱们网站现在有多少PV和UV了&#xff1f;Y总&#xff0c;咱们没有统计pv和uv的系统&#xff0c;预估大约有一千万uv吧写一个统计uv和pv的系统吧网上有现成的&#xff0c;直接接入一个不行吗&#xff1f;别人的不太放心&#xff0c;毕竟自己写的&#xff0c;自己…

P3391 【模板】文艺平衡树 fhq-treap 模板

传送门 文章目录题意&#xff1a;思路&#xff1a;题意&#xff1a; 思路&#xff1a; 这是学splaysplaysplay的时候的一个模板题&#xff0c;之前学过fhq−treapfhq-treapfhq−treap&#xff0c;但是没怎么用他做过题&#xff0c;今天一做还发现不少问题&#xff0c;真是眼高…