前两天偶遇编程猫推介(为什么没有中文的编程?), 第一眼感觉像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. AJPFX简述:MetaTrader 4移动交易平台

    (AJPFX)移动交易平台可以让客户随时通过客户手中的移动设备例如智能手机.PDA等管理自己帐户和进行交易.移动交易平台提供了完整的交易帐户管理分析选项,当客户无法使用台式计算机的时候,移动交易平台为 ...

  2. Linux源码编译安装程序

    一.程序的组成部分 Linux下程序大都是由以下几部分组成: 二进制文件:也就是可以运行的程序文件 库文件:就是通常我们见到的lib目录下的文件 配置文件:这个不必多说,都知道 帮助文档:通常是我们在 ...

  3. turtle库实现汉诺塔

    import turtleturtle.screensize(800,800) class Stack: def __init__(self): self.items = [] def isEmpty ...

  4. css font-family属性设置中文字体乱码

    一般设置字体,个人都喜欢用中文,比如:font-family:"微软雅黑":但是偶尔会出现设置以后字体显示乱码的问题 解决方法[1]: 看看你的CSS文件的第一行有没有:@char ...

  5. Java学习笔记35(异常)

    代码在运行中发生的问题就是异常 java中把多种异常封装多个类,当程序出现问题时候,就会创建异常类对象并且抛出相关信息 异常体系: Throwable类是Java中所有错误或异常的父类 Throwab ...

  6. 利用SSH反向隧道,连接内网服务器

    前言 公司有一台文件服务器(内部使用,无外网IP),上面主要安装了SVN服务,用来存储和共享各部门的文档,因为都是内网,直接远程(mstsc)上去就可以方便维护,但最近公司租了新的办公室,部分员工被分 ...

  7. OpenCL科普及在ubuntu 16.04 LTS上的安装

    OpenCL(Open Computing Language,开放计算语言)是一个为异构平台编写程序的框架,此异构平台可由CPU.GPU.DSP.FPGA或其他类型的处理器與硬體加速器所组成.Open ...

  8. django配置celery

    官网详尽的django结合celery的配置步骤 在django项目settings.py所在的目录中新建一个celery.py,内容如下 from __future__ import absolut ...

  9. vue 自动化部署 jenkins 篇

    前端项目打包部署,以前都是手工运行打包命令,打包结束后压缩,然后上传到服务器上解压部署.这种重复性的工作,确实有点让人烦,而且效率也不高. 本文基于 vue 的前端项目. GitHub 的代码仓库,简 ...

  10. Go并发编程之美-CAS操作

    摘要: 一.前言 go语言类似Java JUC包也提供了一些列用于多线程之间进行同步的措施,比如低级的同步措施有 锁.CAS.原子变量操作类.相比Java来说go提供了独特的基于通道的同步措施.本节我 ...