原则上是不需要的,但学英语绝对能提高更多的高度。原因如下:
1.虽然用拼音命名变量和函数是没有问题的,甚至现在很多语言用中文命名都可以,但远没有用英文命名方便,这里有两个原因:
a.由于大多数基本的库是用英文命名,你如果用中文命名自己的函数和变量,又引用库里面的英文命名,那么就会搞得很乱。别说两种语言了,就是同一种语言英文,
下划线、骆驼、
帕斯卡三种常见
分词方法混在一起都要逼疯人(最后严重鄙视下
匈牙利命名法)。那么你可以想象你调着英文的库写着自己的拼音,其他人看了是什么感受。别说其他人了,你过几天自己来看都要疯掉。
b.中文不是拼音语言,拼音只能注音,就算我们英语再差,我们看过的英文文章都比拼音文章要多得多,再加上声调没法标,同音词又多,拼音命名是非常让人不舒服的,还不如有机会直接汉字,当然汉字的打字效率问题,以及
运算符不亲和性(原因当然来自于我们
数学公式里也都是英文字母),让
表达式看上去很奇怪。
2.理解库的方便性。因为库的命名必定是英文的,那么你不懂英文就必须要有这个库的中文手册,但是往往不一定有,就算有,也很拖慢速度。而懂英文的人往往看了某个函数的名字,和他形参的名字就能把这个函数的作用猜个八九不离十。当然并不是说懂英文就不需要查手册了,但是请问连名字都不知道,怎么从一堆函数中搜索出来,就算你搜索出来了,难道靠拼写而不是词义能记住?没错能记几个,比如我小时候不懂英文就能强记FDISK分区FORMAT格式化,但DOS/WINDOWS的命令又不多,能和一个库里面那么多类和函数相比?
3.学习最专业最深度的资料的必要性。中文的教材永远只能保证你入门,当你遇到专业的问题时,首先必须面对的就是英文材料。这些问题面对的人非常少,没有人会去翻译成中文的,就连中文支持我觉得最良心的MSDN,好多关键信息都是机翻没法看,只能看英文原版。