编程注释(编程)

想发展母语编程(中文编程),大家觉着是否可行?

问题描述

更新:
想讨论有没有必要进行中文编程的,请移步:为什么大家都很否定中文编程? - 壳壳的回答
另外我的例子是标准ruby代码,只是函数名,变量名,类名用中文。
请大家重点讨论怎么做的思路。

原帖
先上编程观:
  1. “编程是一种一个人告诉另一个人他想让计算机做什么的艺术。”----Donald Knuth
  2. 好的代码应该是自释义的。
前提:

编程会成为未来人类的基本技能:为什么说编程是每个人都必须掌握的技能?-KidsProgram推广

所以,既然编程是未来每个的基本技能,而我不认为每个人都应该和能够学习和用好英语。那我们就需要中文化的编程了。当然,我认为理想是母语编程,不光是中文。

废话太多了,先show me the code吧,10年左右给公司内部做测试框架和推行自动化测试,做过半中文化的自动化测试代码,如下:


这样的代码,我们公司想在大概60万行。

当时,为什么用中文?
    1. 我们公司开发和测试人员的整体英文能力低。
    2. 开发以前用过拼音做数据库字段名,对新人来说就是灾难。
    3. 我们是行业软件公司,很多单词根本就不知道怎么翻译。就算你找个英语八级的来翻译了,英语六级的还是看不懂啊。(本人英语四级都没过)
    4. 代码既是给计算机读的,也是给人读的。当然在满足计算机读的基础上,尽量让人能更容易的读了。
    5. 英文关键字+中文类名、方法名有什么缺点呢?交流时不好阅读,别扭。不够优雅。
好了,为什么不废话太多了。说一下我的思路,大家评价一下:
  • 基于现有的成熟语言的基础上做中文关键字支持。暂时想用ruby
    • 这样就可以完全利用已有的程序库了,社区不用从零开始开发和封装各种环境和库。
    • 大家如果看我的图片的例子的话,基本上再把关键字替换掉就全中文化了。
  • 针对常用库用建立中文别名库。以后中文开发的库也建立相应英文的别名库。
  • 初期作为补丁或者独立包提供。以后争取能部分合并到上游。当然,前提是ruby核心组认可母语编程的意义并希望ruby支持母语编程。
  • ruby是高级语言,更适合做业务系统,而业务系统我认为也是母语编程价值最明显的地方。以后会往什么方向发展就顺其自然了。
认为自己每天都是在用符号编程写出程序估计是这样的
!function(a,b){function c(){var a=d();a&&i(f(),function(b){a===b.getAttribute("znonce")&&g(h(b))})}function d(){var a=b.getElementById("znonce");return a&&"META"===a.tagName&&a.content}function e(){return document.currentScript||document.scripts[document.scripts.length-1]}function f(){var a=b.querySelectorAll,c="text/zscript";if(a)return a.call(b,'script[type="'+c+'"]');var d=[];return i(document.scripts,function(a){a.type===c&&d.push(a)}),d}function g(b){b&&b.length&&(a.execScript||function(b){a.eval.call(a,b)})(b)}function h(a)
地铁风
不会撸程序的设计狮不是好科研狗

现在世界都已经全球化了,我觉得再拘泥于某种自然语言是不合适的。

应该大力推广以下独立于自然语言的语言:

  • Brainfuck
  • Whitespace
  • Ook
  • Piet
  • Perl
9 赞同 3 感谢 5 收藏 8 条已备份评论 发布于 2016-01-24 知乎原页 ↗

评论 8