Brandon Watts has created a simple programming language for beginners called Leopard. Brandon sent me an email earlier this month and asked me to take a look at it. I had seen a write up on Leopard at Coding 4 Fun the month before but since I was doing heavy catchup from vacation at the time I hadn't looked at it yet. Brandon's email got me to read up on it, download it, and try it out a little. I appreciate the kick start.
Leopard is a very simple language and it is easy to get started with it. The install went smoothly and I loved that a number of install options (like creating all sorts of extra icons all over the place) were off by default. There are also a number of sample code examples that give one a taste of it's power.
I think of Leopard as what Logo would have been like if written for Windows programming. By that I mean one can create a window and add objects to it using code that looks a lot like what Logo is. The commands for drawing on the window are also reminiscent of Logo with instructions about lifting, dropping and moving a pen. One feature that is a big jump ahead of Logo is that one can use Leopard to open up a web browser and connect to web sites. The connection with Weatherbug, a sponsor of Leopard, means that doing all sorts of interesting and potentially educational things with weather data is really built into the process. A number of the provided samples take advantage of this connection.
There are some limitations I find serious though. There is no looping or decision making ability. They are in the works I am told and I will be interested in seeing how they are implemented. Also there doesn't seem to be a way to create modules/functions/subroutines. I think those are really helpful and something that beginners can and should learn early.
Obviously this is not an object oriented language but I don't see that as a huge disadvantage. The goal here is to hook beginners on programming and not to turn them into complete programmers.
I do think there is a natural progression from Leopard to something like Visual Basic. After a while I think beginners will become less interested in specifying window sizes and locations using code and more interested in getting to more active code. With Visual Basic and its drag and drop object creation one can get to the code quicker. And of course there is a lot of power in VB that isn't in Leopard. And of course with Visual Basic Express being a free download a beginner can get started pretty much for free.
Robert Scoble taped an interview with Brandon that includes a small demo of Leopard. You can see it here. You can read the Leopard blog Brandon maintains here. And the download site for Leopard is here.
I'd love to hear what others think? Are you or would you use Leopard to teach programming?