开发者社区> 中文编程> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

2018-07-18 万马齐喑究可哀-中文编程的又一波"讨论"

简介: 对问题"假设中国人最先开发电脑和设计程序语言,那么各种程序语言会使用汉字吗?"的回应. A response to the question "what if the Chinese invented computer first?"
+关注继续查看

刚申诉了自动折叠, 还是把回答转帖一下: 吴烜:假设中国人最先开发电脑和设计程序语言,那么各种程序语言会使用汉字吗?

这种有明显倾向性的问题怎么还有市场呢...不管谁先开发的电脑(就不论算盘之类是不是计算机前身了), 就不许后来者基于自身需求开发最趁手的工具吗?

再说一遍, 没有中文编程语言, 也可以在代码中用中文命名! 是的, 现在就可以! 不需要任何额外的工具: 在各种编程语言中使用中文命名

母语命名标识符可以带来代码清晰度和可维护性的提高: Python3选择支持非ASCII码标识符的缘由. 而支持Unicode命名是大多数现代编程语言都具备的特性, 难道那些语言开发者都闲得慌才加的这个特性吗?
各种用诡异的中文命名写出天书般代码来证明中文代码可读性不高的请用英文把同样的代码用直译一遍, 再放在一起比较一下, 到底哪个更天书.
基于各种语言/框架的中文命名例子见中文编程专栏目录, 初衷和希冀的"中文命名"部分目录(Java, Python, Javascript等).

其他关于中文命名的质疑(比如输入慢, 没好处, Linux也用的英文命名, 不利于外国开发者贡献, 用中文注释就够了, 现有API都是英文的, 编程语言和自然语言无关, 会有编码问题, 会影响钱程, 没有先例等等)回应详见对在代码中使用中文命名的质疑与回应. 欢迎各种新论点.

下面该有人说中文命名和中文编程语言无关了.

正因为缺少这种中文命名的实践, 各种编程和领域术语都没有形成规范(即使常见用词List和Collection都有不同的中文说法, 见讨论参考MSDN,试搞.NET类库标识符的翻译版 · Issue #54 · program-in-chinese/overview), 设计中文语法的编程语言往往成了无本之木. 语言特性应该从实践中提炼, 即使在现有英文编程语言中进行的中文命名实践, 也可以促进中文语法编程语言/开发工具的发展. 个人的看法, 中文编程语言有没有空格, 到底要多"高级", 都是其次. 好用应该是第一原则, 在这方面易语言是个标杆, 可惜十多年了至今无人跨越.

再说, 现实是英文编程语言的天下, 为什么不在这些工具中用中文命名, 以最小的代价实现代码可读性提升呢? 哪天有合适的中文编程语言了, 把代码移植过去都方便的多. 十年之后, 估计会有不少人吐槽, 当年把中文术语硬翻成了英文标识符(甚至于拼音), 现在还得翻回去, 当年是怎么想的.

最近又看到不少此类带节奏的文章, 就刚才还挖了一篇的底(专用帖: 对中文编程的质疑, 困惑, 批评, 吐槽请到此处 · Issue #44 · program-in-chinese/overview). 只能说, 看来有些人终于有点急了, 因为代码可读性的重要性, 以及中文命名对可读性的提升已经被越来越多的人认识到了. 此路必定不平坦, 比如很多中文编码相关的坑会让中文命名来背锅, 更不用说非技术因素了(见中文编程兴起的可能途径). 但这恐怕是大势所趋. 能在此大势中出一份微薄之力, 也算是个人之幸.

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
深入理解nodejs中的异步编程
深入理解nodejs中的异步编程
23 0
ECS7 - 搭建在线编程环境
# 基于CentOS 7安装Gnome图形化桌面: # 使用VNC_Viewer在Windows平台连接CentOS 7: # Linux基本操作命令:
158 0
《HTML5游戏编程核心技术与实战》一2.7 案例:《你画我猜》
在这一小节中,我们将利用前面介绍的知识,来创作一个《你画我猜》游戏中的主要功能。《你画我猜》是一款老少皆宜的多人在线的网络游戏,2012年风靡一时,玩法其实也来源于生活当中,经常在娱乐节目中出现。
1938 0
免费的编程中文书籍索引【收藏速度】
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/45060203 语言...
3397 0
[视频教程]面向服务式编程开发呼叫中心系统
课程简要介绍:课程的重点是系统架构,穿插着讲到了一些技术细节和技术难点。课程假定学员有一定的C#知识,有一定的面向对象的知识。课程从无到有开发了一个呼叫中心的DEMO,并在课程的最后提供源码,整个课程依据作者架构设计的单价为30~50W的呼叫中心系统做讲解,此系统迄今为止仍在开发和完善的过程中(不断有新模块加入进来)。
789 0
+关注
中文编程
中文编程知乎专栏: https://zhuanlan.zhihu.com/codeInChinese 中文编程GitHub组: https://github.com/program-in-chinese
142
文章
3
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载