编程,正在如20世纪初的个人电脑一样,走进寻常百姓家,因此也催生了一大批程序员,也不乏一些自学成才的人。由于自身水平良莠不齐,在打算自学编程时,就面临着第一个大难题:“学编程,不懂英语和数学,真的能学会吗?”
有过来人会告诉你:“不用,我英语、数学就不怎么好,现在照样还不是程序员?”
也有人却会说:“不懂英语和数学还想学编程,你以为是在学编筐呢?”
有这样想法的程序员,不在少数,甚至大多身居高位,不乏架构师、CTO这样的大神,又由不得你不信。可既然像Web前端开发,中学生都可以学,为什么我一个堂堂20多岁的、经验丰富的职场人士,不可以学呢?
如果有想学习web前端的小伙伴,可以加入我的学习qun:68795,
8461,小编是一名从事了5年前端开发的全栈工程师,现在辞职,
在做线上教育,免费送一套Web前端资料、教程哦。
英语、数学和编程的关系,就好比是梁山和梁山伯、javascript和java的关系一样,半毛钱关系没有,另外半毛,才关系重大!
假如我需要编写一行代码,让浏览器显示我输入的结果,那么我需要这样写:document.write("你好,世界");
如果你用中文写,是这样的:书写 你好,世界
“英语只是介质,它不会影响一个人写代码的能力,英语跟编程,没有多大关系!”当你深信这句话时,看到了下面这张代码,一定会再次怀疑人生。
不是说好的不会英语,也一样可以学会编程吗?怎么图上这么多单词,而且还各种乱七八糟的符号?事实上,在一门编程语言中,能用到的单词,也不过几十个,它们更像是一种符号标记,而不是真正的英语,因为你不需要会读、会造句,甚至只要会写就行了。
至于乱七八糟的语法,它们就像是中文、英语的语法一样,书写代码,也是要按照一样的格式,仅此而已。
编程可以对英语程度不高,但是这并不能成为你不学英语的理由。
英语跟编程,最有关系的,可能就是变量名了,你可以理解为给孩子取名字,因为只能用英文字母,你可能会给孩子取名“chengshi”,可中文拼音有个致命的问题,就是重名度很高,“chengshi”既可以是“城市”,也可以是“诚实”。但是,过了一段时间,可能自己都不知道这几个字母是什么意思了。
英语最大的好处,就是很难歧义,并且简单明了,比如City就是城市的意思。如果你打算c1,c2,c3这样取变量名,估计会被其他小伙伴爆锤……
英语虽然不影响编程,但是它却能影响你学习交流的能力,作为一个更新换代快的职业,你更需要英语阅读能力,去了解信息、查看技术文档,去逛逛github、开源中国等技术交流社区。
听到数学,你害怕了吗?与计算机专业最相关的几门数学,主要是离散数学、线性代数、概率论与数理统计,自然还包括高等数学。
实际上,当前软件开发,大多数是基于现有的框架和工具,很大一部分别人都帮你弄好了,直接用到上述数学知识和技能的开发场景,非常少,或者说根本没有。
数学,对中级以上的开发者,才有些意义。
作为一个门外汉,我们总是倾向于求助行业的大牛们,因为他们的意见更有建树,而几乎所有的大牛都会告诉你,学编程,一定要懂英语和数学。
可实际上,编程并不需要英语和数学的支持,为什么多么多么厉害的大牛们,会给出这么low的意见呢?每个人脱口而出的东西,总会基于自身的经验和角度,试想一个计算机专业博士生,本科时就去大公司实习算法岗,博士毕业也是从事数据相关的岗位,通常他给编程设的门槛,一定是普通人望尘莫及的。
站在大牛们的角度上看,英语和数学,就是我工作最基础的基础,怎么能不会呢?这太不可思议了。
虽说没了英语和数学,一样可以写代码,当程序员。但这并不能成为不学他们的理由。如果你是有梦想、对未来有期望的小伙伴,那么就不要去选择安逸,抱着活到老,学到老的心态,坚持自己的梦想,永远是对的。
什么时候学习它们?
考虑到应用场景,你最应该学会的,是编程,选择一门适合自己的语言,并且坚持下去。当自己遇到瓶颈时,英语和数学就是你的突破口。
最后说一句,大路千万,走出一条属于自己的道路,就够了。
领取专属 10元无门槛券
私享最新 技术干货