人工智能人人通生态雲平台

河南人民出版社有限責任公司

2019年12月28日 星期六

咨詢熱線

400-6908-558

在線學習
153 人
雲校學校
220 所
雲校老師
158 人
雲校學生
451 人
雲校家長
51 人

立即報名

平台動态

Platform Dynamics

您的位置:币安币官网 > 平台動态 > 新聞詳情

少兒編程學習必須要先了解的編程思維!(二)

大腦中的知識是建立在我們的重要體驗的基礎上的,它代表了我們對這個世界的認識的抽象模型,可以幫助我們更好的理解我們所處的世界。

學習就是抽象建模的過程(學習是探索并建立各個領域的知識模型),編程也是抽象建模的過程(編程也是找到各個領域的知識模型并将其數字化,也就是說這個模型必須能夠運行,還要被很多人使用來接受檢驗)。所以編程是在思考事物的本質。

并且上面我們通過算術模型和拼音模型大概體會到建模其實可以包含非常豐富的内容,比如如何完善我們的模型,對比較複雜的模型如何分層等等。我們将在後面的章節具體去學習這些内容。

下面我們以一個更常見的建模的例子來說明上面的道理。

大家看下面這張圖裡是什麼?

火箭模型

如果你說是火箭。這并不是個真的火箭。

那為什麼你要說這是火箭呢?是不是因為它滿足了你大腦裡的關于火箭的模型呢?比如有尖尖的頭,圓柱形的身體,和幾個作為支架的腳。這個可能是我們大腦裡裡關于火箭的模型。正是因為有這樣一個模型,我們看到這種圖片,我們可以識别出火箭。

這個例子說明,抽象建模在我們生活中是無處不在的。抽象建模就是我們俗稱的“知識”。

編程這種建模是可被驗證的,因為必須能夠執行,并且要被很多人使用。

生命中心

這裡我們引入“生命中心”的概念。簡單的講,我們能夠識别出火箭這個模型,是因為上面這個模型裡包含了幾個構成火箭模型的生命中心,比如尖頭,身體,支架。有了這幾個生命中心,我們就可以識别出火箭這個生命體。

在算術模型裡,自然數和加減乘除就是我們的生命中心。在拼音模型裡,26個字母是最基本的生命中心,在其之上的聲母韻母是更大的生命中心。

Paracraft3D動畫編程界面

“生命中心”是克裡斯多夫亞曆山大在其著作“Nature of Order”裡提出的概念。克裡斯多夫亞曆山大認為我們周遭的所有我們可以識别的東西都有生命,包含多個生命中心,其生命中心的組成結構決定了生命體的生命度。

當然克裡斯多夫亞曆山大主要是把這些概念用在建築學上。克裡斯多夫亞曆山大深刻影響了軟件業的發展,他在1960-1970年代提出模式語言,直接催生了對象化編程和設計模式的發展,包括後來的敏捷編程。

但當在一次公衆演講中被問及如何看待他自己在軟件業的巨大影響時,他卻說,軟件從業者很大程度上并沒能正确理解他所說的概念。簡單的說,他認為軟件業用他的概念确實有利于軟件人士彼此的思想的溝通,但是目前的使用僅此而已,停留在簡單的工具和方法學上,而缺少對生命本質的理解,從而無法從整體上去連接一切,在各個層面各個領域做整體系統的闡述與運用。

本書中使用的軟件編程的抽象建模的分析方法,與軟件行業使用的不少方法有類似或相通的地方,但又有不同。

我們希望通過本書的嘗試,能夠建立起軟件業需要的對克裡斯多夫亞曆山大的理論正确的理解。如克裡斯多夫亞曆山大在”Nature of Order”裡所說,傳統西方科學自笛卡爾以來,刻意追求主客體的分離,不讓主觀去影響客觀的觀察。

帕拉卡3D動畫編程

但主觀其實也是客觀的,客觀本質也是主觀的。科學的進一步發展,就是要突破這種機械的對立。這種對立在軟件業的發展中也有很多的體現,簡單的說,為什麼編程對普羅大衆來說這麼難學難懂,就是這種機械對立的一個結果。而我們在本書裡所介紹的方法,就是在生命體系的各個層次的建立上,有(創造性的)人的主動的參與,去感知在每個層面需要建立的生命中心,去構建一個富有生命的生命體。

軟件編程裡需要學習的方法,和其他各個行業,隻要是面對複雜系統的,都是一樣的。我們希望通過對“生命中心”概念的正确運用,我們能夠把軟件編程真正普及開來。

根據相似性原理,表面複雜的系統都是由最簡單的基本單元組成的。比如生物體除了病毒,都是由細胞組成的,不管他們的形态和生命特征多麼不同。再比如整個宇宙的組成其實就是一些基本粒子。

我們所看到的一切,就是來自于這些簡單的基本單元的不斷變化和組合。我們需要的是找到這些最基本的單元,以及它們是組合與變化的規律。而這些基本的單元以及其上的大的單元,就是我們要尋找的生命中心。

同樣的基于相似性原理,所有的事物都是相連的,比如知識是廣泛相連的。正是因為生命中心不停的變化組合成不同的事物,才形成了各種事物之間的相似性。

我們将在後面的章節裡讓大家逐漸掌握在抽象建模中如何一層層的識别出各層的生命中心,直至能夠轉化成指令代碼的細節。

編程的抽象模型

編程作為我們建模的數字工具,其本身又有其抽象模型。那麼編程又是怎樣的抽象模型呢?

編程是在抽象建模。大家學習編程就是學習如何去給不同的事情去抽象建模。

下面我們結合Paracraft 這個3D世界裡的編程來了解編程的抽象模型是什麼樣子的。

Paracraft3D動畫編程

首先是指令。編程就是通過一些指令去操控一些東西。在Paracraft 的世界裡,我們有指令可以讓角色移動,向前走,旋轉,說話等等。

有一類指令是跟事件相關的,用來響應外部或内部的事件,比如鍵盤被按下或者鼠标被按下等等。

在paracraft 裡有一類事件是廣播消息,發出的消息所有的角色都能接收到,需要響應該消息的角色可以去響應。

然後就是這些指令需要被一定順序執行。最簡單的就是順序執行,即從上到下一條一條指令的執行。也可以循環執行甚至永遠重複。也可以根據一定的條件選擇執行,即如果那麼語句。除了順序執行,其他都有相應的控制語句。

好,差不多這就是最簡單的編程模型了。