近几年青少年编程教育培训比较火热,在给孩子报名编程培训班的时候,绝大多数家长比较困惑如何选择编程语言,课程顾问往往是会根据自己机构开设的语言推荐,而不是客观推荐。
现在已经逐渐形成了Scratch和乐高机器人→Python→C++学习路线图,那究竟是不是必须要这样学呢?
首先大谭老师给出的结论是没学过Scratch,一样可以学Python和C++,没有学过Python一样可以学C++,Scratch、Python、C++三者并不构成进阶的关系。
关于这几种语言,大谭老师给各位家长做个简单阐述:
一、Scratch(思挂旗)是麻省理工学院的“终身幼儿园团队”在年发布的一种图形化编程工具,主要面对全球青少年开放,是图形化编程工具当中最广为人知的一种,所有人都可以在软件中创作自己的程序,截至年Scratch仍在更新。
Scratch编程界面
Scratch使用起来对英文单词、汉字,写代码能力都没有要求,用鼠标拖动积木形状的模块到程序编辑栏就可以进行编程了。在有家长或老师指导的情况下,6岁左右的孩子可以照着例子完整地还原一个能运行的程序,是培养孩子计算思维(ComputationalThinking)、创意表达和兴趣激发很好的方式。
二、Python(拍森sén)是一门编程语言,入门比较简单,大谭老师认为Python提供了太多的标准库函数,不利于学习者了解其程序底层原理,不利于中小学生计算思维建立,划重点了:对于中小学生而言,Python是能够让学生快速找到成就感、建立学习信心的编程语言。
图解Python
纵观编程语言发展的路径,大谭老师经历了QB、VB等语言的发展与演变,Python也算是时代产物,一定时期会被淘汰,目前各个公司主流是大数据用Scala,后台用Java,前端JavaScript/TypeScript、Go语言,嵌入式用C/C++,一般公司不愿使用Python,主要还是Python性能不好,效率低,默认只支持单线程,跨平台开发也非常非常麻烦。
三、C++(C加加)是各种信息学竞赛指定的编程语言之一。竞赛用的C++和工业用的C++侧重点不同。工业用的C++很难,但是竞赛侧重于考察算法而非语言本身,所以竞赛用的C++基本语法不难,也很容易入门。并且C++直接跟系统底层打交道,更有利于学习者了解电脑的运行原理。
C++编程界面
对于幼儿园大班、小学一二年级的学生,可以先学学Scratch或乐高机器人;
对于三年级及以上的学生,若想参加CSP、蓝桥杯、信息学奥林匹克竞赛(NOI、IOI)、全国计算机等级考试(NCRE)、计算机技术与软件技术资格(水平)考试(软考),直接学C++,C++有更长的学习生命周期,可以从小学一直学到大学,参加CSP到NOIP、NOI、IOI等赛事。
若不那么急着参加竞赛,Python和C++任选一个即可。
划重点:
对于小学生来说,学习编程是培养兴趣爱好、发掘天赋、建立计算思维,不是单纯去学一个编程语言工具的使用,去打比赛;
对于大学生来说关乎职业选择,正确的选择编程语言学习才能有效找到工作,比如计算机类信息类专业学Java和Python,商科类专业学习RPA机器人流程自动化才能与专业匹配。
下一个话题我们再讨论学习什么是计算思维?