很多人会感到奇怪,为什么学习编程要从搭建开始?编程其实就是用众多的指令搭建出一个软件出来,就像在平行世界Paracraft里用方块搭建出一个建筑一样。以下图为例,这段条块式编程的截图,就很形象的展示出用指令搭建出来一段程序。
熟悉使用Paracraft的都知道,如果有什么经常需要使用的建筑模块或者角色,可以使用方块进行建模,生成可以重复使用的BMAX模型。比如建筑里的斗拱,或者屋顶的瓦片,可以用方块搭建出来可以复用的模型,房间里的桌椅也是一样。这些跟编程里把重复使用的功能模块包装成指令或者函数是一样的,需要能够识别和提取通用的功能,并进行抽象建模生成可以重复使用的模块,这样的抽象建模能力正是编程里的核心能力。
指令的封装,也是一种模块化。其中有些指令是更底层的,被上层的指令反复调用,这就需要学生具有很强的抽象提取能力。而学生也可以去创造新的指令,可以是更底层的可以被很普遍的调用的通用指令,也可以是上层的更方便的做某些事情的指令,这些都是搭建。
当孩子们需要去搭建一个相当大型的场景的时候,就需要学会如何拆解,如何抓住主要特征,如何迭代的分层的去完成,如何再组合不同的模块构成完整的作品,这些都是软件编程里的核心能力。
同物理世界的很多东西不同,没有哪个软件不是在创新,如果不进行创新就可以直接复制之前的同样功能的软件即可。程序员无时不刻不在创造新的生命,或者探索和思考可以创造什么样的生命,对他人有用的生命。所以创造完整的作品对于程序员来说,有着至关重要的意义。
Paracraft正是以创造生命作品为核心,哪怕是年龄再小的儿童,也可以去创作的作品,并且在Paracraft里可以创造完整的作品。随着技能的增长,他们可以逐渐创造更加复杂和有挑战性的作品。而在创造复杂性和有挑战性作品方面,Paracraft可以说是没有上限的。
在软件行业里,普遍缺乏的素质其实就是缺乏搭建创造生命作品的能力,比如如何做抽象建模,如何拆解,如何抓住特征,如何分层,如何迭代,这些都需要很强的空间感知能力和与复杂空间交互的能力。这些素质的欠缺,正是我们传统的编程教育的狭隘片面造成的,传统的编程教育缺乏对软件编程核心本质的理解。
平行世界Paracraft正是要解决这个问题,实现真正的编程教育。所以,编程就是搭建,一切从搭建开始。
刘远亮,平行世界Paracraft教育创新部主管。浙江大学本科毕业,留美双硕士;拥有哥伦比亚大学,华尔街,国内多家知名互联网企业工作经验和管理经验;前华为互联网教育首席架构师。
,