In the 2003 proposal paper it says that "To allow a smooth progression to more complex programs, Scratch will include an underlying text-based programming language." This sounds like a wonderful idea, but I can't find any other references to it; did it get dropped? Along the same lines, is there a way to "difference" a pair of programs to track changes?
As Scratch evolved, and as we gained experience with a related project called PicoBlocks, we decided that a text-based language would get very little use. PicoBlocks has Logo as its underlying text language, but that has gotten much less use than expected. This may be in part because the PicoBlocks graphical language is more fun to use or because PicoBlocks programs tend to be fairly short so there is little need for a text-based language. In any case, for Scratch, we decided to focus on making the blocks language more powerful while keeping the blocks as compact as possible to make best use of the available screen space.
There is an obscure way to translate the scripts in a Scratch project into a text form (but not the reverse). This facility, combined with a tool such as "diff", could allow you to analyze differences between scripts/projects. If you send me an email using the "Contact Us" link below, I can tell you how to dump out scripts to a text file.
Last edited by johnm (2007-03-31 19:42:21)
Cholo71796: You are correct!
My understanding is that Squeak is written in Smalltalk.
Was Scratch actually written in Squeak (i.e. using the Squeak environment) or was it written in Smalltalk as an extension to Sqeak? Or something entirely different?