很多人會感到奇怪,為什麼學習編程要從搭建開始?編程其實就是用眾多的指令搭建出一個軟體出來,就像在平行世界Paracraft裏用方塊搭建出一個建築一樣。以下圖為例,這段條塊式編程的截圖,就很形象的展示出用指令搭建出來一段程式。
熟悉使用Paracraft的都知道,如果有什麼經常需要使用的建築模組或者角色,可以使用方塊進行建模,生成可以重復使用的BMAX模型。比如建築裏的鬥拱,或者屋頂的瓦片,可以用方塊搭建出來可以復用的模型,房間裏的桌椅也是一樣。這些跟編程裏把重復使用的功能模組包裝成指令或者函數是一樣的,需要能夠識別和提取通用的功能,並進行抽象建模生成可以重復使用的模組,這樣的抽象建模能力正是編程裏的核心能力。
指令的封裝,也是一種模組化。其中有些指令是更底層的,被上層的指令反覆調用,這就需要學生具有很強的抽象提取能力。而學生也可以去創造新的指令,可以是更底層的可以被很普遍的調用的通用指令,也可以是上層的更方便的做某些事情的指令,這些都是搭建。
當孩子們需要去搭建一個相當大型的場景的時候,就需要學會如何拆解,如何抓住主要特徵,如何迭代的分層的去完成,如何再組合不同的模組構成完整的作品,這些都是軟體編程裏的核心能力。
同物理世界的很多東西不同,沒有哪個軟體不是在創新,如果不進行創新就可以直接複製之前的同樣功能的軟體即可。程式員無時不刻不在創造新的生命,或者探索和思考可以創造什麼樣的生命,對他人有用的生命。所以創造完整的作品對於程式員來説,有著至關重要的意義。
Paracraft正是以創造生命作品為核心,哪怕是年齡再小的兒童,也可以去創作的作品,並且在Paracraft裏可以創造完整的作品。隨著技能的增長,他們可以逐漸創造更加複雜和有挑戰性的作品。而在創造複雜性和有挑戰性作品方面,Paracraft可以説是沒有上限的。
在軟體行業裏,普遍缺乏的素質其實就是缺乏搭建創造生命作品的能力,比如如何做抽象建模,如何拆解,如何抓住特徵,如何分層,如何迭代,這些都需要很強的空間感知能力和與複雜空間交互的能力。這些素質的欠缺,正是我們傳統的編程教育的狹隘片面造成的,傳統的編程教育缺乏對軟體編程核心本質的理解。
平行世界Paracraft正是要解決這個問題,實現真正的編程教育。所以,編程就是搭建,一切從搭建開始。
劉遠亮,平行世界Paracraft教育創新部主管。浙江大學本科畢業,留美雙碩士;擁有哥倫比亞大學,華爾街,國內多家知名網際網路企業工作經驗和管理經驗;前華為網際網路教育首席架構師。