文/夏小忧
我最近不是在准备普通话等级考试嘛,所以每天都要抽出时间矫正自己的发音,把教材上的题目拿出来练习,朗诵短文的时候看到这样一个小故事:
同龄人阿诺德和布鲁诺同时受雇于一家店铺,刚刚工作时,两人的薪水是一样的,可过了一段时间后,阿诺德受到了老板的器重,职位升了,薪水也涨了,可布鲁诺却依旧原地踏步,布鲁诺觉得老板特别不公平,心里很是愤愤不平。
有一天,布鲁诺实在憋不住了,敲开老板办公室的大门,跟老板说出了自己的不满,老板耐心听他吐完苦水,不露声色地说道:“布鲁诺先生,您现在到集市上去一下,看看今天早上有什么卖。”
一段时间过后,布鲁诺从集市上回来了,跟老板汇报道:“今早只有卖土豆的。”
“有多少?”老板问。
布鲁诺听完又出发去了集市,然后回来告诉老板集市上的土豆共有四十袋。
“什么价格?”老板又问。
布鲁诺再一次去了集市,问完价格回来向老板汇报。
“这样,你坐在这,什么也不要说,看看阿诺德会怎么做。”老板对布鲁诺说。
老板同样对阿诺德说:“看看集市上都有什么卖。”
阿诺德很快就从集市上回来了,他告诉老板,现在集市只有一个农民在卖土豆,一共四十袋,价格是多少,土豆很新鲜,他还带了一个土豆回来给老板看看。另外,打听到这个农民待会儿还会弄来几箱西红柿来卖,报价也很公道,阿诺德说自己看店铺昨天西红柿销量很好,库存又不多了,这么便宜的西红柿、老板肯定会要进一些,所以他不仅带回了一个西红柿样品,还把那个农民也一起带来了,他现在就在外面等回话呢。
阿诺德汇报完毕,老板转向布鲁诺,只说了一句话:“现在您知道为什么阿诺德的薪水比您高了吧!”
图片来自花瓣网职场中,像布鲁诺这样的人一定不在少数,他们自认为兢兢业业、勤勤恳恳,却总是跟升职、加薪这样的好事擦肩而过,是他们不努力吗?是他们智商不够吗?其实都不是,说白了是他们缺乏洞悉问题、解决问题的能力。
我相信,每一个老板都喜欢阿诺德那样的员工,因为他们不仅能力强,逻辑思考的能力也很强,只要老板点拨一下,就能把问题漂漂亮亮解决,员工如此,夫复何求?
那么问题来了,如何才能成为这样一个人见人爱、被老板器重的香饽饽呢?
首先,能力和努力肯定是一个优秀职场人士必备的因素,这里就不过多阐述了。今天,我想重点说的是如何习得解决问题的能力:学会编程思维就可以实现。
苹果创始人史蒂夫·乔布斯曾说过:我觉得每一个人都应该学习如何编程,因为编程能够教会你如何思考。
那么,显而易见,这三者之间的关联是这样递进的:会编程→学会思考→解决问题。
新的问题又出现了,那作为对编程一窍不通的我们,要怎样才可以学习并掌握编程思维呢?我们又不是程序员,编程那么复杂,这不是开玩笑吗?
其实对于编程,作为外行人士的我,也一直持有以上的偏见和误解,直到最近看了本相关的书《写给所有人的编程思维》,起初是因为看它的上架建议一栏写的是:青少年读物,并且封面的副标题明确写着:“培养孩子的逻辑思维能力,释放孩子的创造力,让孩子掌握解决问题的元技能”,纳尼?孩子都能看得懂的编程书?那作为成年人的我还在怕什么啊?来啊,谁怕谁啊!
等了几天快递,终于等到了这本人生中的第一本编程书。不得不说,为了让孩子看得懂,作者和创作团队也真是很用心了,《写给所有人的编程思维》没有一上来就大聊特聊编程,而是通过循序渐进的方式逐步深入,让对编程一无所知的大人和孩子也能够对“编程”产生兴趣,并慢慢理解“何为编程”“如何通过运用编程思维来解决问题”“编程的形式以及相关规则”等等,正如封面上宣传的那样“每个人都可以学会编程思维,甚至不需要一台电脑”。
本书作者吉姆·克里斯蒂安,是英国著名科技教育专家,编程怪才,畅销书作家,拥有20多年科技教育和国际教学经验,曾获Dr.Dobb's程序设计卓越奖,并先后出版过好几本跟编程相关的书籍,在教人学编程方面可以说是相当有发言权了。
但尽管如此,相信对编程一无所知的人,面对再专业的讲解,也还是会眼冒金星,昏昏欲睡,譬如我,《写给所有人的编程思维》就成功地避免了这种情况的发生,全书用丰富的图片和鲜艳的色彩给读者解乏,让编程学习变得趣味十足,寓教于乐的形式,不仅吸引孩子,连大人也会被牢牢吸引住。
像书中时不时就会出现的“你知道吗”,就像一个个课外小学堂,既能给我们普及编程相关的知识,起到中场休息的作用,还可以对编程小白起到激励作用,真的是特别棒的设计呢。
那《写给所有人的编程思维》究竟都讲了些什么呢?一起来看看。
一、学习编程能做些什么?
惭愧地说,以前,基于一些刻板印象,我以为只有要做程序员才需要学习编程。
开始对编程产生兴趣是基于这几年,很多新闻还有网上的文章都有提及,外国的很多小孩都开始学习编程了,因为人工智能时代正在到来,未来不会编程就跟现在不会上网一样,简直寸步难行。
像张泉灵的儿子,9岁开始学习编程,不但会自己编写一些市面上不太复杂的游戏,还会修改后台数据碾压老妈,让人不得不感叹:“会编程的孩子也太吓人了吧!”
还有美国前总统奥巴马,据说他的孩子也开始学习编程了,在一次采访中,奥巴马甚至懊恼地表示,学习编程应该从娃娃抓起,开始认识ABCD和颜色的时间就可以开始学了,女儿的起步太晚了。
我不由得陷入思考:学会编程究竟能干吗?
《写给所有人的编程思维》给了我答案:编程的过程既有趣、能表达自我,还具有创造性,是锻炼大脑、培养创造性思维的好方式。不仅如此,当你面对某个很喜欢的游戏或者App时,会编程的话,你还可以按照自己的喜好改进它,而不必一味忍耐某些惹人烦的bug;最重要的是,在学习编程的过程中,遇到问题,我们也会更加懂得批判性地思考问题,而不是过于依赖各种搜索引擎。
学会编程,不仅仅可以做程序员,也可以运用到各种其他工作中,甚至是生活的方方面面,或者说,学会编程,可以更快速地解决各种问题,不论你是艺术家、公司总裁、板球手,科学家,哪怕是孩子,学会编程思维,都可以让它为你服务。
二、何利用编程思维解决问题?
有人说过,生活就是一个不断地遇到问题,然后解决问题的过程。
解决问题固然具有挑战性,并且,积极地解决问题还会锻炼我们的大脑,从而提高我们的记忆力和反应能力,可谓有百利而无一害。但经常解决问题却会使人感到疲惫,尤其遇到突发状况、遇到一些特别复杂的问题,我们很可能会气馁、垂头丧气。
编程思维告诉我们,遇到再复杂的问题,都可以将它分解成以下三步来解决:
1. 弄清楚到底是什么问题。
2. 思考问题的不同解决方法。
3. 验证所考虑的不同解决方法。
其实生活就跟编程一样,再复杂的程序(问题)都是由一个个代码(小问题)组成的,只要我们遇事不慌张,冷静地将复杂的事情分解成更小、更易理解的部分,再去一一解决,再复杂的程序(问题)都可以得到修复(解决)。
难的可能不是问题本身,而是我们如何思考。
就拿化学这门功课举例,如果空泛地讲述物质的化学成分,我们会很难理解,于是科学家们想出将所有物质的化学成分以及它们的体态分解为元素周期表中的各种元素这样的方法,通过元素周期表这张围观图,我们就可以更好地认识化学物质了。
图片来自花瓣网其实这就是典型的编程思维,把复杂的、不易理解的化学物质,拆解成简单的、便于理解的各种元素。
总之,编程就是要简单。要想灵活运用好编程思维,务必谨记:把任何复杂的问题都拆解成具体的、便于执行的步骤,问题自然迎刃而解。
三、了解、学习、运用编程思维
编程说白了就是,想办法将人的意图、行动转化为计算机能够识别、执行的代码的一个过程。因为计算机无法理解人类的用意,除非我们明明白白告诉它,编程就是我们将用意告诉计算机的一种有效手段。
书中作者用给机器人小智发出指令做奶酪三明治的实验,给我们演示了如何运用编程思维拆解问题,将每一个步骤都尽可能具体,小智就越容易完成这些指令,并将错误率降低到最小。
涂抹三明治这样一个简单的事情,竟然可以拆解成15个具体的小步骤!
是不是很不可思议?这就是编程思维的奥妙所在,高效不仅在于所占步骤更少,更在于每一个步骤都有意义,小智完成这15个步骤的指令,不过花了3分钟不到的时间,这就是高效。
编程思维,要求我们耐心地拆解复杂的问题,拆解得越详细越好,因为只有我们认识到问题出在哪里,才能更高效地对症下药,更精准地解决问题,将效率最大化!
对了,书中还有很多脑洞大开的趣味小游戏,让我们一边学习新的思维能力,一边在游戏里发掘、活跃我们原本的思维,这种形式很新奇,也很有趣,更能锻炼我们的思考能力,让我们可以更快更好地掌握编程思维,学以致用,去解决生活中遇到的各种难题。
像数独、钓鱼游戏、不可思议的铜币、雪人游戏、茶壶游戏、答案永远为3、我要打包行李、魔力8球......真的都有意思极了!用玩游戏的形式,教我们如何运用编程思维,大概也只有这本编程书会这么做了。
《写给所有人的编程思维》告诉我们,任何事物都可以运用编程思维的方式进行思考。并且,编程不难学,不论你是9岁的孩子,还是90岁高龄的老者,都可以学习编程。
要想快速解决好生活中、职场中层出不穷的问题,编程思维不可不学!
网友评论