前两天偶遇编程猫推介(为什么没有中文的编程?), 第一眼感觉像Scratch, 求证之下确实, 并且据说有改良. 今天非常粗浅地尝试一下, 限于水平没有做出很炫的效果, 不过颇有些发现.

首先上最终效果图:

选择了无趣的斐波那契函数, 在这个主打动画和互动效果的开发环境里应该属于非常边缘的用户.

从头开始说. 到官网上之后, 第一感觉是内容比较杂, 因为是冲着这个中文编程开发环境去的, 试了几个链接才从"创作"进到一个类似的但是英文的界面. 因为只有这里像帖子中的截图, 于是试了"多语言"选项, 还好有"简体中文". 也许因为笔者浏览器是英文界面, 因此默认英文环境?

"编程猫MOD编程器"好像是与MineCraft的集成, 但好像生成的代码需要到"Box"(代码岛)运行, 时间有限就没有体验, 但希望网站的入口能够调整一下, 或者把各个功能的关系介绍清楚一点.

(补记: 经官方论坛指出 "mod编辑器做的mod是放进多玩魔盒的手机版《我的世界》中体验的,《代码岛》是一个3D图形化编程平台哈,和mod编辑器没关系")

进入环境后, 比较了一下Scratch界面, 发现中间的控件栏作了修改, 采用了顶层菜单, 点击向右展开:

与原版的布局(下)相比, 猜测是出于最大化编辑框的考虑, 也许会对移动设备更加友好, 但副效应是展开时容易遮住编辑框.

尝试过程中, 发现一些控件(如比较/逻辑运算)整合到了一个控件, 是个不错的改进:

相比原版:

通过类似整合, 减少了控件数量, 另外增加了不少辅助功能的控件, 如"是整/质/正/负数", 等等. 不过, 在控件排序上, 还有改进空间, 比如运算部分:

头尾两部分都是逻辑运算, 但中间插了一块数值运算.

在定义函数的过程中, 发现参数好像是自动识别类型, 输入是文本的话, 比如"测试", +1操作就返回"测试1", 输入2就返回3. 原版貌似是声明参数类型.

体验中最意外的是, 编程猫支持了函数返回值功能, 而即使还未发布的Scratch 3.0(Scratch 3.0 - Scratch Wiki)好像也没有这个功能. 经斐波那契测试, 感觉对于绝大多数这个环境中的用途应该足够了(函数内的局部变量没有深入测试, 不确定是否支持).

在汉化方面, 还有改进的空间, 比如控件的演示字符串不少还是Hi, Hello, abc之类; 显示(2/0)的结果是"Infinity", 仍然在某些地方把block翻译成"积木"(原版的汉化版如此. 编程猫已经把新建block改成了"函数", 是个改进)

总体感觉, 开发者的改进是颇费了一番心思, 并且对缺失的关键功能做了突破. 个人比较期待的一个功能是, 函数发布/共享, 以及官方维护一个比较常用的"标准库", 比如更复杂的动作(转圈, 加速等等), 更复杂的运算等等. 这样就离一个实用的游戏/动画引擎和开发环境更近了一步. 而且利用他人开发的函数库还可以促进团队开发理念和开源互助的推广, 也是少儿教育的一个重要部分.

瞩目!

