什麼是編程?大道之行也,「編程」為公

什麼是編程?大道之行也,「編程」為公

什麼是「編程思維」

我做少兒編程之後,對「編程」有了新的理解,我從來一直都很在意「因果」關係,我相信「任何物體都有存在的意義」,對於「編程」,我覺得歸根結底,其核心在於「編程思維」。

「編程思維」是什麼?猛一看,感覺很抽象,其實可以很簡單的解釋:「編程思維」就是解決實際問題的方法,一種如何分析問題、拆解問題、思考和解決問題的思想。

舉個生活中最常見也最簡單的例子吧:

你會做飯嗎?(我會(偷笑表情),現在哪個男孩不會做飯呀是吧)

你做飯的時候是否要考慮以下這些問題:

  • 吃米還是吃面?
  • 幾個人吃?
  • 炒不炒菜?
  • 幾個熱菜幾個冷盤?
  • 放什麼調料?
  • 放多少調料? ···

那以上這些分析的過程就叫「編程思維」,就是用來解決「做飯」這個問題的方法。

什麼是「編程」

那什麼是「編程」呢?

原諒我把對「編程」的解釋放到了最後,重頭戲嘛,還是壓軸比較好,如果你是誠心來了解「編程」的,那前面的這些資訊對你了解「編程」有著莫大的好處。

我接著用「做飯」的問題來講解「編程」。

會做飯的你天天做飯,也是煩了,想偷個懶。

假如你家裡現在有一個機器人,這個機器人除了沒「腦子」之外,別的像胳膊、腿、手等鐵器官都齊全。如果你要是有能力把你「做飯」的技能教給機器人,那你無異於收了個很勤快的徒弟。

怎麼教?

你說「人話」機器人聽不懂(這個機器人不是智慧的那種哈,是真的聽不懂「人話」的那種,可別給我在這鑽牛角尖),這個機器人只能聽懂「程式語言」(就跟漢語字樣一樣,就是個名字而已,別看到這個詞就覺得好難啊,別太入戲,就是機器人能聽懂的語言的名字,僅此而已)。

那你要教機器人,首先你要考慮的是如何跟機器人溝通的問題,別考慮啦,就像跟老外溝通要學英語一樣,你先學學「程式語言」吧,學會了,就能教了。至於「程式語言」是什麼?要怎麼學的問題不是我本篇文章的重點,也不是你沒了解「編程」之前要了解的重點,僅僅把「程式語言」當成個像「漢語」、「英語」一樣的名字就 OK 了。

再假如此時的你已經學會了「程式語言」,那就到考驗你「會不會教」的時候了,再強調一次,機器人是「沒腦子」的,所以你在教的時候,大到每個流程框架(先幹什麼,後幹什麼,最後幹什麼),小到每個細節(倒幾碗水,放幾勺鹽,煮多長時間),所有你分析過的問題,你都要清晰明確的告訴機器人,如果漏過其中的任何一個環節,那這機器人做出的飯的味道就不一定是你想要的那個味的,可能你想要老壇酸菜味的,由於你忘了告訴機器人這其中的細節(放多少酸菜),機器人給你做成了康師傅牛肉味的也說不準,總之就是出問題了,專業辭彙叫做「出BUG」了。

再再假如你是個「老司機」(就「做飯」和「教做飯」都很熟,很有經驗的意思),你把每一個細節,每一個流程都教給了機器人,然後這個機器人最終做出了「你想要的那個味」的飯,那這個教機器人做飯然後讓機器人把飯做出來的過程就叫做「編程」。

什麼是「編程」?這就是編程,我先是用「做飯」的例子解說的編程,我想這個大家看到這都能理解了,然後我們一起給編程「上價值」,畢竟大白話還是大白話,總是比不了「官方話語」有權威,我們能用大白話說出來,說明已經對這個問題理解了,那再看官方的,也不過是「步步高點讀機—— So easy」。

官方版「什麼是編程」?

編程就是人利用電腦程式語言,通過有目的的編排指令,最終讓電腦完成指定任務的過程。

想通過編程解決問題,首先得分析所要解決的問題,然後將問題拆解成獨立的小問題單元,並保證這些小問題單元必須是可以通過編程解決的,最後再將這些小問題整合起來,讓電腦逐個求解,得到我們想要的結果。

– END –