大猿来信(3)-程序员的三大法宝-英语、数学和编程

日期:2019-09-11 23:01:23

     这是大猿的第三封来信。还记得我在第一封来信中就提到过,要尊重人性,说难听点就是适当的偷懒。果不其然,第三封来信就迟到了一个月之久,我只能说人性的力量是深不可测的。

 

不过,这一个月我也不仅仅是偷懒,懒中也偷忙了小一阵儿。8月份开设了一期Java培训班,布置教室、备课、学员安排都是我一个人去做。期间自己又患感冒,咳嗽到现在还没全好,都快咳出腹肌了,完全失去了写作的动力。

 

还好在养病期间读了两本书,也算是弥补吧,后面来信中我会提到这两本书,书写的太好了,除了分享给大家,我想不出更好的办法来回馈你们了。言归正传,让我们来谈谈编程和英语数学的关系吧。

 

先摆明我的观点,我认为英语和数学能够提升编程的能力。理由如下:

 
 
英语

学编程第一步,要记住单词”,这话完全是外行人的认知水平,太误人子弟了,才促使我写这篇来信

所以,别再做学编程,先背单词的傻事儿了,除了浪费时间外,毫无意义。

 

但是呢,英语好,能够无障碍的阅读第一手编程资料,这个很重要。要知道计算机的源头还是在国外,从编程语言、操作系统,再到一些商业软件,都是国外的,所以,你想获取前沿的技术,英语好那是必须的了。或许你会说,我英语不好,可以看一些国人翻译的技术书籍,不也可以吗?显然这是木有问题的,但是这里有个很致命的缺陷,那就是国外的新书引进到国内,再到翻译、出版,中间至少有半年左右的间隔。那么这会带来什么问题呢?

 

举个例子,A程序员英语好,经常逛一些国外的技术网站,和其他国家程序员进行技术交流;B程序员英语很糟糕,单词量不足一千,看英语技术文档很吃力,即使用翻译工具,也往往词不达意,效率很低。由于A程序员经常和国外的程序员进行交流,能够接触到比较前沿的技术。

 

在2008年的时候,苹果推出应用市场,允许第三方开发者对苹果手机进行应用开发,A程序员迅速捕获到这个热点,于是就到苹果技术网站学习Objective-C教程,很快就做出了一款IOS手机应用,要知道此时国内开发IOS的程序员凤毛麟角,而A程序员不但会了这项技能,而且还做出了成果,再加之移动互联网的浪潮刚好在国内刚刚开始,手机APP开发的需求也水涨船高,A程序员顺势也拿到了不错的offer,全面负责公司的手机端开发,薪资翻了好几倍;而B程序员此时还不知手机APP开发为何物呢!这就是英语带给他们之间的差距,真的就有这么大。
 

 
数学
 

我们再看看数学。你一定听过“数学不好,就不要学计算机了”,可见数学的重要性。最近几年,人工智能非常热门,需求也很大,薪资待遇也相当可观。但是,想要把人工智能学好,必须得有数学基础,比如线性代数、概率论、信息论、微积分、图论这些知识你得具备,否则学习人工智能,那些公式都够你喝一壶的。

 

如果你木有这些数学基础,那就对不起了,先把这些数学知识捡起来,掌握了再去搞人工智能,否则就是沙滩建别墅,瞎耽误工夫。人工智能虽好,但是起点高,入门不容易,如果你的数学好,那就比较容易了,你会比别人更快、更高的效率完成技能积累,提前进入到人工智能行业,时间就是金钱,这就是数学的力量,知识的力量。

 

 

 

计算机和数学是息息相关的,计算机是数学的结晶,没有了数学的支撑,计算机就是一个木有灵魂的化学原料硅(CPU的重要组成元素),程序员都知道,如果能掌握编译原理,那么就相当于集齐了七颗龙珠,编程的世界里,就没有你不能做的事情了。编译原理就是计算机王冠上的一颗明珠,可见它有多么重要了吧。

 

但是,东西虽好,想要学好它,可不那么容易,绝大部分的程序员都望而却步,徘徊良久,最终折回,安静的写着bug,默不出声。因为它太难了。但是如果你能把离散数学、图论吃透,再去啃编译原理,就会容易的多。你看,又是数学,你能说数学不重要么!

 

好了,英语和数学的重要性相信大家都了解了,那么,问题来了,是不是学习编程,都要求英语和数学呢?答案是:否定的。我来解释一下,作为普通的程序员,在完成日常的业务开发时,其实并不需要英语和数学,也用不到,因为用到的技术都是常见的,对应的中文资料很多,搜一下就都有了,所以英语好不好,根本不重要。数学呢,就更用不到了,有初中、高中的水平就足以。

 

那么,我们刚刚提到的英语和数学那么重要,难道不会也能当程序员?能,当一个普通的程序员绝对没问题。上面提到的重要性,是给优秀程序员、顶级程序员的,毕竟这个社会还是有分工的么,每个行业也都有高中低之分,所以,英语不好的、数学不好的一样可以当程序员。

 

但是,你想继续提升自己的水平,那么对不起,你还得把英语和数学捡起来,不需要你学的很好,差不多就够了,毕竟咱也不去当翻译,不去当数学家,说白了,就是一个工具。
 

不要让英语和数学成为你放弃编程的理由

 

好,聊了这么多,我来总结一下:如果你想学好计算机编程,英语和数学是必须的,它是以后晋级的有力工具。

因为英语和数学不会阻碍你学习编程,不会阻碍你找到一份软件开发的工作。再说了,不好只是暂时的,正所谓,活到老学到老,尤其在IT行业,更是强调终身学习。所以,别担心,想学编程,就大胆的学,别磨磨唧唧的杞人忧天,撸起袖子加油干,Hello world敲一遍,想不成功都很难。

祝顺利。