逻辑思维和编程的关系
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逻辑思维和编程的关系相关的知识,希望对你有一定的参考价值。
无数遍的被问到一个问题,没有逻辑思维是不是学不了编程?
“逻辑思维”这个词,很多人会对它敬而远之。因为大多人,也包括我在内,我们这些并没有天生才智的人来说,似乎总认为这是自己不擅长的领域。
这4年前在网上突然出现了一档脱口秀节目,叫做《罗辑思维》,一个姓罗的胖子每次都在视频跟大家分享他刚刚学到的知识。从天文地理、到人文历史,再到科技领域,无所不谈。我们突然间发现,原来逻辑清晰的思考一个问题,并非理科生的专长。我们大多数人只是从来没有尝试过去认真的思考每一个问题罢了。
尤其是对于IT行业的人来说,几乎所有人都会有一个共识:“脑子不行,学不了编程。”可是我想问,所谓的脑子不行,到底是哪里不行呢?
你可能会觉得,学数学或物理专业的人脑子一定很聪明对吧? 我身边有不少学这些专业的朋友。但我真没觉得他们在生活中表现的有多“聪明”。有时我会问他们,你数学为什么学这么好?而他们的回答是:“别扯淡了,只是比你好而已吧?老子学了这么多年,要是连你都赶不上,那不成傻子了?”
我突然间意识到,其实没有什么所谓的专业人士。只是因为他们在某个领域学的更久,付出的更多,经验比常人更丰富而已。
所以,逻辑思考能力也绝对不是天生的。当一个人刚出生时,在婴儿时期,我们是无法确定他将来适合从事什么职业的,所以对于婴儿来讲,不存在文科生理科生的区别。这个时候他就是一张白纸,你朝着哪个方向去绘画,他将来就会成为什么样的作品。所以,除了一些生理本能(比如呼吸)。几乎没有任何能力可以从娘胎中带出来。
美国有一个非常著名的脱口秀主持人,他曾经在2010年的美国记者年会,作为唯一受邀的相声演员,表演了15分钟的脱口秀。他的名字叫黄西,相信很多人对他应该很熟悉。但大家可能不知道的是,黄西在24岁拿到了美国德克萨斯州莱斯大学的生物化学博士学位。
他从一个生化博士,到一个人气爆棚脱口秀网红,行业跨度简直大到让人不可思议。那我们不禁要问,黄西到底在哪方面有天赋呢?
其实都不是,这完全是后天大量训练的结果。你看到的姚明,只是千万篮球运动员中的其中之一。他固然有着身高的天赋。但他多年来所付出的努力,却往往会因为他的天赋,被我们所忽略掉。况且,全中国也就只有一个姚明,我们不能仅仅看到了这个行业的千万分之一,就轻易的下结论说:“没有像姚明的天赋,还是不要打篮球了。”,我想,这句话是对所有篮球爱好者的不尊重甚至侮辱。事实上,我们绝大多数人的努力程度,还远远达不到要谈天赋的地步。
所以,一般在儿童当中,我们从来不谈论什么智商,相反,一群成年人在一起,我们却经常会说,你看,那个家伙智商真低。
我们的智力测验题,也往往都是针对小孩子,而不是成年人,就是因为智力不是固定的值,小的时候因为大脑发育还没有完善,阅历也不够丰富,所以这个时候同等条件的测试很容易看出天赋上的差距。但大了再测智力不能说明什么问题了,因为人是会学习的。有谁会一辈子停止不前呢?
其实,对于我们成年人来说,人人都是具备逻辑能力的。
为什么这么说呢?我来举个例子,在专业的逻辑思维范畴当中有一项特别重要的能力,叫做类比能力,类比是我们人类学习任何新生事物的最基本最重要的能力。
比如我们要学习如何骑电动车,这对于成年人来讲,再简单不过了,为什么呢?因为我们都有骑自行车的经验,都有车把来控制方向,都有两个轮胎,都需要掌握平衡。他们相似的地方太多,所以我们通过两者之间的比较很容易就能学会骑电动车。包括开汽车也是一样,即使教练不告诉你,你也知道方向盘向左打是左转向,向右打是右转向,这些都是来自于我们的过往经验。通过简单的对比,我们就快速的掌握的未知的技能。
但是回忆一下,你学习自行车的过程,通常应该是比较痛苦的,因为你要经过无数次的摔跤才能掌握平衡,而且在这之前似乎没有太多相似的经验让你去比较和参考。这就叫无经验可类比,因此你学习的是一个全然陌生的事物,就会比较困难。这是属于正常现象,这和智商高低无关。所以对于我们学习编程来说,掌握类比能力,就变得尤为重要。
再跟大家举一个更加贴近生活的例子
比如你看到某个人好吃懒做,然后你骂他:“你真是个猪”,请注意,当你在骂他是个猪的时候,其实你已经做了非常严密的逻辑思考,因为猪也好吃懒做呀,他们有很多共同点,所以你才会得出这样的结论。你为什么不骂他是条狗呢?因为狗不具备这些特点。所以你看,连骂人都需要逻辑思考,这项能力你已经运用了20多年,你怎么能说你不熟练呢? 其实很多时候我们只是没有察觉到而已。
我们可以通过一个简单逻辑思想训练来了解一下,我们是如何思考问题的。
首先,我们给出一个大的命题,所有的汽车都有轮胎,
其次,我们再给出一个小的命题,特斯拉是汽车
请问:特斯拉有没有轮胎?
结论很简单,既然特斯拉属于汽车,那么它毫无例外的,应该也有轮胎。
我们刚才所使用的推理方法,是演绎推理当中,最经典的三段论。
先有一个大前提,
所有m(汽车)是p(有轮胎),
然后再来个小前提,s(特斯拉)是m(汽车),
因此,s(特斯拉)是p(有轮胎)
一旦掌握了这个方法,我们就可以拿它来学习一些专业问题了。
例如
给出一个大命题:所有的程序都运行在内存中
给出一个小命题:操作系统是程序
我们可以再次根据三段论,推出,操作系统也运行在内存中。
你看,即便你没有专业的背景知识,学起来也毫不费力。这种推理方法你平时也会经常使用,只是你从来都没发现......
来源:千锋html5
本文出自 “汪秦凯” 博客,请务必保留此出处http://wangqingkai.blog.51cto.com/9235701/1982060
以上是关于逻辑思维和编程的关系的主要内容,如果未能解决你的问题,请参考以下文章