文/夏小憂
我最近不是在準備普通話等級考試嘛,所以每天都要抽出時間矯正自己的發(fā)音,把教材上的題目拿出來練習,朗誦短文的時候看到這樣一個小故事:
同齡人阿諾德和布魯諾同時受雇于一家店鋪,剛剛工作時,兩人的薪水是一樣的,可過了一段時間后,阿諾德受到了老板的器重,職位升了,薪水也漲了,可布魯諾卻依舊原地踏步,布魯諾覺得老板特別不公平,心里很是憤憤不平。
有一天,布魯諾實在憋不住了,敲開老板辦公室的大門,跟老板說出了自己的不滿,老板耐心聽他吐完苦水,不露聲色地說道:“布魯諾先生,您現(xiàn)在到集市上去一下,看看今天早上有什么賣?!?/p>
一段時間過后,布魯諾從集市上回來了,跟老板匯報道:“今早只有賣土豆的?!?/p>
“有多少?”老板問。
布魯諾聽完又出發(fā)去了集市,然后回來告訴老板集市上的土豆共有四十袋。
“什么價格?”老板又問。
布魯諾再一次去了集市,問完價格回來向老板匯報。
“這樣,你坐在這,什么也不要說,看看阿諾德會怎么做?!崩习鍖Σ剪斨Z說。
老板同樣對阿諾德說:“看看集市上都有什么賣?!?/p>
阿諾德很快就從集市上回來了,他告訴老板,現(xiàn)在集市只有一個農(nóng)民在賣土豆,一共四十袋,價格是多少,土豆很新鮮,他還帶了一個土豆回來給老板看看。另外,打聽到這個農(nóng)民待會兒還會弄來幾箱西紅柿來賣,報價也很公道,阿諾德說自己看店鋪昨天西紅柿銷量很好,庫存又不多了,這么便宜的西紅柿、老板肯定會要進一些,所以他不僅帶回了一個西紅柿樣品,還把那個農(nóng)民也一起帶來了,他現(xiàn)在就在外面等回話呢。
阿諾德匯報完畢,老板轉(zhuǎn)向布魯諾,只說了一句話:“現(xiàn)在您知道為什么阿諾德的薪水比您高了吧!”

職場中,像布魯諾這樣的人一定不在少數(shù),他們自認為兢兢業(yè)業(yè)、勤勤懇懇,卻總是跟升職、加薪這樣的好事擦肩而過,是他們不努力嗎?是他們智商不夠嗎?其實都不是,說白了是他們?nèi)狈Χ聪栴}、解決問題的能力。
我相信,每一個老板都喜歡阿諾德那樣的員工,因為他們不僅能力強,邏輯思考的能力也很強,只要老板點撥一下,就能把問題漂漂亮亮解決,員工如此,夫復何求?
那么問題來了,如何才能成為這樣一個人見人愛、被老板器重的香餑餑呢?
首先,能力和努力肯定是一個優(yōu)秀職場人士必備的因素,這里就不過多闡述了。今天,我想重點說的是如何習得解決問題的能力:學會編程思維就可以實現(xiàn)。
蘋果創(chuàng)始人史蒂夫·喬布斯曾說過:我覺得每一個人都應該學習如何編程,因為編程能夠教會你如何思考。
那么,顯而易見,這三者之間的關聯(lián)是這樣遞進的:會編程→學會思考→解決問題。
新的問題又出現(xiàn)了,那作為對編程一竅不通的我們,要怎樣才可以學習并掌握編程思維呢?我們又不是程序員,編程那么復雜,這不是開玩笑嗎?

其實對于編程,作為外行人士的我,也一直持有以上的偏見和誤解,直到最近看了本相關的書《寫給所有人的編程思維》,起初是因為看它的上架建議一欄寫的是:青少年讀物,并且封面的副標題明確寫著:“培養(yǎng)孩子的邏輯思維能力,釋放孩子的創(chuàng)造力,讓孩子掌握解決問題的元技能”,納尼?孩子都能看得懂的編程書?那作為成年人的我還在怕什么???來啊,誰怕誰??!
等了幾天快遞,終于等到了這本人生中的第一本編程書。不得不說,為了讓孩子看得懂,作者和創(chuàng)作團隊也真是很用心了,《寫給所有人的編程思維》沒有一上來就大聊特聊編程,而是通過循序漸進的方式逐步深入,讓對編程一無所知的大人和孩子也能夠?qū)Α熬幊獭碑a(chǎn)生興趣,并慢慢理解“何為編程”“如何通過運用編程思維來解決問題”“編程的形式以及相關規(guī)則”等等,正如封面上宣傳的那樣“每個人都可以學會編程思維,甚至不需要一臺電腦”。
本書作者吉姆·克里斯蒂安,是英國著名科技教育專家,編程怪才,暢銷書作家,擁有20多年科技教育和國際教學經(jīng)驗,曾獲Dr.Dobb's程序設計卓越獎,并先后出版過好幾本跟編程相關的書籍,在教人學編程方面可以說是相當有發(fā)言權(quán)了。
但盡管如此,相信對編程一無所知的人,面對再專業(yè)的講解,也還是會眼冒金星,昏昏欲睡,譬如我,《寫給所有人的編程思維》就成功地避免了這種情況的發(fā)生,全書用豐富的圖片和鮮艷的色彩給讀者解乏,讓編程學習變得趣味十足,寓教于樂的形式,不僅吸引孩子,連大人也會被牢牢吸引住。
像書中時不時就會出現(xiàn)的“你知道嗎”,就像一個個課外小學堂,既能給我們普及編程相關的知識,起到中場休息的作用,還可以對編程小白起到激勵作用,真的是特別棒的設計呢。



