以撸码20年的经验讲述数学的重要性!

发布日期:2019-08-04 浏览次数:

  都说程序员是青春饭,35岁已经是很老了。想想至2018年12初我已经满45周岁了,具有20年的撸码经验!

  令我汗颜的是从事计算机编程行业有20多年了,至今还冲在撸码一线,还在不断学习各种新的技术。但今天并不想聊我这20多年如何虚度,而是聊一聊数学(注意:这是所说的数学起码大学中的高等数学、概率和线性代数等基础数学)在计算机编程中的重要性。

  原因是这样的,我做了15年的,主要是JavaWeb开发,以及Java企业项目的架构设计,也做过百亿级的项目。然而从我的开发经历得出经验是数学知识很少使用,虽然我们在数据结构和算法中也会使用到数学知识,但是这里的数学充其量是高中数学。而这一观点的改变是在,2016年3月AlphaGo围棋程序以4比1的总比分获胜围棋世界冠军、职业九段棋手李世石。AlphaGo是一个人工智能(Artificial Intelligence)围棋程序,其主要工作原理是“深度学习”算法。

  从这一事件开始我发现什么人工智能甚是火爆起来,什么人工智能、机器学习和深度学习软件需求越来越多,我也开始关注这一领域。但是当我开始深入研究人工智能时我发现很多数学名词,什么矩阵、向量、微积分,我已经不知道什么含义了,更何况复杂的数学公式了,其实我在大学时数学成绩是非常好,但是由于多年在企业所从事的计算机编程,并不涉及到这些算法研究、科学计算、人工智能等领域。在过去的20年计算机科学发展是围绕着互联网,包括移动互联网、以及手机网络设备而发展的。而未来的20年计算机科学发展的中心将是人工智能。人工智能已经悄然进入了我们的生活,例如:导航软件、人脸识别等。未来人类的生活更离不开人工智能。

  作为欲从事计算机编程的从业人员,人工智能开发自然是不错的选择,但这需要有一定的数学基础,数学也随着人工智能的发展变得越来越实用,人工智能的普及离不开数学的普及。如果你是一个在校大学生,你应该珍惜你的学习时光,学好数学,为从事计算机编程而准备。如果你是一个与我一样的已经参加工作的程序员,应该有必要拿出你的大学课本重新学习一些数学知识。

  理论上讲任何计算机高级语言都可以进行人工智能的开发,只要是那些复杂的公式和算法能够使用该计算机语言描述和实现就可以了。幸运的是计算机编程完成一个工作,不需要从零开始,我们的前辈和算法工程师已经将复杂的公式和算法封装好了,这些封装好的代码就是库或框架,一个程序员只需要知道如何调用这些库或框架就可以了。而Python语言由于简单,以及历史原因,本身提供了丰富的库和框架,这使得使用Python语言进行人工智能、科学计算、数据可视化等开发变得相对比较简单,这使得我们学习Python语言变得非常的必要。我也一直建议计算机专业的学生,至少要精通三门计算机语言:C、Java和Python。

  以上之观点只是个人感悟。我的职业生涯也没有普遍性。而人工智能对于我们生活的改变是活生生的,作为计算机程序开发人员的你也无法独善其身。

  接下来给大家准备3本书《Python从小白到大牛》,难得的是,这3本书都带有作者的签名。

  200字以内讲述一个故事,主题是你和Python的故事(以及当前的状态),发邮件到,我们将从中选择3位最佳人选,如果你有幸被选中,我们会回复你的哦。

  关东升,一个在IT领域摸爬滚打20多年的老程序员、软件架构师、高级培训讲师、IT作家。熟悉Java、Kotlin、Python、iOS、Android游戏开发、数据库开发与设计、软件架构设计等多种IT技术。参与设计和开发北京市公交一卡通百亿级大型项目,开发国家农产品追溯系统、金融系统微博等移动客户端项目。近期为中国移动中国联通、南方航空、中石油、工商银行、平安银行和天津港务局等企事业单位授课。著有《Java从小白到大牛》、《Kotlin从小白到大牛》、《Python从小白到大牛》、《iOS开发指南》、《Android网络游戏开发实战》、《Cocos2d-x实战》系列和《JSP网络程序设计》等40多部计算机书籍。


  • 我要学车
  •