不学数学算法原理的编程,是给你源码你也看不懂

而在AI机器人时代,特别是涉及到算法、底层等问题,一些基础的东西更重要

学习编程是这样一种痛,分分钟让自己怀疑人生。之所以嚷嚷学习编程痛苦,就是因为即便高手前辈把代码开源了,有步骤有算法的一大堆自己也看不下去,最终终于宣告看不懂。编程是一种痛,因为只要学编程的人,从来就没有只懂一种语言的,都是学识渊博,贯通各种知识的,只学编程语言就想弄懂编程?吹吧。

学编程,最多也最难的知识量,不是编程语言本身,而是数学、算法、底层原理、协议接口、模型结构等等。除了编程语言本身外,不懂数学/算法、英语,计算机原理的编程,看再多技巧和编程实现,也如同只会一键美颜,而不会PS作图。

不学数学/算法,就是一个应用的实现代码给你了,你也看不懂,比如利用某个循环画图,假如你连中学的时候学过几个基本公式都忘了的话,你睁着大眼左看右看就是看不懂,人家是怎么循环出那个图形的,更何况,很多时候,还要用大量的数学公式,数学公式除了我们上中学学的三角函数对数排列组合等等基础数学知识外,还有用数学推导公式来实现某种公式和算法。你不会?得了,看着公式算法就发愁,看着长串源代码就头晕。

很多编程过程的核心,就是几个数学问题解决;而很多一个简单功能的实现,就是一些算法问题;所以学编程,数学要温习,算法要多学习。当人工智能时代把一切数据化后,那么现实问题就是一些算法在分析和解决。就好比生活中你的问题,你用什么既高效又能针对问题的方法来解决它。编程中算法的问题,有时候和我们生活中的问题的解决一样。

编程写代码本身就是需要原理性的知识和计算机对话沟通,指导它办事。所以计算机原理一定要懂。虽然现在编程越来越高级抽象,越来越不在乎占用空间的细节问题了,不过一人客个人觉得要实实在在写代码(不是写脚本,不是随便拼凑个应用就可以装逼那种),计算机原理一定要懂的。当然话又说回来了,问题就在于这货太复杂了,从机器语言到汇编,从汇编到高级;从软件到硬件,从算法到网络,各种重构各种逻辑各种优化各种精简。小心翼翼写完了,一不小心,还有万恶的BUG问题,模棱两可、莫名其妙、匪夷所思、奇哉怪也。不懂计算机原理和一些基础知识,你自己写的代码,你自己都不知道是怎么回事。

不可否认,时代进步太快,现在其实不懂底层原理,就能轻松完成一些应用;但是,在做一些真正的项目解决现实问题时,如果没有别人提供的模块,你不懂数学、算法、通用语言和计算机逻辑原理,会举步维艰束手无策。而在AI机器人时代,特别是涉及到算法、底层等问题,一些基础的东西更重要。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181028A1GX7I00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券