全国统一服务热线

400-035-8011

  • 合肥少儿编程培训
  • 合肥智能机器人编程培训
  • 合肥信息学奥赛培训
  • 合肥乐高创意启蒙培训

关于scratch语言的一些问题

Q:Scratch 是低级语言,太幼稚,什么时候可以转学语言(例如 C 和 Java)?

这是一个常见误区,主要是受“”二字翻译不准确的影响产生的误区。语言的英文原文叫做 High-level programming language ,更准确的翻译应该是高层级编程语言。层级的高低不是语言的与否的划分,而是指语言离硬件指令的远近。越接近人类的自然语言的编程语言越叫语言(越容易读懂),越接近计算机指令的叫做低级语言(越难读懂)。

关于scratch语言的一些问题

举个例子,汇编语言是离 CPU 指令近的人还能勉强能读懂的语言。用汇编来表达  1 + 2,是这样的:

在其他语言里是这样表达的:

显而易见,其他的语言更接近人更好理解的自然语言。

更令人发指的是,不同架构类型的 CPU,控制它的指令是不一样的。也就是说,同样的是 1 + 2,不同的 CPU 上需要用不同的写法。

而所有的编程语言设计者,都在致力于做一件事情:

让人们可以用人类能读懂的语言,优雅地编程,只需要把自己的想法告诉电脑,电脑就能自动把语言翻译成他能自己能执行的命令。

也就是说,无论我们用哪种语言写出来的代码,都有,也都需要一个翻译官,去编译(Compiler)或者解释(Interpreter)我们写的代码让电脑可以执行。

BTW,从定义上来说,Scratch 是比 C 和 Java 更的语言。

例如,C 语言更接近计算机硬件,编程语法中有很多莫名其妙的操作学习起来十分困难。但它的优点恰好也是它特别接近硬件,对内存的申请和释放都得开发者自己来写,程序的执行效率能特别的高。(这里之所以说“能特别高”,而不是“会特别高”,是因为是否能执行,还取决于开发者的算法能力以及对 CPU 的指令是否熟悉)

但是如果谁想要用 C 语言来做网站,也许用 Javascript + CSS + HTML 组合起来花 5 分钟做出来的网页,用 C 语言可能 1 个月也写不出来。

Q:那选择 Scratch 的优势是什么呢?它会过时吗?

决定我是否能成为作家的,不是因为使用的是什么样的钢笔;决定是否能成为摄影师的,也不是昂贵的镜头和相机;决定是否能成为好的开发者,也不是选择的语言,而是他是否能发现生活中的问题,找到解决问题的办法,然后用编程把解决方案做出来。

表达我们的情感和洞见、凝固时间记录故事、发现并解决问题是我们的目标,用一支好的钢笔,好的相机,和选择一种编程语言是实现目标的手段。我们不应该错把手段当目标。

举个例子,如果我们要用编程编写,如果天下雨,就带伞,否则就不带伞。用不同的语言写出来是这样的

我们可以看到,无论是哪种语言,他们都有一个类似的结构:

这就是编程中不变的部分,他们只是表达方式(编程的语法)有一点区别罢了。这就像目前主流音乐,都是由 12 平均律切分的 12 个音(do 升do re 降mi mi fa....)构成的。

每种语言都有一些它十分独特的特性。例如,我们想判断菜单中是否包含宫保鸡丁,如果包含就输出“找到了”。C 语言, Python 和 Scratch 的写法分别如下。

你会发现,这时,Python 和 Scratch 的写法就比 C 语言直观多了。这部分就是不同语言的特性部分。

也就是说,当精通了一种编程语言后,想学习另一种编程语言,只需要了解它的语法就能上手,会熟练使用它的特性就可以精通。编程的核心不在于语法,而是解决问题的思路和方法(算法)。

而 Scratch 中包含了几乎所有编程语言共通的部分。无论未来语言如何变化,基本的逻辑是不会变化的。而这些训练在 Scratch 中都能完成。

Q:听你这样说,也就是说学习其他语言也是一样的,因为只要精通一门,再学另一门语言就容易了?

是的,没错。和学好了 Scratch 转 C,Java 和 Python 是容易的类似。学好了 C 转 Python 也是不难的。但是为什么依然还是推荐孩子学习 Scratch 而不是 C 的原因不是因为编程,而是因为认知科学。

在认知科学中,人们是否能学习一样东西或者坚持学习一样东西和自我效能感(Self-efficacy )息息相关。自我效能感是指人们是否相信自己能达到一个目标,当相信的时候就会觉得做起来很带劲,一点也不枯燥;当不相信的时候就觉得自己在饱受煎熬。

简单地理解就是成就感是让人学习产生快乐并且坚持学习的重要原因。

如果在学习任何一样东西的时候,例如数学,一旦我们意识到自己学起来有困难,就开始不相信自己能学好,并且给自己各种理由证明自己不能学好,甚至是让自己学不好合理化。

例如会说 “学这个有什么用呀,买菜又不需要微积分”,或者说“我就是一个学文科的,这种理科的东西我不需要学” 甚至会说 “我就是一个学文科的料,理科在我的基因里就写着‘不擅长’三个字” 。

类似的,如果我们希望孩子不会说自己“就不是一个编程的料”,好的办法就是让孩子从步就产生成就感,从而产生自我效能感,也就是相信自己可以有能力达到目标,学好编程。

在这样的前提下,你还会让孩子从学习例如 C 或者 Java 这样的工业级编程开始吗?这样,他可能会面临的困难不仅仅是编程的困难,他还会遇到打字的困难,标点是否使用正确的困难,编程语言语法的困难,编译错误时莫名其妙的困难等等。

这些困难会消磨掉孩子学习编程的兴趣,自己找理由说“我不喜欢编程”,就和很多人找到无数理由说自己“不喜欢数学”一样。这就是在没有形成自我效能感的情况下拔苗助长的结果。

这个就很像我在德国期间看到的德国音乐学习和中国的区别。德国在小时候学习音乐首先是学习鉴赏,再是学会玩,后才是学音乐。

例如,首先老师会给孩子们弹音乐,并且音乐是配合特定故事和场景,让孩子们能把声音和场景对应起来;然后让孩子们可以玩乐器,就是不计较指法是否正确,姿势是否正确的情况下,先和乐器做朋友,不恐惧音乐和乐器;后才是学习如何驾驭一种乐器,才开始学习指法等等所谓的基本工。而学习乐器恰好相反,首先让孩子练习的是指法,而忽略了让孩子对音乐的热爱。

这就是为什么童程童美以及我肖恩老师还是会推荐学习 Scratch 的原因:先让孩子可以不恐惧编程,产生兴趣,并且用编程表达自己。

等到孩子们已经产生了自信和成就感,再提高难度。如果都要选择一门语言进入编程的世界,一定是选择能让孩子找到自信,找到成就感的语言。那这种语言目前好的就是 Scratch。

尊重原创文章,转载请注明出处与链接:http://www.mxiao.cn/884/new/82019/违者必究! 以上就是合肥童程童美少儿编程机器人培训学校 小编为您整理关于scratch语言的一些问题的全部内容。

推荐课程 / RECOMMENDED COURSE

  • 少儿人工智能编程培训

  • 智能机器人编程培训

  • 青少儿信息学奥赛培训

  • 少儿乐高创意启蒙培训

  • 查看更多>>

定制专属于你的课程

10秒登记,定制专属于你的课程方案

填写下表,让专业老师根据你的性格爱好选择最适合你的。

版权所有:合肥童程童美少儿编程机器人培训学校

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-035-8011