从零开始做程序员,程序员数学从零开始
在IT行业高速发展、高端IT技术人才匮乏的时代,很多人经常在贴吧、知乎、微博等网站上提问。比如“我学习不好。零基础知识能学计算机编程吗?”或者“我数学不好。我零基础学计算机。我能学高端IT技术吗?”
图片:东方集成电路
现在边肖真诚地告诉你:
数学和英语不好不代表学不会编程。世界上99%的编程岗位只需要不超过初中数学水平的知识,甚至不需要知道什么是充要条件。
信息技术名人肯
Mazaika曾经用这样一个例子来说明,一列火车凌晨3点离开纽约,平均时速30英里。另一列火车早上6点从纽约出发,方向相同,平均时速60英里。第二趟列车开出多少小时后,会经过第一趟列车吗?
这是一道简单的高中数学题。你可能在高中数学课本上见过。当他看到这个问题时,他根本不在乎答案,因为它脱离了现实生活。当时他根本不在乎用数学解决生活问题,但当他开始学习编程时,他逐渐意识到数学是如何应用到生活中的。
一个简单的例子:如果你想做一个关于健身数据的APP,只需要以下几个步骤。例如,练习持续了71分钟。
71/60=1.18。整整一个小时。
你怎么知道会议记录的?
你用一个模函数来求余数。
71 % 60=11。
所以71分钟是1小时11分钟。
向用户显示您的信息。
只需几个简单的步骤,就可以解决应用的基本问题,完全不用学习高等数学。这是一个小例子。但是有太多的用例来说明如何将简单的数学应用到编程中。
事实上,你真的只需要知道5个相对简单的数学概念就足够擅长编程了:
(1)添加
(2)减去
(3)双倍
(4)分部
(5)剩余
与数据科学不同的是,编程需要复杂的微积分来构建世界模型,编程中所需的数学要简单得多。我可以100%有把握地说,如果你觉得自己的数学英语不好,尝试做一个程序员并不是浪费时间。
数学好不好和编程没有多大关系
编程属于语言结构,没有复杂的数学计算。简单来说,人们目前对数学不好的概念是建立在一个基线上的,那就是高考数学。但是,如果你深入分析NMET数学试题,你就会明白,NMET数学考试不是你的数学思维能力,而是改变高中数学概念和深入挖掘试题的能力。
甚至对于很多高考学生的最后几道大题,在大学高等数学中都有相应的微积分解答。当微积分应用于计算机时,大多数微积分都有更简单的解决方案。计算机中的中级算法比高三的大题简单。所以不要害怕你的数学不好。只要你有数学思维模式,你就可以非常轻松地学习计算机编程。
对于人们害怕的另一个拦路虎英语来说,学习计算机编程,一个程序员的编程水平,和他的英语水平没有必然联系。
好的英语只会让你在查阅外文资料和书籍的时候事半功倍,但是当你真正编程的时候,你脑子里想的是设计和流程,而不是英语。
c,公认的难学的编程语言,有63个关键词,但常用的不到20个,这20个关键词大部分都不到5个字母。换句话说,只要你知道20个单词,你就可以熟练地使用C。即使不学C,其他常用语言大多只会比C简单,不会更复杂。
但是不要以为编程根本不需要学数学和英语。在学习编程的道路上,技术不断更新。为了掌握新技术,我们当然应该不断学习数学和英语。只有这样,你才能成为拥有高端技术的IT人才。
就像用PS修图一样,基本的修图当然可以做,但是要想让画面更好更精致,就需要用皮肤磨皮滤镜等插件对画面进行修图。数学和英语是学习编程需要提高的“插件”。你的“插件”基础越好,你的结果就会越好。
理论知识学得越多,越容易在技术为王的技能学习中栽跟头。个人认为,这种对编程所需技能理解上的偏差,以及方法和思路上的差异,是初学者编程最难的门槛。
人生的路需要你自己走,不要去害怕前路上还未存在的水坑,学习的山峰也远远不像你所想象的难以攀登。