[squeak-dev] Smalltalk development tools in Scratch

mokurai at earthtreasury.org mokurai at earthtreasury.org
Fri Jun 21 06:23:06 UTC 2013


In Scratch, Etoys, and Squeak there is an excellent suite of development
tools (an Integrated Development Environment, or IDE) that you can access
from various menus and tool palettes. Much of this is documented in
various Squeak manuals and tutorials. I am working on a version for Etoys
at FLOSS Manuals explaining how to get at the IDE tools, and a bit about
how each works.

http://booki.flossmanuals.net/etoys-reference-manual-vol-ii/_edit/

The System Browser lets the student and developer explore the class
hierarchy of the system it lives in, including the code of all methods,
and to modify anything or add and organize new classes and methods. You
can search for variables, method names (selectors), code fragments, and
much more. Class definitions provide extensive documentation of the source
in each system.

All of these are known as introspection tools. Smalltalk and systems built
on it have the best introspection tools in the business.

After you get a chance to explore Scratch, please let us know what other
documentation you think would be needed.

The companion vol. I of the Etoys Reference Manual documents the User
Interface and available Objects in the parts of Etoys meant for children,
where the features described in vol. II are somewhat hidden from users
unless you know how to turn the limitations off or bypass them. (Turn
eToyFriendly off and the debugHaloHandle on in Preferences. Set the
Chicago developer theme, and turn off ('destroy') the Sugar flaps to get
to where you can turn the Developer flaps on. Or skip all that to start
with, and just learn the keyboard shortcuts to get at the various hidden
menus and tools.)

Continuing on Scratch: After you turn the fill screen off, you can click
at the bottom of the window, outside the ScratchFrame, to get the World
menu. From there you can open various tools. From inside a number of these
tools, you can open many other tools, including the hierarchy browser,
from various menus and toolbars.

There are many differences of detail between the various tools in the
three environments, and the access to other tools from within them. I
cannot give you the whole story in an e-mail, of course, but I can
recommend that you move your cursor around in the System Browser and other
tools to see where menu icons pop up, and that you select names of
objects, variables, methods, and so forth, and shift-click to see what is
on the menus for each of them. Also right-click everywhere to get the
names of Objects and to gain access to halo tools and menus. I also
strongly suggest that you make notes. There is a remarkable lot of
information that you can discover, and then have to remember how to get
to. Let us know how that goes.

We could at some point create a detailed manual for the Scratch/Squeak
IDE, similar to what I am working on now for the Etoys/Squeak IDE.

I am also collecting references for a bibliography of Smalltalk, Squeak,
Scratch, and Etoys.

On Thu, June 20, 2013 11:27 pm, H. Hirzel wrote:
>>
>> Treat me like a beginner. I have two targets:
>>
>> 1. I want to document the source code of Scratch.
>>
>> 2. I want to modify Scratch.

I would like to suggest that as a beginner, you should start by
understanding how Scratch works as presented to its intended users, and
what it is capable of, before diving under the hood.

> ...
>> You change code using browsers in Smalltalk itself.  It's not a good
>> idea to try to change code in the files.
> ....
>
>> You create new classes using a Smalltalk browser.  While you could use a
>> file and file in the file it's not a good idea to change code in files.
>>
>>
>>
>> Squeak by Example [8] talks about a 'hierarchy browser' which is easy to
>> find with the files provided with it. Is there a similar kind of thing
>> to
>> explore Scratch objects? If yes, how to get to it. If no, how do can I
>> trace
>> the hierarchy of inheritance objects used to make Scratch.
>
>
> Yes, you can 'get behind the scenes in Scratch' by using a 'rabbit
> hole' as Markus Gaelli wrote
>
> http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-January/168424.html
>
> "You know that you can "shift click" into the top half of the R of
> SCRATCH on the top left of Scratch -- then open the rabbit hole via
> "turn fill screen off"...
>
>
> The thread in January 2013 started by Stephane Rollandin asking
> http://lists.squeakfoundation.org/pipermail/squeak-dev/2013-January/168401.html
>
> <citation>
> Hello,
>
> I'm currently studying the Scratch code. The image I have (the BYOB 1.3
> image) has a Smalltalk version of 'MIT Squeak 0.9.4 (June 1, 2003)'.
>
> How could I find the original corresponding base Squeak image (that is,
> the same image without Scratch code) ?
>
> Stef
> </citation>
>
> HTH
>
> --Hannes
>
>


-- 
Edward Mokurai
(&#40664;&#38647;/&#2344;&#2367;&#2358;&#2348;&#2381;&#2342;&#2327;&#2352;&#2381;&#2332;/&#1606;&#1588;&#1576;&#1583;&#1711;&#1585;&#1580;)
Cherlin
Silent Thunder is my name, and Children are my nation.
The Cosmos is my dwelling place, the Truth my destination.
http://wiki.sugarlabs.org/go/Replacing_Textbooks




More information about the Squeak-dev mailing list