每个人都知道,未来的时代是人工智能的时代,而提起人工智能就必须提起计算机编程,但这个人人都不陌生的词语,却也是大部分人不了解的。
编程究竟是什么?
要探究编程的本质,先要了解计算机的历史。
计算机的起源,可以从两方面来了解,一个是数学发展方面,另一个是人类历史方面。
如数学领域的莱布尼兹,在17世纪就提出将人类的思维像代数运算那样符号化、规则化,让笨的人通过掌握这样的规则变得聪明,更进一步地制造出进行思维运算的机器,将人类从思考中解放,这也就是莱布尼兹之梦。19世纪的数学家布尔通过思考能否将逻辑推理像代数那样用符号和几条基本规则表达,而创造了逻辑代数。逻辑代数能够以简单的逻辑符号表达人的思维,而把逻辑代数引入到电路控制中,就开启了解放人脑的进程。即高电位表示1,低电位表示0,在二进制中0和1就可以进行任何形式的运算,类似于算盘,只是运算速度是算盘无法比拟的。
而在人类历史中,从二战时的密码机,到图灵指导下完成的人类第一台可以编写程序执行不同任务的计算机,再到至今使用的冯诺依曼机。
那么,计算机编程语言按照发展历程就可以分为:面向机器的语言——二进制、汇编;面向过程的语言——汇编语言、C语言、B语言;基于面向对象的语言——最典型的就是C++语言、OC;面向对象的语言——Java语言,C语言等。
随着计算机的发展,计算机面临的需求增多,解决的问题也逐渐复杂。而编程语言的高级和低级又是什么呢?越是离机器远的语言,运行效率越低,开发效率越高,称其为高级语言,越是离机器近的语言,运行效率越高,开发效率越低,称其为低级语言,低级和高级仅仅指的是语言距离机器的远近。那么为什么学习高级语言的人群越来越多?现在的发展不断,硬件性能也大规模提升,程序本身影响运行效率的因素越来越轻微,项目越来越大,开发效率成为很重要的指标,而且高级语言更易于学习,可读性也远远高于低级语言。
再说回少儿编程
它起源于Logo语言之父、构造主义学习理论的提出者——西蒙·派珀特SeymourPapert教授。派珀特认为计算机可以帮助儿童体验、开拓和表达自己,再考虑到儿童学习和认知能力,他将自己发明的Logo语言应用到了教育领域,让孩子通过编程的方式使学习变得看得见、摸得着。
之后,就到了我们熟悉的Scratch创始人MitchelResnick,他在派珀特教授的理论基础上推出了新一代的编程语言——Scratch编程语言。
少儿编程的学习现状
现在的孩子学习少儿编程,最开始都是从Scratch入手。其实,学习少儿编程就是在解决问题,是一个实现目标的过程。当他们在思考和讨论问题时,当孩子们在为实现目标一步步分析时,就是在运用编程的算法。“编程的核心就是通过分析问题从而解决问题”,只要孩子们掌握了少儿编程的要领,之后不管面对多复杂的问题都能分解成一个个小问题,找到问题与问题之间的关联,从而想到办法逐一解决,这就是少儿编程的核心。
编程就是一门语言,也是一门没有国界的科技语言,因此它适用于全世界。家长们对于这门语言的学习也要适当的放平心态,不要畏惧它更不要忽视它。但也正如苹果CEO库克说的:“学习编程要比学习英语更重要”。
我们既要把它当成一门普通语言来对待,也要把它当作一项孩子未来必不可少的技能。
END