Leopard Programming Language
If you're new here, you may want to subscribe to my RSS feed. Thanks for visiting!
I recently came across the Leopard Programming language. Robert Scoble did an interview with Brandon Watts who developed the Leopard Programming Language. My initial reaction was of excitement that another attempt was being made to engage more people into programming. Only problem is that my opinion quickly shifted from ‘looks interesting’ to ‘absolute rubbish’. Leopard is not a ‘programming language’ it is at best a macro language and a very poor one at that.
I am a huge advocate for engaging more people into the programming arena but this really is not how to do it. Leopard attempts to get people engaged in putting together simplistic interfaces by automating the process using simple keywords. The core problem with this is that although it may initially engage I can see people quickly becoming frustrated with its abilities and then finding they have learnt nothing about programming.
The problem with trying to engage people in this way is that the reality of todays programming environments requires them to understand some core concepts such as control structures, memory manipulate and mathematical/operator precedence. I recently did an article about Scratch which uses a graphical interface that does a great job of hiding the core fact that it is still a traditional programming language underneath. It lets you build up layers of structure using the Lego like building blocks.
These blocks can be used in very simple forms to start with and then as the users confidence grows they can build up more and more complex structures. As with any good programming language Scratch gives the user the ability to build whatever their minds can imagine. Leopard in comparison will only succeed in turning people away from programming because they will have been miss-sold what programming is all about.
For this reason I would suggest anyone steer very clear of Leopard and I hope Brandon quickly addresses these issues because at the moment he is only doing damage to his cause.
language leopard Programming scratch
Comment by Ricky Clarkson on 1 July 2007:
It looks like a reasonable idea with a weird implementation. Up to ten of each kind of variable, and only those primitives provided by the language (no user-defined procedures - in fact, there are no names that the user can give to anything).
The significant blank lines thing is odd, I’d have gone for significant indentation, like Python, or a choice between parentheses and indentation, e.g.:
window title (”Hello”)
or
window title
….”Hello”
I’ve found that non-technical people can cope with Lisp syntax quite easily.
(title window “Hello”)
I think that if Leopard gets any user base, the author will find himself adding all the things that you complained about. So, it’s not worth worrying about - it’s a short-term programming language - you can tell because it doesn’t allow the programmer to grow it (see this talk by Guy Steele about growing a language)..
Comment by Ricky Clarkson on 1 July 2007:
By the way, the link to the comments feed for this post is broken.
Comment by Nick Halstead on 1 July 2007:
Ricky, I agree that a range of non-technical people can cope with Lisp and many other languages if they have a logical mind. What annoyed me about Leopard is that it gives a false promise to its users of what they can expect to be capable of doing in the future. It does not give any kind of grounding and is therefore a pointless starting point for anyone.
Thanks for spotting the post comment feed! Fixed now.
Comment by Brandon Watts on 2 July 2007:
Nick,
Thanks for the open and honest feedback. Leopard takes a unique approach in enabling users to quickly develop their own applications, and it’s been recognized by everyone from students, teachers, hobbyists, and even one of the lead developers at Intuit. I’ve received countless e-mail’s from people that have developed an interest in learning programming thanks to Leopard, and that’s all because Leopard broke them into software development and let them build applications that they felt good about without having to learn all of the complexities that can sometimes be associated with programming. When I first started programming, I didn’t find what I was looking for, and Leopard has been developed into the tool that I never found.
With that said, I want you to know that I do fully understand where you’re coming from, and I’d like to assure you that I’ve had these points written down on the roadmap for future iterations of the product, and one of my major goals has been to add logic, looping, and other programming concepts to the language. Trust me, I will make this happen, and the way that it’s implemented is key.
As any programmer knows, there’s always more work that can be done, and I encourage you to stay tuned to see what Leopard develops into in the future.
Trackback by Anonymous on 2 April 2008:
sensual couples pics…
sensual couples pics…
Trackback by Anonymous on 4 April 2008:
Joyce Dewitt Naked Nude…
Joyce Dewitt Naked Nude…