那《寫給所有人的編程思維》究竟都講了些什么呢?一起來看看。
一、學習編程能做些什么?
慚愧地說,以前,基于一些刻板印象,我以為只有要做程序員才需要學習編程。
開始對編程產(chǎn)生興趣是基于這幾年,很多新聞還有網(wǎng)上的文章都有提及,外國的很多小孩都開始學習編程了,因為人工智能時代正在到來,未來不會編程就跟現(xiàn)在不會上網(wǎng)一樣,簡直寸步難行。
像張泉靈的兒子,9歲開始學習編程,不但會自己編寫一些市面上不太復雜的游戲,還會修改后臺數(shù)據(jù)碾壓老媽,讓人不得不感嘆:“會編程的孩子也太嚇人了吧!”
還有美國前總統(tǒng)奧巴馬,據(jù)說他的孩子也開始學習編程了,在一次采訪中,奧巴馬甚至懊惱地表示,學習編程應該從娃娃抓起,開始認識ABCD和顏色的時間就可以開始學了,女兒的起步太晚了。
我不由得陷入思考:學會編程究竟能干嗎?

《寫給所有人的編程思維》給了我答案:編程的過程既有趣、能表達自我,還具有創(chuàng)造性,是鍛煉大腦、培養(yǎng)創(chuàng)造性思維的好方式。不僅如此,當你面對某個很喜歡的游戲或者App時,會編程的話,你還可以按照自己的喜好改進它,而不必一味忍耐某些惹人煩的bug;最重要的是,在學習編程的過程中,遇到問題,我們也會更加懂得批判性地思考問題,而不是過于依賴各種搜索引擎。
學會編程,不僅僅可以做程序員,也可以運用到各種其他工作中,甚至是生活的方方面面,或者說,學會編程,可以更快速地解決各種問題,不論你是藝術家、公司總裁、板球手,科學家,哪怕是孩子,學會編程思維,都可以讓它為你服務。
二、何利用編程思維解決問題?
有人說過,生活就是一個不斷地遇到問題,然后解決問題的過程。
解決問題固然具有挑戰(zhàn)性,并且,積極地解決問題還會鍛煉我們的大腦,從而提高我們的記憶力和反應能力,可謂有百利而無一害。但經(jīng)常解決問題卻會使人感到疲憊,尤其遇到突發(fā)狀況、遇到一些特別復雜的問題,我們很可能會氣餒、垂頭喪氣。

編程思維告訴我們,遇到再復雜的問題,都可以將它分解成以下三步來解決:
1. 弄清楚到底是什么問題。
2. 思考問題的不同解決方法。
3. 驗證所考慮的不同解決方法。
其實生活就跟編程一樣,再復雜的程序(問題)都是由一個個代碼(小問題)組成的,只要我們遇事不慌張,冷靜地將復雜的事情分解成更小、更易理解的部分,再去一一解決,再復雜的程序(問題)都可以得到修復(解決)。
難的可能不是問題本身,而是我們?nèi)绾嗡伎肌?/p>
就拿化學這門功課舉例,如果空泛地講述物質(zhì)的化學成分,我們會很難理解,于是科學家們想出將所有物質(zhì)的化學成分以及它們的體態(tài)分解為元素周期表中的各種元素這樣的方法,通過元素周期表這張圍觀圖,我們就可以更好地認識化學物質(zhì)了。

其實這就是典型的編程思維,把復雜的、不易理解的化學物質(zhì),拆解成簡單的、便于理解的各種元素。
總之,編程就是要簡單。要想靈活運用好編程思維,務必謹記:把任何復雜的問題都拆解成具體的、便于執(zhí)行的步驟,問題自然迎刃而解。
三、了解、學習、運用編程思維
編程說白了就是,想辦法將人的意圖、行動轉(zhuǎn)化為計算機能夠識別、執(zhí)行的代碼的一個過程。因為計算機無法理解人類的用意,除非我們明明白白告訴它,編程就是我們將用意告訴計算機的一種有效手段。
書中作者用給機器人小智發(fā)出指令做奶酪三明治的實驗,給我們演示了如何運用編程思維拆解問題,將每一個步驟都盡可能具體,小智就越容易完成這些指令,并將錯誤率降低到最小。
涂抹三明治這樣一個簡單的事情,竟然可以拆解成15個具體的小步驟!

是不是很不可思議?這就是編程思維的奧妙所在,高效不僅在于所占步驟更少,更在于每一個步驟都有意義,小智完成這15個步驟的指令,不過花了3分鐘不到的時間,這就是高效。
編程思維,要求我們耐心地拆解復雜的問題,拆解得越詳細越好,因為只有我們認識到問題出在哪里,才能更高效地對癥下藥,更精準地解決問題,將效率最大化!
對了,書中還有很多腦洞大開的趣味小游戲,讓我們一邊學習新的思維能力,一邊在游戲里發(fā)掘、活躍我們原本的思維,這種形式很新奇,也很有趣,更能鍛煉我們的思考能力,讓我們可以更快更好地掌握編程思維,學以致用,去解決生活中遇到的各種難題。
像數(shù)獨、釣魚游戲、不可思議的銅幣、雪人游戲、茶壺游戲、答案永遠為3、我要打包行李、魔力8球......真的都有意思極了!用玩游戲的形式,教我們?nèi)绾芜\用編程思維,大概也只有這本編程書會這么做了。



《寫給所有人的編程思維》告訴我們,任何事物都可以運用編程思維的方式進行思考。并且,編程不難學,不論你是9歲的孩子,還是90歲高齡的老者,都可以學習編程。
要想快速解決好生活中、職場中層出不窮的問題,編程思維不可不學!