学习
实践
活动
工具
TVP
写文章

计算思维到底是什么?

问题:计算机思维到底是什么?

【见】

在吴军老师《谷歌方法论》专栏第4封信里,有一位读者提出了一个问题:“吴老师,计算机思维的真谛是什么?是面对大量的数据而产生的解决方法吗?”

吴军老师说到:计算机思维是全方位的,不太可能用一两句话概括。简单地讲,需要处理好以下七对关系和理解两个原则。

七对关系:

1.大和小

生活在小数字世界里的人的想法和做事方法,一定是和小数字世界相适应的,而生活在大数世界的人做事的方法完全不一样。

2.快和慢

人的进化是很慢的,人本身并不适用非常快速的发展变化。然而计算机本身的发展是18个月翻一番,10年番100倍,在只能时代,人的思维要适应这种变化。

3.多维度和单一维度

人脑是线性处理事务,看问题常常从一个角度,也没能力把很多角度综合起来。但计算机有这个能力,因此占到了对维度的便宜。

4.网络和个体

人的思维是一个行为,做决定彼此不干扰。而人功能只能是建议在网络效应的基础之上,通过很多彼此联系的计算机共同协作工作而产生的。

5.自顶向上和自底向下

在一个组织内,自底向上做事很容易激发群体的积极性,人更适合自底向上,但容易造成资源浪费。

6.全局和局部

人做事情时,仅限于自己的认知,通常得到的是局部最佳,失去对局部优化的可能性。计算机自顶向上加上能处理大数的能力,最容易得到全局最佳。

7.成本和表现

人很多时候强调对错,追求绝对的公平,喜欢要求最好的结果。而在计算机里面无论是软件还是硬件设计,都是在平衡性能和成本的关系。

两个原则:

1.等价性原则

很多时候,问题A较难,问题B相对容桂,A等价于B。但人类常常容易给什么问题就解决什么问题尽管很难。而计算机会试图解决等价却更简单的问题。

2.模块化原则

生活中,如果我们要做一张椅子,我们就会直接去做。在计算机的世界里,永远是线制作几个非常简单且能够大量复制的积木块,然后用很多这样简单的某块,搭建出复杂的椅子。

【感】

看完后,心里一震,看起来高深莫测,抽象的计算机思维,吴军老师讲解得很接地气。是啊,计算机的特点是:能处理大数世界的问题、进化速度非常快、多线处理问题、具有网络协同力、能自顶而下、全局看问题、面对任何问题都会权衡性能和成本关系

这些优点的确是人不能与之想争的。不过,看到这几点后也看到了自身思维上的缺陷,计算机的某些思维也是自己能通过刻意练习习得的。

计算机遵循的“等价性和模块化”原则在我们的儿童编程教育里也有很深入地体现,我们通过易于理解的图形化编程,让孩子知道了为什么要选择代码少的方案来替代代码多复杂的方案(虽然效果都一样),同时也让孩子看到了程序的模块化给计算机带来了多大的便利…..

想想当年的我们小时候,适合儿童学习的编程还未出现,如果那时候出现了,自己也学习了,想必自己做事的效率、速度以及成功率会提升几倍吧。现在的孩子真幸福,这个时代为他们创建了一个神奇的智能环境。

【思】

计算机有如此优势,我们是否可以借助它的力量来成长呢?答案是肯定的,我们可以先向计算机学习,学习它的思维,用它的某些思维来处理生活中所遇到的事情,提升解决问题的速度。

【行】

面对新事物不害怕、不忧虑、不远离, 以接纳地心态对待,看看它是否可以为自己所用,它会给你意想不到的惊喜,计算机思维就是这样的新事物。

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

扫码关注腾讯云开发者

领取腾讯云代金券