2018-02-06 编程猫IDE体验:对Scratch的改进的更多相关文章

  1. Scala 深入浅出实战经典 第66讲:Scala并发编程实战初体验

    王家林亲授<DT大数据梦工厂>大数据实战视频 Scala 深入浅出实战经典(1-87讲)完整视频.PPT.代码下载:百度云盘:http://pan.baidu.com/s/1c0noOt6 ...

  2. http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html

    http://www.cnblogs.com/TankXiao/archive/2012/02/06/2337728.html

  3. 新手C#构造函数、继承、组合的学习2018.08.06/07

    构造函数,是一种特殊的方法.主要用来在创建对象时初始化对象,即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中.特别的一个类可以有多个构造函数,可根据其参数个数的不同或参数类型的不同 ...

  4. 新手C#属性set,get的学习(部分转)2018.08.06

    public class person { public string name; } public class person { public string Name { set; get; } } ...

  5. 新手C#面向对象的学习2018.08.06

    class Person//声明一个Person类 { //类中的声明与Main中不同,类中声明的是字段而不是函数. public string gender; public string name= ...

  6. leetcode面试题 02.06. 回文链表,解题心路

    目录 leetcode面试题 02.06. 回文链表,解题心路 1.题目描述 2.java语言题解一 3.java语言题解二 4.C语言题解一 leetcode面试题 02.06. 回文链表,解题心路 ...

  7. 02网络编程( socket套接字+TCP粘包 )

    目录 02 网络编程 一.socket套接字编程 二.简易代码模板 2.1 服务端 2.2 客户端 三.通信循环及代码优化 四.黏包现象 五.struct模块 六.简易版本报头 七.上传文件数据 * ...

  8. 2018.12.02 Socket编程之初识Socket

    Socket编程主要分为TCP/UDP/SCTP三种,每一种都有各自的优点,所以会根据实际情况决定选用何种Socket,今天开始我将会逐步学习Socket编程,并将学习过程记录于此. 今天学习的是TC ...

  9. 并发编程的模型分类(转载于https://link.zhihu.com/?target=http%3A//www.54tianzhisheng.cn/2018/02/28/Java-Memory-Model/)强烈推荐!

    在并发编程需要处理的两个关键问题是:线程之间如何通信 和 线程之间如何同步. 通信 通信 是指线程之间以何种机制来交换信息.在命令式编程中,线程之间的通信机制有两种:共享内存 和 消息传递. 在共享内 ...

随机推荐

  1. 理解js中的函数调用和this

    概述 这是我看typescript的时候看引用资源看到的,原文在这里:Understanding JavaScript Function Invocation and "this" ...

  2. Spring boot MultipartResolver

    [参考文章]:Required MultipartFile parameter 'file' is not present [参考文章]:Springboot2.0中WebMvcConfigurerA ...

  3. 微软2014校招笔试题-String reorder

    Time Limit:10000ms Case Time Limit:1000ms Memory Limit:256MB Description For this question, your pro ...

  4. js 解析url中search时存在中文乱码问题解决方案

    一 问题出现原因 当存在这样一种需求,前端需要通过url中search返回值进行保存使用,但如果search中存在中文解析出来会导致乱码.这个问题我找了很久原因,最后终于知道解决方案,这里和大家分享一 ...

  5. Git本地上传到服务器

    Git本地上传到服务器 2018年05月17日 10:45:02 VV-King 阅读数:643 标签: git   1.本机window系统的话先下载msysgit  下载后在开始菜单里面找到 &q ...

  6. 课程三(Structuring Machine Learning Projects),第二周(ML strategy(2)) —— 1.Machine learning Flight simulator:Autonomous driving (case study)

    [中文翻译] 为了帮助您练习机器学习的策略, 在本周我们将介绍另一个场景, 并询问您将如何行动.我们认为, 这个工作在一个机器学习项目的 "模拟器" 将给一个任务, 告诉你一个机器 ...

  7. Zabbix系列之二——添加监控主机步凑

    1.登录监控平台,配置——主机——创建主机 2.主机设置 3.添加模板

  8. Django中条件过滤:按时间筛选

    你有没有遇到过,需要按时间筛选的问题? 我在models中的字段为dateTimeField,那么我该如何构造一个时间格式来和它比较呢? 索性我们有datetime模块 import datetime ...

  9. koa2搭建服务器

    首先初始化项目 npm init -y 安装koa2 npm install koa --save 项目根目录 新建 index.js //这是最基本的服务 const Koa = require(' ...

  10. PHP-CPP开发扩展(六)

    PHP-CPP是一个用于开发PHP扩展的C++库.本节讲解在C++中PHP异常.变量.常量的实现相关知识. 异常 PHP和C++都支持异常,而PHP-CPP库这两种语言之间的异常处理是完全透明的.你在 ...