全栈工程师成长记

编程重新定义人生

英语之于编程的两个重要性

曾经在网上看到有人问,英语不好能学编程吗,大多数的回答是:能,因为编程里用到的词汇没几个。但如果英语能力好一些,就能自给去阅读文档、google答案,很多高手靠的就是这两个技能。

其中还有人说可以用中文来写代码,然后再批量替换成英文……

但不论如何,这几天在学习rails的过程中,我已经明显感受到英文能力的之于编程的重要性。

第一,方便。

方便是什么意思呢,如同那个答案里说的,方便自己查阅文档,方便自己google(因为Google出来的多是英文结果)。

第二,还是方便。

这个方便是自己的一个小体会,比如git commit里要添加备注内容,英文能力好,你就可以直接用英文来表述这个commit的主要讯息,不然你得在中英文输入法之间切换,这是很痛苦的事情:首先要在英文状态下输入英文的双引号,然后输入中文的备注内容,最后要切回英文状态输入英文双引号结束commit命令。

当然,你可以说这有很多解决办法呀,比如安装第三方输入法,这样就会带来两种便利的可能性:
1、设置使用shift按键来切换中英文的状态而不是用control+space来切换;
2、设置中文状态的标点符号为英文。

我们来看这两种解决方案是否真的“解决”了问题。
第1种,你只不过是把组合键变成了单个快捷键,但终究还是要有这个切换按键的过程,而且你得始终关注自己究竟是在英文状态下还是中文状态下 —— 当你想输入中文的时候,可能“键“步如飞的敲了几个按键之后才发现出来的是英文,于是只好悻悻的按delete删除掉这几个英文字母;反之亦然。

第2种,输入中文字体,使用英文标点,这样的组合看起来其实是不伦不类的,只能是在某个很具体的语境里稍微有点意义。或许可以想象你在一篇英文的文章里使用中文标点的感觉。

到这里,我们一眼就能看出第三方输入法的上述两个方案并没有从根源解决中英切换的问题。而如果你从头到尾都使用英文,就完全不存在这个 “问题”。

关于英文的题外话

以前看香港的电影,很奇怪那些人干嘛时不时在中文里蹦出一个英文单词,这是在装逼吗?

现在才学了几天rails,就明显感到,人家真不是在装逼,那你问我rails用中文怎么说?我还真说不出来。

我可能会告诉你我已经push了最新的代码到github,但我不会跟你说我已经“推送”、“上传”了最新的代码到github,就算我说了“推送”、“上传”,那github我要怎么用中文说出来?诸如此类。

换位思考这件事情还真不是那么容易就能做到的,但如果你经历过,可能容易一些。