小魔术师――让小孩也来编程

 女儿小时候总是弄不清楚我的工作,因为技术词汇对她来说既拗口又抽象。后来上小学知道的事情更多了,就问我具体干什么,我说是编程序、写报告;她就问报告怎么写,我说和写作文差不多;于是她就想帮我写,我说你现在还不行,起码得等你上完大学。后来我想,现在让她写报告是不可能的,但编程总可以吧。我当然不会给她看C++,Java,给她讲面向对象、设计模式,只是想让她领略一下程序的好玩之处。
 
 一般的编程语言小孩肯定不接受,直到我在网上发现了Little Wizard。
“小魔术师”就是Little Wizard,一种面向小孩开发的一种编程环境,在指南中它这样介绍自己:
Ø          Little Wizard is a development environment featuring the ''Little Wizard'', who obeys the user's commands.
Little Wizard基本具备编程语言的一些主要的元素,比如:变量、表达式、循环、逻辑和条件控制等。作为一种给小孩用的程序,Little Wizard当然不会让使用者像一个程序员那样去写代码,而是将所有的编程要素都做成了图标,使用时将图标拖动到程序区进行组合即可。
从界面上来看,Little Wizard将程序分为两部分――程序(program)和环境(world),如图。
 

 

图1 Little Wizard界面,左边部分为环境设计窗口,右边是程序设计窗口

环境即程序运行的背景或底图,在环境设计区可以根据系统提供的图标自己画背景图。系统默认提供的背景图标有房子、数字和字母三种。好在Little Wizard的配置文件是XML格式的,可以较容易地为系统增加自己喜欢的图标(说容易只是相对专业人员而言J)。
程序设计区列出了很多编程要素的图标,分为控制(Wizard-魔术)、数学、变量、条件与循环、其它等几个部分。图标很直观,大部分一看就知道它的用途。如果不知道,就将其拖到下面程序区用用吧(Execute)。
自己创建一个世界对小孩子无疑是非常具有吸引力的,看下面的例子,随着手拿魔杖的小魔术师的移动,房子就建好了。

图2 这就是修房子的程序

这个样子的程序和其它程序大不一样,让程序员们来看肯定不习惯。但不得不承认,这种程序比我们以前写的代码可爱多了。





图3 这就是用上面程序修的房子

是不是觉得很简单?也许因为太简单,Little Wizard没有提供语言规范之类的文档,软件包里面甚至ReadMe都没有,有个简单的指南(tutorial)还放在其它网站上,不过它提供了一个范例包,里面有一些范例程序。其实只要看看下面几个例子,你就能够完全掌握这门“语言”了。



图4 显示计算结果





图5 将Little Wizard随机移动0~5步







图6 显示变量c的内容









图7 显示A+B的结果











图8 数组及特殊用法

图中的环境数组记录了运行环境背景的值,例如上面程序将背景的第2行,第5列的图形(画的是Q)在当前位置显示了出来。





图9 如果A等于1,并且B或C也等于1,则移动Little Wizard






图10 移动一步然后右转,直到A不小于3





图11 重复显示E直到F等于2,很像C语言的do-while吧




图12 循环显示L的值直到L等于4,L每次加一



图13 也可以这样循环




图14 从大到小循环也可以

作为一个基于GPL协议的软件,Little Wizard支持多语言,但现在还不支持中文。我看了它的语言支持文件,不是文本格式的。不知道为什么没像它的其它配置一样用XML格式(原因可能是它对多语言的支持使用的是GTK),不然自己就可以将它汉化了,有兴趣可以加入到它的官方网站进行本地化工作。
用于使用了GTK,所以在M$ Windows上安装Little Wizard时,需要先安装GTK+。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值