什麼是編程?大道之行也,「編程」為公
- 2021 年 2 月 25 日
- 筆記
- 【編程相關整合筆記】
什麼是編程?大道之行也,「編程」為公
什麼是「編程思維」
我做少兒編程之後,對「編程」有了新的理解,我從來一直都很在意「因果」關係,我相信「任何物體都有存在的意義」,對於「編程」,我覺得歸根結底,其核心在於「編程思維」。
「編程思維」是什麼?猛一看,感覺很抽象,其實可以很簡單的解釋:「編程思維」就是解決實際問題的方法,一種如何分析問題、拆解問題、思考和解決問題的思想。
舉個生活中最常見也最簡單的例子吧:
你會做飯嗎?(我會(偷笑表情),現在哪個男孩不會做飯呀是吧)
你做飯的時候是否要考慮以下這些問題:
- 吃米還是吃面?
- 幾個人吃?
- 炒不炒菜?
- 幾個熱菜幾個冷盤?
- 放什麼調料?
- 放多少調料? ···
那以上這些分析的過程就叫「編程思維」,就是用來解決「做飯」這個問題的方法。
什麼是「編程」
那什麼是「編程」呢?
原諒我把對「編程」的解釋放到了最後,重頭戲嘛,還是壓軸比較好,如果你是誠心來了解「編程」的,那前面的這些資訊對你了解「編程」有著莫大的好處。
我接著用「做飯」的問題來講解「編程」。
會做飯的你天天做飯,也是煩了,想偷個懶。
假如你家裡現在有一個機器人,這個機器人除了沒「腦子」之外,別的像胳膊、腿、手等鐵器官都齊全。如果你要是有能力把你「做飯」的技能教給機器人,那你無異於收了個很勤快的徒弟。
怎麼教?
你說「人話」機器人聽不懂(這個機器人不是智慧的那種哈,是真的聽不懂「人話」的那種,可別給我在這鑽牛角尖),這個機器人只能聽懂「程式語言」(就跟漢語字樣一樣,就是個名字而已,別看到這個詞就覺得好難啊,別太入戲,就是機器人能聽懂的語言的名字,僅此而已)。
那你要教機器人,首先你要考慮的是如何跟機器人溝通的問題,別考慮啦,就像跟老外溝通要學英語一樣,你先學學「程式語言」吧,學會了,就能教了。至於「程式語言」是什麼?要怎麼學的問題不是我本篇文章的重點,也不是你沒了解「編程」之前要了解的重點,僅僅把「程式語言」當成個像「漢語」、「英語」一樣的名字就 OK 了。
再假如此時的你已經學會了「程式語言」,那就到考驗你「會不會教」的時候了,再強調一次,機器人是「沒腦子」的,所以你在教的時候,大到每個流程框架(先幹什麼,後幹什麼,最後幹什麼),小到每個細節(倒幾碗水,放幾勺鹽,煮多長時間),所有你分析過的問題,你都要清晰明確的告訴機器人,如果漏過其中的任何一個環節,那這機器人做出的飯的味道就不一定是你想要的那個味的,可能你想要老壇酸菜味的,由於你忘了告訴機器人這其中的細節(放多少酸菜),機器人給你做成了康師傅牛肉味的也說不準,總之就是出問題了,專業辭彙叫做「出BUG」了。
再再假如你是個「老司機」(就「做飯」和「教做飯」都很熟,很有經驗的意思),你把每一個細節,每一個流程都教給了機器人,然後這個機器人最終做出了「你想要的那個味」的飯,那這個教機器人做飯然後讓機器人把飯做出來的過程就叫做「編程」。
什麼是「編程」?這就是編程,我先是用「做飯」的例子解說的編程,我想這個大家看到這都能理解了,然後我們一起給編程「上價值」,畢竟大白話還是大白話,總是比不了「官方話語」有權威,我們能用大白話說出來,說明已經對這個問題理解了,那再看官方的,也不過是「步步高點讀機—— So easy」。
官方版「什麼是編程」?
編程就是人利用電腦程式語言,通過有目的的編排指令,最終讓電腦完成指定任務的過程。
想通過編程解決問題,首先得分析所要解決的問題,然後將問題拆解成獨立的小問題單元,並保證這些小問題單元必須是可以通過編程解決的,最後再將這些小問題整合起來,讓電腦逐個求解,得到我們想要的結果。
– END –