編程思維”不是編寫程序的技巧,而是一種有效解決問題的思維方式。 “編程思維”是“理解問題 - 尋找路徑”的思維過程。 它由四個步驟組成:“分解 - 識別模式 - 抽象 - 算法”幾個步驟組成:
1、分解:把一個復雜的大問題,拆解成更可執(zhí)行、更好理解的小步驟。復雜問題很難一下子,但如果把它細分成很多個小問題,逐步解決,就容易多了。比如,破案。找出犯罪分子可不是件容易的事。但通常警察都會通過搞懂一系列相關(guān)的小問題破案,包括:發(fā)生了什么犯罪,什么時間,什么地點,有什么證據(jù),有沒有目擊者,近、附近是否有相似案件發(fā)生等等。 通過拆解問題,可以深入了解犯罪的過程、細節(jié),獲得大量信息。而理解是解決的步。
2、模式識別:找出相似模式,解決細分問題。這點至關(guān)重要。識別模式,意味著新問題變成了老問題,我們在經(jīng)驗庫里搜索以往的類似問題及解決方法,套用解決。識別的模式越多,解題的速度就越快。舉個例子:假如你需要畫100只貓,你會怎么辦?找100只貓來挨個臨摹?還是找出貓的“模式”?如果是后者,你可能想知道貓有長毛,眼睛,尾巴和四條腿。然后,根據(jù)這個“模式”,你可以批量“畫”貓 - 你不必每次都畫一個新的動物,你只需要改變局部的特征:黃白條的貓還是黑貓,長尾巴的貓還是短尾貓。
3、抽象:聚焦重要的信息,忽視無用細節(jié)。這是一個過濾的過程,通過認知問題的核心本質(zhì),幫助我們形成解決問題的構(gòu)想。然后,以貓的繪畫為例,我們了解貓的特征,并基于這些抽象的特征,我們可以形成關(guān)于貓的整體設(shè)想并制作模型。
4、算法:設(shè)計一步一步的解決路徑,解決整個問題。通過這4個步驟,一個棘手的復雜問題先被拆解成一系列好解決的小問題;每一個小問題被單獨檢視、思考,尋找解決方案; 然后,關(guān)注幾個重要節(jié)點,忽略小細節(jié),形成解決方案; 后,設(shè)計步驟,執(zhí)行 - 解決問題。
所以,所謂“編程思維”并不是編寫程序的技巧,更不是長大了要去修電腦,而是一種解決問題的思維方式,以后無論是學習、考學、工作都用的上,不當程序員也用得上。