什么是AppInventor?直译为“应用发明家”,这是一个名词性词组,修饰或描述它的词有很多,比如MIT、谷歌、结构主义等等,但是这些与我们学习者毫无关系,关于它的最关键的一个描述是“工具”——一个可视化的开发工具。
首先来说工具。许多家庭都有一个工具箱,里面有锤子、扳子、钳子、螺丝刀等等,如果你能理解这个“工具箱”的概念,你也就能理解“开发工具”的概念。
我们日常使用工具箱,不必特别地去学习其中每一样工具的特点及使用方法,我们只需要知道工具箱里有哪些工具,工具箱放在哪里就可以了;我们也不会时不时地拿出工具来没事找事地做点什么,只有当任务出现时,我们才会打开它,使用里面的工具。
如此看来,工具箱本身并不是我们学习对象,我们要学习的是如何使用工具完成我们现实中的任务,“开发工具”也是如此。重要的是我们知道它的里面有什么“工具”,这些“工具”能做什么;更重要的是,我们要知道自己的任务是什么,我想做一个什么样的应用(App),只有当任务明确时,这些工具才能派上用场。
因此,我们说学习编程,并不是学习编程所使用的开发工具,而是学习如何利用这些工具构造出一个作品。
时下的编程工具,或者说编程语言有很多很多种,你能听说的像C、C++、JAVA、JAVASCRIPT、PHP、PYTHON等等,数不胜数,面对如此繁多的语种,我们应该如何选择呢?如果你陷入到这样的困惑中,你已经开始迷失方向了,你会在网络上搜索相关的答案,但是你发现每个答案中都会滋生出更多的问题,于是你陷入了计算机概念的泥沼,不能自拔。
不要忘记,编程语言只是工具,就像英语、汉语都是语言一样,虽然它们的书写方法不同,但是语言背后表达的概念是相同的,apple=苹果,eat=吃,drink=喝,walk=行走,talk=说,等等,不仅如此,语言背后思维的逻辑也是相同的,如,如果今天下雨,就取消郊游活动;如果此时是中午12点,那么太阳的方向为南方(在北半球);等等。因此,学习哪种语言不重要,重要的是理解编程语言中包含的这些共同的概念,并利用这些概念来训练自己的逻辑思维能力。
接下来,如何掌握编程语言中的概念?概念是抽象的,当我们接触了足够多的具体事物后,大脑中自然会形成对这些具体事物的抽象,并将抽象的结果外化为文字。对于成年人来说,他(她)已经阅历过大量的具体事物,因此,头脑中已经有了很多概念,因此学习可以直接从概念开始;但对于儿童来说,他们的认知水平还处于只见树木、不见森林的阶段,因此学习应该从具体的案例开始。
编程语言中的概念并不是凭空产生的,它们同样来源于以往人类的生产及生活实践。比如软件中“按钮”这个组件,与现实生活中的门铃、电话机的按键等,并无本质区别——按下去接通,抬起来断开,每次接通都会触发一个事件。因此学习编程语言中的概念,关键是要在自己以往的经验世界里找到相似的概念,在此基础上,丰富原有的概念。这样,我们头脑中的概念之树,便会不断地生长、壮大。
值得庆幸的是,在二十一世纪的今天,几乎每个人都是软件(或应用)的使用者,最切近的,比如北京治白癜风花多少钱治白癜风的药