現(xiàn)如今,編程的重要性不言而喻,很多早教班都開設(shè)了編程課,學(xué)編程已經(jīng)開始從娃娃抓起了。但在《學(xué)習(xí)的升級》中作者認(rèn)為,編程本身并不重要,比別人多掌握幾種編程語言也沒有太大用處,這些東西始終在更替,你是學(xué)不完的,關(guān)鍵在于掌握“編程思維”。
所謂編程,就是人們用簡單的指令告訴計算機(jī)怎么做事。而編程思維,就是說你要學(xué)會用計算機(jī)思考的方式來觀察和理解世界:一方面是說在遇到問題的時候,用學(xué)會計算機(jī)聽得懂的指令,讓它幫你解決問題;另一方面是說要學(xué)會像給計算機(jī)下達(dá)指令一樣,給自己的大腦下指令,對問題進(jìn)行
分析思考,從而解決問題。
計算機(jī)是怎么做事的?
表面上看,計算機(jī)很厲害,可以做很多事情,但計算機(jī)的厲害是通過你給出的指令完成的。你給的指令越簡單,它能做的事情就越復(fù)雜。比如你想讓機(jī)器人給你煎個雞蛋,你不能像跟人說話一樣跟它說:“你去煎一個雞蛋!”你的編程指令應(yīng)該是這樣的:“你先把油放到鍋里,油溫100度時把雞蛋放進(jìn)去,然后等待10秒,給雞蛋翻個面,再等待10秒,最后拿出來放在盤子里。”計算機(jī)能夠接受的,是這種形式的簡單命令,在計算機(jī)學(xué)科里,這就叫指令。
計算機(jī)是很死板的。如果你把指令寫錯了,比如你說,先放雞蛋再放油,那么計算機(jī)就真的會先放雞蛋再放油,它不會自己改過來的。如果你聽說哪個很聰明的計算機(jī)自己會改錯,其實是因為背后又有很多其他的指令幫助它判斷如何去改錯。一個程序就是一系列這樣簡單的、能讓計算機(jī)理解的指令。
如何運(yùn)用編程思維解決問題?
懂得編程思維,就是知道應(yīng)該怎么把命令告訴計算機(jī)。換句話說,當(dāng)你能用計算機(jī)理解的方法去想事情、能用程序把自己的想法表現(xiàn)出來,那么你就能夠讓計算機(jī)為你做事了。
當(dāng)然,你可能不是程序員,從事的工作跟編程的關(guān)系也不大,但是懂得編程思維同樣也會給你帶來看待問題的新視角。比如我們熟知的
“分解問題”就是編程思維的一個基本原理,就是把一個大問題分解成計算機(jī)可以運(yùn)作的小問題,然后讓它逐步完成。
在任何工作中,幾乎所有事情都可以從大問題分解成小問題。比如說老師給學(xué)生布置作業(yè),讓他寫一篇文章,那么這個問題可以分解成收集資料、寫提綱、寫初稿、修改、定稿等。當(dāng)然每一步還可以繼續(xù)往下分解。
把大問題拆成小問題,這個過程聽起來簡單,但做起來其實是非常細(xì)致的。你需要回答的問題包括:這件事怎么分步驟來做?這件事可以分成幾步?哪些大步可以再分成小步?哪些可以同時做?哪些不能同時做?哪些可以找別人來做?哪些步驟需要有條件才能做?這個條件是什么?
當(dāng)你學(xué)會這樣分析問題的時候,你就很像一臺計算機(jī)了,你學(xué)會了正確地給自己的大腦下指令,這就是編程思維重要的真正原因。
文/速讀G先生