我为什么坚持中文编程 您所在的位置:网站首页 为什么不用汉语编程 我为什么坚持中文编程

我为什么坚持中文编程

2024-04-22 14:17| 来源: 网络整理| 查看: 265

最近有一个很火的问题《为什么有这么多人执着于中文编程?》。各路大佬都回答了一番,我也抖机灵地回答了一下,并没有收到多少赞。回答中我只是简单地展示了一下我的代码,并且说了中文编程的优点,并没有详细解释我执着的原因。借着这次机会,我就详细说一下我的编程经历,以及直到现在仍然坚持中文编程的原因。

我读小学的时候,家里买了电脑。也买了一些计算机的书籍,其中有一本编程书是关于Visual Basic 6的。我完全看不懂里面的内容,只会抄书里的代码不会自己写代码。当时还有个很火的Flash,家里的电脑上有装Flash,也有书,但是我却只会做一些幼稚动画,里面的ActionScript完全不会用。直到小学毕业,我没学会编程。

到了初中,大部分时间都在玩游戏,其中有星际争霸。我看到游戏里的自定义地图非常神奇,于是萌生了自己做地图的想法。在网上搜索之后找到一个做地图的论坛,我混入其中,拿着经过汉化的地图编辑器开始做地图。不得不说星际争霸的触发器真的很简单,很容易就能掌握。在这期间我从做地图中学到了一些基本的程序逻辑,也做了几个地图并发到论坛上,最后这些地图并没有流传开来。

还是初中,还是之前提到的论坛。我看到有人拿着易语言写的程序发到论坛上,我便饶有兴趣地了解一下易语言,把集成开发环境和官方教程都下载下来,结果一发不可收拾。一个VB6都没让我学会编程,易语言却带着我快速学会了编程。谢谢吴涛老师,是他让我入了中文编程的坑。

2009年初,正值《东方星莲船》体验版发布的时候,我心血来潮拿游戏标题画面做了一个恶搞图。做完之后想一想,既然作者ZUN可以一个人做游戏,我为什么不可以呢?于是有了做游戏的想法,没有任何准备工作就开始立项,拿易语言做游戏。不得不说易语言的开发效率真的很高,我花了1个月时间做出一个演示版本。但是易语言的运行效率真的很低下,做出来的游戏卡的不行,我决定砍掉重做,结果我的这一决定使我掉入一个无尽深渊。每次开发到最后已经没办法修改重构的时候,我便砍掉重做。使用的图形接口从OpenGL到Direct3D 9到Direct3D 11,使用的语言从易语言到C++,使用的技术随着每次砍掉重做都在不断更新换代。因为反复地砍掉重做次数太多,这个游戏到现在都没做完。(游戏已经开源发布到GitHub:https://github.com/cflw/dfsz)

高一时,正是我决定对游戏第一次砍掉重做的时候,我决定用当时主流的C++和Direct3D 9来做游戏。受到易语言的熏陶,我初学C++时,想着能不能用中文呢。一试,果然可以,于是开开心心地用中文写代码。一开始重做游戏的时候,编程经验不足,我完全把C++当做“带类的C”来写。那个时候我也没有开发大型软件工程的经验,我直接把所有代码都放到一个源文件。结果代码写着写着,行数在不知不觉中超过一万行,看起来又臭又长。

大学时,我已经忍受不了之前写的烂代码,游戏第二次砍掉重做,编程语言还是C++,但是图形接口已经换成Direct3D 11。有了之前多年的编程经验,我充分吸取教训,重新设计一个可高度扩展的框架,一直写到现在。在这期间,我根据我的编程经验,写了一篇《中文编程命名法》

大学期间,我感觉到用拼音输入法写代码存在严重的输入效率问题,想换个更快的输入法,于是五笔成为首选。在我习惯了用五笔写代码之后,打字效率提高了很多,不再像以前那样要慢慢选词。日常交流中我仍然使用拼音,因为五笔打单字打词组还好,但是不适合打长句。

大学里有一些编程语言课,什么C、Java之类的。有一次Java期末作业,我用中文写代码,交给老师,得到一个疑问句“怎么是中文?”。还好老师没有为难我,直接让我过了。

大三末,按学校惯例会有一些互联网公司到学校宣传他们的公司,同时招一些实习生。学校和公司会组织开一些选修课,让学生们体验一下然后选择去哪家公司实习。我当时选了Unity3D和PHP这两门课。既然是搞开发就免不了写代码,我还是按照我以前的习惯,洋洋洒洒地写了一堆中文代码,老师们看了都是先惊讶一下,然后劝我不要这么写。

大四时,我一边准备毕业论文,一边备考CCIE。大四的论文,我想写一个软件,跟网络相关的,但是题目被老师否决了,最后换了一个比较水的题目,纯理论没数据不写代码的那种水文。写论文的时候我意识到术语问题,计算机行业几乎是中英夹杂的重灾区。为了确保顺利毕业,我败给了现实,文章里充斥着大量的英文缩写,看着确实有点别扭。这时我开始意识到可读性的重要性。

大学毕业后,我顺利当上的网络工程师。在工作中面对各种杂七杂八的网络设备,什么牌子都有,大四时的想法又冒出来了。我在充分考虑了需求后,觉得C++不合适,又看到Python开始火了,于是学起Python,写出了网络设备脚本(https://github.com/cflw/network_device_script)。有多年的编程经验打底,这个从零写起的项目经历了数次大规模重构后,仍然具有很高的可维护性。

工作几年后,我根据以前的经验,对我的命名法进行修改,发表了《中文编程命名法(第2版)》。有一天, @吴烜 在一个帖子中引用了我的文章,并在文章评论里留下了链接。我顺着链接找上了他,跟他讨论一些中文编程的事情。然后收到到吴烜邀请,开始在知乎上写文章宣传一下中文编程。

现在想想,我之所以用中文写代码,只不过是因为我从易语言入门。后面自学C++,出于习惯,继续用中文,也没人干预。加上我一直都是一个人写代码,从来没有过任何团队开发经验,于是逐渐发展出了一种属于自己的编程风格。我的编程经历就像杂草一样,从草根开始,没人管就自己长起来了。说是坚持,其实也没怎么坚持,我现在用中文写代码就像日常沟通交流一样非常自然简单。突然让我用起英文我还得去查词典看看怎么命名,反而别扭。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有