如今,學(xué)習(xí)編程已經(jīng)變得越來越熱門,越來越多的人都在討論這個話題,但還是有很多人會產(chǎn)生這樣的疑問:到底有沒有必要學(xué)習(xí)編程?討論這個問題,我覺得可以從學(xué)習(xí)編程的好處和用處這兩個方面來分析一下。
好處
喬布斯有句名言:人人都應(yīng)該學(xué)習(xí)編程,它將教會你如何思考。相信很多人都已經(jīng)很熟悉這句話了,那編程是怎樣幫助我們思考的呢?
抽象化
抽象化絕對是編程提供給我們的最有力的武器,那什么叫抽象化呢?我們舉個例子,排隊是怎么回事?排隊說到底,就是一個先進先出,后進后出的模式,這個模式不受排隊的是老人還小孩,隊伍的長短這些表象的事物所影響,提煉出事物的模式,就叫做抽象化。
在編程中,無論你是要設(shè)計一個游戲,還是設(shè)計一個網(wǎng)頁,都要不斷地提煉各種模式,你也會在這個過程中積累大量的模式。經(jīng)過這樣一種抽象化的練習(xí)之后,你會獲得一種快速洞察事物的本質(zhì)的能力,在分析各種問題時也能快速找到問題的本質(zhì),從而提升解決問題的能力。
結(jié)構(gòu)化
編程中的結(jié)構(gòu)化是指將一個復(fù)雜的問題拆解成一個個獨立的子問題,形成一個個模塊,再將這些模塊組合在一起,形成完整的方案。
雖然編程不是鍛煉結(jié)構(gòu)化唯一的方法,但卻是鍛煉結(jié)構(gòu)化非常有力的工具。因為你在編程中可以真切的體驗到結(jié)構(gòu)化帶來的好處,它不僅能讓你的思路更清晰、讓調(diào)試更容易、還能提高程序的復(fù)用率。在不斷體會結(jié)構(gòu)化力量的同時,它也形成了你的思維方式,幫你在思考其他問題時更高效。
調(diào)試
前面我們已經(jīng)提到了調(diào)試,它是編程里的一個專業(yè)術(shù)語,是指在程序出錯時,找到錯誤,把它修復(fù)好??雌饋砗孟袷呛芷匠J且患?,但請仔細想一下,在我們的現(xiàn)實生活中如果犯了錯誤,會怎么樣呢?現(xiàn)實社會的價值觀中并不歡迎錯誤,所以造成很多孩子無法面對失敗,沒有從失敗中學(xué)習(xí)的能力。
在編程的世界中則不一樣,很少有程序能一次成功,反復(fù)出錯,反復(fù)修改都是再正常不過的事情了。出現(xiàn)問題時,大家都會馬上尋找錯誤、分析錯誤、改正錯誤,正如Seymour Parert 所說:“在過程中不斷的修正才是智力活動的精髓?!?我找不到一個比編程世界更包容錯誤,更鼓勵在錯誤中學(xué)習(xí)的環(huán)境了,在這樣的環(huán)境中,孩子不僅可以學(xué)會從容地面對失敗,他們的思考能力也在不斷迭代更新。
讓思維可見
編程是一個讓我們的思維可見化的過程。不論是從最開始的流程圖、時序圖,還是到最后將我們的思維變成代碼,都是將我們腦袋里的想法變成可見的事物的過程。
那讓思維可見有什么好處呢?當(dāng)我們把自己腦袋中的想法變成可看到的事物時,我們才能抓住它們,然后理解它們、審視它們,最后改進它們,完成思考能力的提升。
這就是編程教我們思考的方式,經(jīng)過在編程世界的練習(xí),它們會變成我們思維中的助推器,在我們面對各種挑戰(zhàn)時,幫助我們擁有更強大的思考能力。
用處
如果前面這些在思維方面給我們帶來的好處還沒有打動你的話,我們再來看看學(xué)會編程后,都有哪些用處吧。在很多人的印象中,學(xué)習(xí)編程只有一個用處就是成為程序員,其實除了當(dāng)程序員,學(xué)會編程還有很多其他的用處。
處理數(shù)據(jù)
都說現(xiàn)在是一個信息的時代,我們每天接觸到的各種信息越來越多,在未來更會是一個數(shù)據(jù)爆炸的世界。我們做的很多事情都離不開數(shù)據(jù),所以如何運用數(shù)據(jù)也會成為一種生產(chǎn)力。
而編程在搜集數(shù)據(jù)、處理數(shù)據(jù)、利用數(shù)據(jù)等方面,都能起到非常大的作用,短短的一段程序,就能幫你節(jié)省數(shù)小時的時間。學(xué)會編程后,很多你覺得永遠不可能完成的任務(wù),輕輕松松就搞定了,這就是編程的力量。
創(chuàng)造工具
設(shè)想一下,假如你的工作中有一些像每天定時發(fā)送郵件或者批量修改圖片的大小這樣重復(fù)性的無聊的工作,你是不是很希望能有一個小工具來幫你完成這一切,只要輕輕一點,計算機就會幫你快速完成這些工作。
可能你會想,我直接用別人開發(fā)的工具就好了啊,但隨著我們工作復(fù)雜性的提高,每個人的需求可能都會不一樣,你很難找到完全符合自己要求的工具,不如自己根據(jù)自己的需求定制工具,當(dāng)需求發(fā)生變化時,還可以自己修改。掌握了這種能力,可以大大提升你的工作效率,還能減少無聊工作帶給你的不好的情緒,讓你成為工作的主人。
計算機是我們?nèi)祟愖顝姶蟮墓ぞ?,通過編程你才能更好地控制這個工具,發(fā)揮出它的價值,讓它真正為你所用。都說未來是人工智能的世界,在未來到來之前,對它多一些了解,在它真的來到時,你才能更好地擁抱它。