有時候我們需要把文件夾里面所有的mp3文件移動到另外一個文件夾,因為這個文件夾文件比較多比較雜,想分個類,假如我們手動一個個去移動,那是非常麻煩的,而如果稍微學過一點編程,一行命令就可以解決了。我們這里不講實際操作,有興趣的可以去google或者百度。這其實只是學習編程的一個最基本的好處而已。
編程的初衷:自動化
自動化也是發明計算機的初衷,自動化讓我們可以把事情做得又快又好,我們把做事情的流程寫下來,讓計算機去執行這些操作,但是我們不是用漢語當然也不是用英語記錄,我們用的是編程語言,它比自然語言(漢語、英語等)語法更為嚴格,計算機更容易看得懂,然后它才能去執行我們的命令。這樣就帶來一個好處,只要我清楚做事情A的流程,我把它記錄成程序,以后每次要做A的時候,我只要對計算機說,你去做A,計算機就會把所有流程走一遍,中間不需要人力的介入,于是我們就把事情A自動化了,可以騰出更多時間做更重要的事情。
比如說超市的前臺結賬系統,營業人員只需要把每個物品刷一下,就可以很容易地計算出最終價格,這些都是計算機做的,包括識別物品條碼,計算總價;假設沒有這個系統,營業人員需要把所有物品人工識別一下,然后查找一下對應的價格,最后把所有的價格加起來,不得不說這樣人工成本太高。
總之編程可以讓我們把生活中常見的問題自動化,省時又省力。
邏輯思維能力的完善
上面提到我們可以把流程記錄下來,然后讓計算機去執行。這樣會出現一個問題,當我們對流程的理解有一點點錯誤的時候,最終執行結果都可能會出問題,因為計算機畢竟不是人,人在執行過程中出現錯誤可以及時更正,而計算機只會按照你說的做,即使你是胡說八道。所以要想寫出沒有bug的程序,我們的編程邏輯不能有任何漏洞,編程能提升我們的邏輯思維能力。
思維的提高
除此之外,編程還可以讓我們的思維升級,通過編程我學會的一個最重要的概念就是模塊化思維,而由此延伸出架構圖和流程圖,這些都是非常重要的知識,他們可以被應用到大部分領域,當然編程讓我學會了很多很多,接下來主要講講模塊化思維。
模塊化思維
為什么軟件工程中能提出模塊化思維?一個大型系統軟件動輒百萬行代碼,如果這些代碼沒有被組織起來,就會是一團亂麻、一堆垃圾,這個軟件將變得不可維護,我猜前輩們就是在通過大量的試驗后提出了這個理論。
那什么是模塊化思維呢?我們把這個系統分解成幾個子系統,然后我們只需要把子系統的邊界分清楚,了解各個子系統之間的聯系和交互,就能大致了解整個系統是如何運轉的,子系統太大就繼續細分下去,直到足夠小為止。
比如要大致了解一個公司的運轉原理,我們只需要知道公司有幾個部門,每個部門是干啥的,部門之間有什么關系,他們是怎么溝通的。
再比如說我們要寫一篇文章,我們可以用總分總結構,就是把文章分為3個模塊,然后“分”的部分又可以繼續細分為好幾個分論點去支持總的主題,然后完善每個分論點,一篇文章就完成了。
架構圖和流程圖的作用是用圖片直觀地呈現出來一個復雜系統,它們是建立在模塊化的基礎之上的,基本上只要把架構圖和流程圖畫出來,就能讓別人比較容易地了解整個系統,這里就不具體講了。
總結
總之編程既能提升日常工作的效率,又能提升思維水平,它確實值得我們每一個人去學習。