Blog

Scat - Communiqué

Communiqué on the recent discovery of our clandestine operations

STATEMENT

We believe there is a conspiracy going on all over the universe, evil forces are constantly fighting to take down great Smalltalk projects and port them to other languages.

In a quest against such demonic plots, a couple of us started a confidential mission to rescue the last of these endangered projects, namely Scratch.

Yesterday, our secret operations were accidentally discovered and published on the Internet, which is what compelled us to express our intentions and openly clarify our objectives.

MOTIVATIONS

It has been announced that Scratch is to be ported to Flash, which we consider to not be a very good decision for several reasons, including: There is no open source fully working implementation of the language, so it will be impossible to freely develop Scratch modifications The previous would endanger the continuity of projects to which we are firmly tied, such as S4A or BYOB Flash is not working (and never will) in many embedded devices If the aim of porting the project was to get it to work on the web, we consider flash to be one the worst possible choices, over javascript or even HTML5 Scratch is a pretty massive project featuring zillions of lines of code. Rewriting it from scratch (pun intended) is gonna feel wrong to many people who spent sleepless hours contributing to it

It is indeed true that Scratch is implemented in a very old version of Squeak, which makes modifying it a very difficult, tedious and annoying job, but we consider that dumping Smalltalk for good is not the solution to this problem.

CONSIDERATIONS

Since there are modern implementations of Smalltalk that pretty much overcome all these issues, we took the decision of trying to port the whole project into one of them. We considered Squeak and Pharo to be the two only valid candidates, for obvious compatibility and licensing reasons.

Being Pharo our main working environment, and because of its development tools being the ones in which we are by far the most productive, this is the dialect that was chosen.

CURRENT SITUATION

Scat is the name of the Scratch port for Pharo. Pretty much everything is working, check out this wiki entry:

http://code.google.com/p/scat/wiki/History

Demos: http://code.google.com/p/scat/wiki/ShowCase

FUTURE STEPS

We are not doing this just to have Scratch working in Pharo. At some point, we intend to re-engineer some of the awfully architectured parts of the project and make it modular enough to be able to extract certain parts of it for other pieces of software.

Imagine having a Scratch block palette and execution engine to have children (and not only children) make awesome music with, or visualizations, or scientific simulations, or even websites!

In short, imagine being able to bring the easiness of programming with Scratch to any possible field of computing!

THAT is our goal.

WHAT YOU CAN DO

Oh sure, please come and help us! There are three levels of implication in which you can be of great use:

Posted by Bernat Romagosa at 2 June 2011, 12:16 pm link

Comments

Excellent initiative. Let us Pharo knows if you need some modifications to ease your project! Thanks for such battle it is one worth. Smalltalk is a powerful language and we (the pharo team) are working hard to make Pharo cooler.

Posted by Stéphane Ducasse at 2 June 2011, 8:11 pm link

Good to see this!

In english 'scat' has a meaning with which we probably don't want to be associated, as a dictionary will show. Is there a better name? Maybe scamper?

Posted by Alan Wostenberg at 2 June 2011, 10:04 pm link

Sorry ... I didnt know that I revealed a secret since the project on SqueakSource was "public read" already when I stumbled upon it. There was no "No access" to limit it to the developers only so I just thought this port is already known in the Scratch community and I just missed any info.

Independent from that I think it is a great initiative - not because of Pharo. More because Scratch is such a nice piece of software!!!

Posted by Torsten at 3 June 2011, 10:27 pm link