🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
Scratch作为一个图形编程语言,有入门快、容易理解的特点。是少儿编程的首选语言。大家对scratch多是满满的赞赏,今天,我们就站在一个严格语言的角度上在鸡蛋里挑挑骨头,看看scratch有哪些*缺点*。 ![](https://s1.ax1x.com/2018/08/25/PHYIJS.png) **1. elseif** scratch拥有:*如果...那么* 和 *如果....那么....否则* 两组条件积木。 一些简单的逻辑判断足够使用。但是需要使用elseif场景的时候就变得很麻烦了。看下面的例子: ![](https://s1.ax1x.com/2018/08/25/PHYoRg.png) **2. 函数没有返回值** scratch的自定义积木本质是一个函数。但是scratch的自定义积木没有返回值,只能使用全局变量的方式。我们知道,这种形式会有很多弊端:1)没有数据隔离,容易引起bug 2)逻辑不清晰,输出结果往往要在函数过程中加工好。看下面例子: ![](https://s1.ax1x.com/2018/08/25/PHYTzQ.png) **3. 下标从1开始** 这个也不算缺陷了,只是正常的编程语言下标都是从0开始的。这个常常会造成误会。 **4. 对复杂逻辑不友好** 我们来下下面的一个if条件,如果不仔细看,你能猜出它的成立条件吗? ![](https://s1.ax1x.com/2018/08/25/PHYbss.png) **5. 缺乏高效的调试机制** 当我们的脚本出错时,除了一遍一遍的审查积木,没有特别好的调试方法。 ## **瑕不掩瑜** 上面虽然说了说了scratch的种种缺点,但是作为一门编程科普语言。scratch已经是事实的标准了。这些限制对入门学习编程也没有太多的障碍。通过scratch培养逻辑思维、编程思想还是非常贴切的。 ![](https://s1.ax1x.com/2018/08/25/PHYqLn.png) 当然,通过scratch掌握好编程原理后,我们可以投入更多的精力学习python、JavaScript等严谨言语,真正走入编程的世界。