数学这东西,不仅是一层层的堆叠,而且还是一串串地缠绕。说数学是一层层的堆叠,是因为高等数学堆叠在初等数学上,你学了小学数学,才能迈上一层学初中数学,学了初中数学,才能再迈上一层学高中数学……而机智客说的数学是一串串缠绕,则是一个知识点可能串着另一个知识点,另一个知识点则可能串着其他知识点。所以只学一个点,往往解决不了问题,你还得跟着学与之相关的其他知识点,乃至于要学所有知识点。这和学编程语言一样。
可能我们很多朋友都知道,编程语言这东西,多数情况下,本身并不算难,难的是与之相关的各种繁杂知识和技术。正所谓入门容易晋级难。特别是现在的编程语言和技术,往往设计之初就考虑了糅合现代技术思想和理念,入门阶段简单易上手,然而往往不是以后就容易晋级,越往后学的越多。
编程语言和数学,已经你中有我我中有你,互相渗透难以分割了。也许有朋友会有异议,说自己工作或编程学习中并没遇到什么数学或者没有感知到数学之类的。当然这也是事实,不一定我们会感知到数学,因为现在的技术特别是应用程序,已经做了太多的封装和抽象。
比如Python脚本语言,其实做个小应用的确不会让我们感觉到用到了数学。然而当我们深入进去,或者要知其然也知其所以然,肯定就得看数学了。当然,科技越发展,底层封装越多,我们的应用程序就离数学越远。然而数学依然是基础,不可或缺。
也正因为编程和数学的彼此渗透,让很多实际问题的解决都需要一串串的技术库和知识引入。再者说了,现代技术进步很快,框架、系统平台、技术栈、库层出不穷,我们踩着巨人的肩膀解决应用的问题,那么就要了解脚下巨人的位置和相关常识技术知识。就是一串串的彼此渗透的知识技术点。
学编程语言就跟学数学一样,不学则已,一学就得学一串。否则的话,你就学个一知半解,仨核桃俩枣的零碎技术能力,在现实中往往几乎做不了实用性的程序。当然了,机智客觉得我们可以追本溯源,如果我们能在自己能力范围内追溯到最深的源头,咬咬牙一举攻克,那么,对于我们学编程而言,就会势如破竹,举一反三,编程水平得到惊人的提升。就好比,现代世界的源头,也就那几个数学公式。