编程术语成系统中文化的意义

本人在某问答网站的四千赞回答“为什么有很多人执着于中文编程”下有位分享:
关于中文变量名 , 在国内金融行业有一定的市场 , 因为直接用英文很多专业词汇没学这个专业即使专八也不一定知道 , 即使是美国人也很少直接用这些专业词汇 , 几年前我们对接过一个石油银行结汇的系统 , 软件是IBM的“承包商”提供 , 里面的专业词汇变量都类似LR_0001这样代表隔夜拆借利率这样 , 然后交付有个数据字典 , 中英俄三种语言正反向查询共800页 , 后面国人二次开发的模块里面就有汉语变量了
由此想到 , 行业术语系统的中文化是一个行业国产化的非常重要以至于不可或缺的“软”因素 。
中文的特性决定了 , 即使再专业的术语词汇 , 所有行业加在一起用到的汉字也就数千 , 而不像英文那样单一行业就有动辄上万甚至十万词汇 。 比如医学词典《Dorland's Illustrated Medical Dictionary》(下面应该指的是词条数目 , 但估计单词数量应该也在万级)
Provides approximately 125,000 well-defined entries
这意味着接受过九年义务教育就可以开始行业技术培训(专科院校) , 而英文术语词汇的庞杂决定了国外的专业培训的入门门槛相对较高(毕竟在学习术语“概念”的同时 , 还要额外学习那么多的新单词) 。
这也会影响到行业之后的知识交流效率等等 。 比如:
pneumoconiosis:尘肺病dehydrogenation:脱氢英文专业词汇的庞杂也催生了大量缩写 , 一些动辄会有数十甚至上百个不同含义 , 因为会被用在不同的行业中 , 甚至同一行业也会有不同含义(比如“ABC“ , 有 238 个意义) 。 虽然这从某种程度上弥补了英文术语冗长的问题 , 但同时也导致“行话”完全不能被行外人了解 , 也变相更加提高了入行门槛 。 而相应的中文术语往往行业壁垒更加低 。 比如下面两个都是“ADT”缩写:
Android Development Tools:安卓开发工具Androgen Deprivation Therapy:去雄激素治疗综上 , 中文术语是国内行业往往更有竞争力的一个重要原因:不仅专业人才更易培养 , 专业知识也更易交流 。
说回到本行软件业 , 从各种软件行业新闻中夹杂的大量英文可以看出 , 该行业的中文术语系统还未成熟 , 毕竟软件业相对来说属于新兴行业 。 另一重要因素是 , 很多从业人员尚不知道标识符命名可以用中文 , 从而导致一直以来在代码编写时都照搬英文术语 , 而在编程教程中也延续了这个“传统” 。 实际上大多数编程语言都早已支持了中文命名标识符(变量、方法、类名等等) 。 常用框架比如 Spring 也可以从前端到后端使用中文变量 , 见“中文代码示例之Spring Boot 1.3.3演示”
开头提到的石油行业的同行的反馈 , 已经说明了制造业信息化过程中 , 在代码中直接使用中文术语的益处 。
【编程术语成系统中文化的意义】同样 , 软件行业本身的术语的中文化 , 也将是软件行业加强竞争力的一个重要途径 。 这也是在构建中文软件生态(API)过程中的必经之路 。
更多中文编程相关技术分析 , 请持续关注本号~