少儿编程简史(4):“亦敌亦友”的谷歌牌Blockly与麻省牌Scratch

网友投稿 2019-04-15 10:23

本着“科普““扫盲“的决心,耐撕BaBa每周都会和大家讲讲少儿编程“二三事“

毕竟“新潮“的到来就意味着“水变深了“,少儿编程的有趣好玩不容“亵玩“,玩物就要“立志“

很多家长和孩子对少儿编程的认知仍停留在Scratch3.0,在最近几期的梳理中,你是否还记得Makecode、Tynker、Code.org、CodeMonkey和Blockly等众多少儿编程的“良师益友“吗?

今天,我们就Blockly和Scratch3.0做简单分析,希望各位家长们能够合理做出适合孩子的选择,让编程更好玩儿~

坚持“Do one thing“的Blockly

https://cdn.china-scratch.com/timg/190417/1023464A8-0.jpg

Blockly的编程界面

Blockly是由Google发布的完全可视化编程语言。很多人称其为“编辑器“,为什么这么说呢?这是因为,它只“输出代码“。你可以用Blockly快速打造一个特定领域的可书画的编程编辑器。“Do one thing“是Blockly的理念,作为一个积木化的编辑器,它是一个灵活小巧的库,而不是框架,这个特质让它可以轻松与其他工具整合。

在用户视角下,Blockly是一个简单易用的可视化工具,用来生成代码。在开发者视角下,Blockly是一个文本框,里边包含了用户输入好的代码。代码生成到文本框的过程,就是用户在Blockly里拖曳的过程。

https://cdn.china-scratch.com/timg/190417/10234A940-1.jpg

用Blockly完成迷宫游戏的搭建

由于设计上遵循UNIX哲学,Blockly也将获得UNIX哲学带来的好处——小而美带来的强大的组合能力。于是围绕Blockly的生态十分广阔。涵盖硬件、软件,领域涵盖科研、教育、游戏、玩具等等。这也意味着,Blockly拥有良好的开发环境,我们的创意能够得到最大限度的实现。

认定“Talk is cheap “的Scratch3.0

https://cdn.china-scratch.com/timg/190417/10234J2G-2.jpg

我们所熟知的Scratch3.0

Scratch3.0延续了Logo语言的特色,基于HTML5技术让它能够轻松地跨平台运行。作为图形化的编程方式的一种,Scratch3.0以被通过拖拽、拼搭积木的方式,让整个编程过程十分直观,很像在玩乐高积木。

在Scratch3.0的学习过程中,你同样能感受到让·皮亚杰的理念。他把儿童看成建造自己个人知识理论的小哲学家和科学家,并认为活动即是感知的源泉,又是思维发展的基础。Scratch3.0的灵魂在于对活动及交互的重视,让孩子在玩耍中不断创建和调整心智模式,将计算机作为一种理想的媒介,让孩子们在活动中去构建和调整心智模型。以理解和适应外部环境。

https://cdn.china-scratch.com/timg/190417/10234JM2-3.jpg

皮亚杰把儿童的认知发展分成四个阶段

Scratch3.0更像是一个供使用者们嬉戏玩乐和探索的足球场,用“积木块“和“舞台效果“提供了丰富的基础设施。在GitHub的主页里,你可以看到所有与Scratch相关的源代码细节。对于专业的程序员们来说,这是理解一个项目的最有“安全感“的方式,因为“Talk is cheap “。不同于理论性文字和演示性PPT这些形而上学的存在,代码至上!你可以轻松在使用过程中掌握一个概念或工具,而很难在一种概念的文本化阐述中掌握它。

Blockly之于Scratch3.0,正如库之于框架

我们可以把Blockly视为一个库,而把Scratch3.0视为一个框架。一个库往往遵循Do one thing的UNIX哲则,你可以轻松将它组合到你的项目中,Blockly库只负责从积木中生成代码,怎么去使用这些代码?这些代码是控制虚拟角色还是实际的硬件?它何时被解释运行?是否支持并行?代码运行生命周期是怎样的?解释器在本地还是在另一个硬件上?Blockly通通不关心。这就意味着,Blockly给予你自由,同时你也不得不肩负起自己的责任。

https://cdn.china-scratch.com/timg/190417/10234K159-4.gif

Blockly与结对编程的应用

相比于Blockly,Scratch3.0则更像一个框架,有各个组件,你可以通过修改这些组件来定制它,当然你需要先理解它。你可以通过插件系统加入自己的扩展,无论是软件还是硬件,你都可以进行拓展。说Scratch3.0是框架,侧重在强调它的结构完整性和灵活性,介于框架和项目之间,它给予你的自由度要比一般意义上的框架要小。

选Blockly还是Scratch3.0呢?

到底是选择Blockly还是Scratch3.0,需要家长们对自己的孩子有比较清晰的认知,所以,认识孩子才是第一步!

如果是想从积木化编程这一块学起,那么从Blockly开始常常是个好建议,因为Scratch3.0很复杂,除非你想原原本本地使用Scratch3.0,否则对它的任何修改,对孩子们来说都是艰难的;但你孩子学习任何积木化编程项目的时候,可能都会遇到一些共性的问题,一上来就读Scratch3.0相关组件的源码,很可能云里雾里,你可能先要从钻木取火开始(从Blockly基础项目开始),等你意识到这个问题域的常见困境之后,才会意识到什么好的解决方案。在困境出现之前,好的解决方案会被看作一种过度复杂的设计。也许你最终选择使用Scratch3.0,但Scratch3.0基于Blockly构建,对Blockly的早期投入,总是能帮助到你理解Scratch3.0的。

孩子在玩乐中学习

你看,Blockly还是Scratch3.0本质上还是相辅相成的。只要捋清楚了两者之间的逻辑和侧重点,就很好做选择,谨慎“避雷“了。

在学习的过程中,如果你想使用Blockly,不妨也看看Code.org或者Tynker这类网站,Code.org和Tynker中的每个关卡都是一个典型的Blockly APP。假如你想学习编程机器人,两者都是不错的选择。正如前边说的轻量,自由,使用Blockly具备这样的优势,但也意味着你要去操心更多解释和实现上的细节工作,这是个复杂的工作。使用Scratch3.0的话,你只要专心写插件部分就好了!

加入【玩物理工派知识社群】,

每天都有好玩的STEAM作品、独到的STEAM见解

更有每周福利Scratch免费学、Micro:bit创意、玩物板大起底··· ···等着你!

https://cdn.china-scratch.com/timg/190417/10234T400-5.jpg

扫码一键开启【芝士新大门】吧!

如果二维码“走丢“

可加微信号wnicepapa发送暗号“入群“即可


往期推荐:【少儿编程简史】系列

一起“食用“效果更佳噢~

(点击图片即可获取全文)

https://cdn.china-scratch.com/timg/190417/10234Q151-6.jpg

https://cdn.china-scratch.com/timg/190417/10234T257-7.jpg

https://cdn.china-scratch.com/timg/190417/10234WR5-8.jpg

https://cdn.china-scratch.com/timg/190417/10234S644-9.gif

https://cdn.china-scratch.com/timg/190417/102349D21-10.jpg

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com