数学不好的人适合学编程
白日梦 无知说起数学,说多了都是泪。从小到大,数学都差。混到高中,还是漏中。高二时,听数学老师说,学习计算机,数学很重要。我很是激动。虽然我想学好,但是不知道为什么总是学不好。最后阴差阳错,竟然上大学不是计算机专业(http://www.cnitedu.cn)。不说那么多,说多了都是泪呀。泪崩了我。哈哈哈哈。
本科确实没有上计算机,本科农学,学习农业各种技术,对于数学,要求不高,学了点学校自编的所谓的高数。然后学了统计学,学的很渣。似乎我觉得我数学就是没有天赋,学不好吧。看到那些数学公式什么的,恐数症啊我!实在是对计算机有兴趣,后来还是慢慢不知不觉的就开始自学计算机了。后来还决定跨考计算机的研究生了。可能是导演不让我的人生那么顺利吧,哈哈哈,没考上。其实也是很自然的。时间不够是主要一方面,难度确实很大,科目又多,尽管我花了很多力气,还差很多。其中,最为刻骨铭心的是数学。因为农学没有真正学过完整的高数。而全国计算机统考是要考数学A的。那么我就得从头到尾自学一遍。
看到前面的铺垫,嘿嘿,到现在这里,数学如何学,你猜得到吗?因为课程多,时间紧,也就没有时间去跟其他专业上课,太慢了。所以,这是一个问题,必须解决。怎么办?没办法,凉拌。那就全部自学咯。我不知道我哪来的勇气,竟敢直接自学高数A!!甚至完全自学计算机!!不管怎么样,或许就是那一份天真和坚持吧,最大的动力就是兴趣。有了计算机的兴趣,我对数学一忍再忍,学的咬牙切齿,至今都历历在目。
我知道刚开始学数学,很多名词都不懂,所以,我就先学一遍,熟悉所有名词和基本概念。你也想得到,学了后面忘了前面,那是再平常不过的事了。本来数学就差了。我不是天才,我只是一份无畏的天真,就这样,花了一段时间学了一遍。就看教科书,熟悉了一遍。而学习的地点就是图书馆,时间就是每天晚上。我可以把这段时间成为魔鬼时间。每次去图书馆时,都感觉一种强烈的恐惧和痛苦。但是我还是必须去学,不学,那么就没有希望,也没有资格跟自己憧憬未来。所以,还是坚持学了。所幸,坚持下来了,学了一遍,总算是熟悉了,可是这才是刚刚开始。这个时候,很多机械专业等同学,也是在复习,而我才是学习一遍完毕而已,而他们已经复习一到两遍了。我的天,我才刚刚自学完毕。效果,那不用说。我又不是天才,能怎么样,只能说我见过数学A的市面了。压力山大山大的。后来也就开始做题,那一本复习资料做题,做到后面忘了前面,我也是没有办法,只能尽快多学点。这样也就过完了一遍。最后就是做题,买了真题试卷,结果发现很多都不会做,动不了手。也就只有再复习复习。就这样,稀里糊涂的又买了一本资料,比较薄的,练习做题。很行,有些题目还是能做了。
到考试结果出来时,考了75分的样子,刚好及格的样子。这样也是对我学习数学的一个肯定吧。虽然不高,也算是没有垫底,也是对我完全自学高数的一个肯定吧。有这个成绩,对我来说,已经知足了。
而后来,我也总结出了为什么我数学学不好了。一是记忆力不好,试卷有很多差不多的题目,可是不会做,虽然做过,但是记不住。如果你说不需要记住,那么此时就是第二个,我的数学思维太差,运算能力太差了。这个是我自学计算机的过程中大量的思考总结出来的。我不能不说,这个是应试教育的失败,成天就知道考试,而思维,没有得到开发,因此,思维就很死,没有创新,没有真正的思维,而只有机械的套公式做题,就算有那么点数学思维,也只是一些人对数学比较有天分。但是,我觉得这些都是可以培养出来的。只是老师都没有培养罢了。
然而,计算机我也是完全自学的,然而,效果还不错。考出的成绩,和一般的计算机专业的学生差不多,只是我的其他各个科目没有突出的,导致都是偏低。这个我们就不用关注了。写这么多,只是想告诉你,我数学很差,但是我计算机学的还是可以的。不敢说是大神,但是不也是烂尾货。而在自学计算机的过程中,完全独立自主,也让我学到了老师没法教的对于我一辈子都很有用的东西--学会了思考。
而在后面学习编程时,大量发挥了思考优势,学习也会快多了且深入很多。当然,还不够,我还要继续完善。然而,在编程学习中和使用中,不是大量的使用数学做什么。很重要的一点就是思维。我一个人开发过一些小软件,没有其他人的参与,各种功能也是实现了。不管是不是山寨的做法,但是至少都能够完整的实现。这里并没有用什么高深的技术,很多时候就是一种思维流程。
而编程也是分很多层次的。当然也有完全用数学编程的。像各种数学分析、搜索引擎、科学计算等都是纯数学思维计算的,像这种层次的,我今生无缘研究了。因为我的数学,泪呀。
不过不用沮丧,我们开发软件,并不是都是做这些数学计算的。虽然会用到数学计算,但是根本就不用我们去写这些算法。各个大神写好了库,供我们使用,这样我们就可以实现很多牛叉的功能,但是我们却不需要懂这些算法如何实现的。
普通的编程,基本都是使用这个库使用那个库或者这个框架那个框架的。我们需要学的,就是懂计算机就行了。怎么说呢?学习计算机相当于是文科,或者是半文半理的。各种书中,大量的不是讲如何计算一个东西,而是讲计算机如何运作,比如计算机组成原理,以及人们如何去实现人容易理解的东西,又可以让计算机好实现的,比如数据结构。而编程方面,也是讲,如何与计算机交流,比如写代码。所以,计算机算是一个“机文”学科,而不是人文学科,更不是数学类学科。而在计算机这个领域里,所有的算法,多数是基于生活的基于非数学的算法,比如进程调度磁盘调度等等。学了这些后,你会发现,你可以更好的理解生活,而不是远离生活,而数学刚好相反,数学把世界抽象化了,抽象成了一个公式,我们无论如何也不能接受生活就是一个公式,对吧。
与计算机打交道,其实就需要懂计算机。平常我们使用计算机时,点点鼠标,就是打交道了。不过这个是很表面的,这样根本就不算懂计算机。而真正懂计算机,应该是学了编程之后,才能真正了解计算机。编写代码就是与计算机交流很接近的层次了,最为接近的就是写机器代码了,不过,现在应该会写的不多了吧,或者根本就没有了。
编程里的各种语法,通过编译器解释,最终转化为计算机能懂的语言,我们就实现了与计算机对话。就好比我们请一个翻译,与国外人交流一样。要想交流的很好,你就要懂他的世界文化。所以,你要懂计算机组成原理、要懂得电子电路,要懂得操作系统,如果这些都不懂,连进程线程都不知道,你敢说你懂么?这些是很基础的技术,同时也是所有计算机都有的特点,所以,不管是什么计算机,现今的计算机都具备这些特点。而我们要学这些东西,都不是数学,甚至与数学扯不上关系,虽然是有数学在服务于计算机,但不等于,数学不好就学不好计算机的说法。
而听到很多人说,数学很牛叉的人,计算机一定会学的很牛叉。我看不见得。计算机不等于数学。只不过,数学好的人,对于理解各种算法会快一些,仅此而已。而计算数学不好,这些算法也是可以容易理解的,关键是看时间花的够不够,基础扎不扎实。
对于平常的开发来说,会使用库,理解库的整个机制,用不上什么算法,都是一些逻辑思维流程。我们平时自己写的小算法,其实也是平时写多了,想多了,就有了积累,以后再需要的时候,也就是温故知新罢了。而学习计算机恰好可以锻炼你的思维,计算机里集合了大量的大师的思维,简直就是人类智慧的宝库,只要你有兴趣学,坚持学,你也会有所成就,而如果只是为了找份工作,那就是另当别论了。不过也就是学学一些框架和库的使用罢了。而真正要学好,还是要提高自己的思维,吸收能吸收的任何思维优点,为我所用!这就是所谓的站在巨人的肩膀上面,而不是使用巨人写出的东西你拿来用。最有用的是那一套思想,这才是最有价值的,只有站在巨人思想的巅峰,你才会是另一个巨人,当然,不是巨人怪,哈哈哈。
当然,我也只不过是很普通的人,只是因为我的一段宝贵的经历,让我学到了很多东西,在这里将这些经验分享给你,并不是什么了不起的,只是想给你一份启发罢了。同时也是给你一份鼓励,看到我那么渣的数学,依然时坚持在软件开发行业活了两年之久,还会更长,学习计算机的基础也比较扎实,我想你也不会再为数学不好而疑惑重重吧,至少你数学还比我强哦。
加油吧,我只能说到这了。剩下的路,靠你自己坚持和奋斗。不过,我一直在这里,为你打气,因为我还在不停的努力,力求有所成就!共勉吧,同志!
标签:思维,计算机,编程,适合,算法,数学,自学 From: https://www.cnblogs.com/wangprince2017/p/17557961.html