编程 中文等宽_有效率的中文编程畅想

不负责任地瞎聊内容,没打算真去做这个项目,本来想写到想法里,不知不觉写太多了,就发个文章吧。

看到很多人都做过的所谓汉语编程项目,还有之前那个文言文编程的网红项目。实话说真想要实用化中文编程,研究一下如何在代码环境里易用的中文输入法更有意义,反正现在程序语言都支持中文变量名,真正的阻碍其实是输入法。而这部分输入法的障碍其实不是字库词库,而是操作上与IDE的耦合。

这不仅仅对于所谓中文编程大有裨益,大量需要中英文混排的代码环境都会因此受益(例如数据库语言,LaTeX),各个中国输入法公司应该重视这一点。反过来,做好这个可能会成为下一个风靡的中文输入法。

说几个代码环境下中文输入法我觉得应该有的功能:

1. 中文输入输入联想,不仅是输入法输入了一个完整汉字之后才开始联想,而是输入例如拼音首字母,变量名首字的前几个字等就能够联想出变量/方法名。

2. 不需要中英文切换。由于我们仍然需要使用英文关键字,以避免重新记忆关键字带来的学习成本和兼容其他库的成本,我们的代码会混杂着中英文,而频繁切换输入法会带来效率上的大幅降低,所以最好能够提供一种解决方案避免切换中英文。而事实上,英文里出现拼音和五笔编码的可能性是相当低的,利用这一点可能可以提供一个解决方案。我有一些想法,但是觉得并不够好,这一部分可以探索。

3. 字体。中英文混排的字体太难看了,而且中文在英文里会显得太大,尤其是中文不占绝对多数时。更进一步,在普遍使用等宽字体的代码环境下,出现中文之后的观感就更差了,因为英文不等宽时,一个单词自己的字母相互交错,有一种单独字符元素的感觉,和汉字放一起要更舒服一些。这一点完全涉及了我只是的盲区,只能期待设计师们能有所建树。我个人的经验是,尽量加大中英文之间的间距,适当缩小中文字号。

4. 中英文变量名指代,为每个中文变量名指定英文映射,为英文变量名指定中文映射,并且二者皆可唤起联想,也能够一键替换,兼顾代码可读性,编写效率以及兼容性。我觉得这是可以第一个做起来的工作,它甚至不用涉及输入法,我们完全可以在设置好映射之后,用完全的英文编程来实现部分变量名中文显示的效果,因为中文注释往往并不够,而英文变量名读起来就是比中文慢,如果能够实现,这会一反所谓中文编程没效率的映像,让中文编程成为提高效率的法宝,因为公认的,中文的阅读速度更快,信息密度大。当然这自然要解决上一条中英文混排难看的问题,否则难看还是会影响心情。

5. 部分关键字的中文/符号映射。这一点涉及一些我对英文编程的优势的理解。英文字符量少,单个字符的信息量小,但格式统一。而且由于计算机发展与英语高度耦合,所以英文可以深入底层,从汇编起就是英语,硬件领域皆是英语。而且更深入的,现代的标点体系和书写习惯其实也是以西文为基础的,这使得纯文档非常适合作为英语的载体。但对于中文就不是这样,在纯文档领域基本中文水泼不进,命令行里加点中文都不如纯英文来的干净。但是在一个领域,存在着中文的优势,那就是阅读。涉及大篇幅的阅读时,中文在世界语言里都是领先的。中文有助于把冗长的程序化为简洁的内容,为此我们需要改造原有关键字体系,重构各种流程控制和变量引用的格式使得其能让中文发挥优势。

首先是中文变量名短,多行代码可以浓缩为一行。其次是汉字多,我们设置可以把一些汉字,甚至造一些字专门用于关键字从而消除空格进一步缩短代码。再次输入法其实也是优势,因为这实际是所输入不为所见,这一点后面单独说。最后中文不需要大括号或者强行缩进也可以很清晰,因为特定汉字如果再加上颜色的话,代码的层次也会非常明显。

6. 输入法的优势。输入法其实是所输入不是所见,输入内容和展示内容之间隔了一层。如果我们可以在IDE层面强化这一点,尽管会弱化底层的能力,但是在可读性上会更进一步。我们既然都已经接受了脚本语言,那么让代码的显示彻底抛弃掉文本有何不可呢?学术上我们青睐伪代码,流程图,何不让代码看起来就是流程图?比如写个if,看到的是框图,写个循环,看到的也是框图,对于中文编程而言,如果把英文关键字融合到符号和框图里去了,对于可读性是是质的飞跃。举个例子,一长串的类名和方法点来点去,不少粗暴的中文编程实现就是把点留下,英文名换中文。为何不用诸如上标,变色,字框,底纹等途径实现?

不少Markdown编辑器做的其实和输入法本质是一种东西,我觉得代码也可以用上这个,从让各种流程控制看起来更加直观开始。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值