最近这几年,断断续续有人给我留言,连亲戚都托我妈给我带话,问我他家孩子数学成绩不好,以后能当程序员吗?我通常都告诉他:没问题,大胆干!做编程开发用不着多么高深的数学知识。
但是,这可不意味着数学和编程之间没有联系。恰恰相反,早期的计算机从业者大都是数学高手,Bill Gates就是数学尖子生,年轻那会儿还考虑过当数学教授。
只不过随着计算机行业的发展,我们接触底层的必要性逐渐减少,也就没必要再跟二进制什么的打交道了,在现有编程语言的支持下写逻辑就完事儿了。
但大家心里都清楚:只会写业务逻辑的人,只能称作码农,很难成为资深开发工程师,想深入进阶的编程开发,数学就是最大的拦路虎。这一点,做算法和人工智能的朋友应该深有体会,在大数据和智能化的时代,学好数学就是门槛本身,这话并不夸张。
△Google投放在101公路的“数学通关招聘广告”
所以,我可以负责任地说,数学基础的好坏,会决定一个程序员的发展潜力。很多大公司在招人时,都会优先考虑数学专业的毕业生。无论是Google在硅谷交通动脉101公路的“数学通关招聘广告”,还是Intel的数学面试题,都足见这些大公司对员工数学基础的重视程度。