用中文编程是种什么体验?
https://www.zhihu.com/question/318368132/answer/644360555
@乘风龙王 的回答 用中文编程是种什么体验? 已经很到位了. 此类问题琢磨起来颇有意思. 为什么没有问”作为一个说中文的, 用第二语言编写代码是种什么体验?”, 或者到Quora上去问”用英文编程是种什么体验?”
先来篇报道: 外媒:仅考虑母语,中文是世界第一大语言, 重点:
据统计,英语是世界上使用最广泛的语言,中文名列第二。但仅考虑母语,中文则是世界第一大语言。
统计数据显示,目前全球使用英语的人数约为11.22亿人,略高于中文的11.07亿。不过,仅考虑母语的话,那么中文是世界第一大语言,共有9.09亿人的母语是中文,西班牙语、英语分列二、三位。
文中没提到的是, 位于第二的英语, 母语使用者仅四亿不到(来源wiki), 不到中文的一半.
程序是人向机器发号施令的表达形式, 对应的机器返回的编译/调试信息是机器向人的反馈.
作为全世界第一大母语的使用人群, 不可能也没道理永远主要使用第二语言与机器进行交流.
在此大趋势下, 英语在所有国内项目的代码和编译/调试信息中占绝大比重的现状迟早会改变, 我们这一代IT人应该就看得到. (参考1997年中国GDP占世界经济比重3.5%, 2017年15%)
自2017年7月26日创建中文编程GitHub组, 结识了不少同道, 各位在 中文编程专栏目录, 初衷和希冀 小结的推进中文编程的四个方面都进行着实践. 积累的开源项目小结在这里
个人一直在相关项目中尽量使用中文命名标识符. 包括Java, MySQL, JavaScript/TypeScript, Python等等, 感觉挺好.
尤其业余项目, 保证不了每天投入, 要做到隔一段时间之后拿起来能够尽快回忆起上下文含义(否则本身就是碎片化的时间就更推进不了项目了), 母语优势更加明显, 浪费在猜度XX周/月之前的自己脑子里咋想的时间少多了. “坏处”是有时逼着自己命名更加贴切, 因为烂命名用英文一眼望去也许不明显但用中文就明显的多.
个人项目尚且如此, 更不用说合作项目, 可以想象浪费在猜度代码前任想法或者适应神奇英文命名的时间会少多少.
另, 如果想说代码的”本质”在算法, 理解代码不用看命名等等的, 建议先了解下”code readability”. 另外一些常见质疑总结在 对在代码中使用中文命名的质疑与回应.
说不用或者不能实现中文编程语言的, 见 对中文语法的编程语言的质疑与回应, 以及最近的 为什么中国开发不出流行的编程语言?.
说中文命名标识符和中文编程语言无关的, 见 万马齐喑究可哀-中文编程的又一波”讨论”