a new programming language that makes it easy to create your own interactive stories, animations, games, music, and art -- and share your creations on the web.Scratch is written in Squeak, an open source implementation of the smalltalk language, and if you've been following the OLPC project for a while, you'll probably have come across the name before, usually in conjunction with etoys. The OLPC wiki says of, etoys:
[etoys is] a media-rich authoring environment with a simple, powerful scripted object model for many kinds of objects created by end-users that runs on many platforms.And what, might you ask, is Squeak? According to Squeakland, the home of all things related to Squeak and education, it is:
a "media authoring tool"-- software that you can download to your computer and then use to create your own media or share and play with others.So, are all these things the same?
Well, not exactly. The best explanation I've uncovered came in an email last month to the Squeakland mailing list. In response to a query bout the suitability of etoys for a group of school children with learning disabilities, Eric Eisaman, a physics teacher who has been using Squeak etoys for a few years, pointed out that different classes respond differently to Scratch and etoys and appears to suggest that Scratch is a good introduction to etoys, which is a good introduction to squeak:
[...] "Scratch" is a gentler approach to programming than Etoys yet lacks some of the advanced functionality. [...] The more advanced students have shown some success in creating with the latest Full Squeak image without using Etoys. [...] I think it's important for the students to see growing levels of sophistication built on the same basic virtual machine going from Scratch to Etoys to Squeak to Smalltalk.
Although the response to these tools has been very positive, just have a look at the number of diggs the story received when it hit the front page on Tuesday, there are a couple of vaguely worried noises emerging. Although the tools being developed - etoys and Scratch - are without doubt well thought out and expertly implemented, two questions emerge - Why are these tools almost exclusively "game" orientated and are the developers focusing on the tools themselves as opposed to the ability to actually learn tools.
The first question is posed by _why, a ruby developer who has put together a package called HacketyHack which teaches kids to program useful applications with simple coding and the second mirrors a recent concern shown by Mark Shuttleworth of his Shuttleworth Foundation's efforts to develop a meaningful curriculum for young learners.
Whether such concerns are justified with regards to this specific piece of software - _why recently commented that Scratch is a positive step for Squeak - they appear to remain for the wider OLPC project.