编程一定要会英语吗
我认识一个写了十年代码的编程老哥,变量名全是英语拼音。不是编程那种规范的拼音,是英语“yonghuMing”、“shuJuKuLianJie”这种。编程他英语四级考了三次没过,英语现在在一家做企业ERP的编程公司当技术总监,手下管着二十来号人。英语他跟我说过一句话:“代码能跑就行,编程注释写给自己看的英语,用啥语言不是编程写。” 这话听着糙,英语但戳破了一个被培训机构反复包装的编程谎言——好像不会英语就写不了代码。真实情况是英语,编程语言的编程关键字总共就那么几十个,if、else、for、while、return,背单词的难度远低于高考英语。我见过初中生用易语言写游戏外挂,也见过大专生用Python爬数据做副业,他们连音标都认不全。 但这里有个分水岭。当你只写业务代码,英语就是锦上添花;当你要解决那些没人踩过的坑,英语就是氧气。 去年我帮朋友排查一个内存泄漏问题。用的是一个国产开源库,文档写得稀碎,issue区全是中文提问,作者回复也全是中文。折腾两天没进展,我试着用英文关键词搜了搜,在GitHub一个冷门仓库的commit记录里找到了线索——有人三年前就遇到过同样的问题,解决方案藏在Stack Overflow一个只有12个赞的回答里。那个回答用的是英文,但代码片段贴得明明白白。我复制过来改了两行,问题解决了。 这就是现实。中文技术社区这些年确实在壮大,但最前沿的东西、最冷门的坑、最底层的原理讨论,依然以英文为主。不是中文社区不行,是英文社区的体量摆在那儿。一个报错信息,你用中文搜,可能只有三篇博客互相抄;用英文搜,能翻出几十个不同场景的讨论帖。 还有个更隐蔽的门槛。很多库的命名逻辑是英文思维。比如React里的useEffect,你如果不知道effect是“副作用”的意思,光看文档很难理解它为什么叫这个。再比如Python的decorator,字面意思是“装饰器”,但你要是没接触过装饰器模式这个概念,光看中文翻译反而更糊涂。这些词本身不难,难的是它们背后的那套表达习惯。 我那个拼音变量名的老哥,后来还是去学了英语。不是为了考试,是因为他想读Kubernetes的源码。他说看中文翻译版的技术书,总觉得隔了一层纱,有些地方译者自己都没搞明白,翻出来的句子狗屁不通。直接看原版,虽然慢,但意思准。 所以回到问题本身。编程一定要会英语吗?我的答案是:入门不需要,进阶躲不掉。你可以用拼音写变量,用中文搜报错,用国产框架搭项目。但当你卡在一个问题上超过三天,当你需要读官方文档才能继续往下走,当你想给开源项目提issue的时候,英语就不再是一门学科,而是一个工具——跟IDE、调试器一样,你不用它也能写代码,但用上之后,效率完全是另一个量级。 最后说个有意思的事。我见过英语最差的程序员,是写汇编的。因为汇编的关键字就那几个,剩下的全是数字和寄存器。但那个老哥现在也在学英语,因为他想看懂Intel的芯片手册。你看,绕来绕去,还是绕不过去。
-
上一篇
-
下一篇
- 最近发表
- 随机阅读
- 搜索
-
- 友情链接
-