A stupid newbie question
Alan.Kay at squeakland.org
Mon Oct 8 14:52:33 UTC 2001
There are several answer vectors to your last question.
A bit of context is that one *does* distribute a *very big* OS like
Windows or MacOs to run .exe files and their equivalents. One does
distribute an environment such as the Flash plugin to be able to run
Flash media in a browser. Many of these were already done for you, so
it seems that downloading another largish one is a pain (and it is).
Squeak runs bit identically on more than 20 platforms, and it can do
so with or without a host OS or plugin. This is because it has all of
its own tools, and they are really portable. (It is a kind of
"OS-lite" for its own needs.) And, all parts of it are authorable at
all times. These properties are really important, and need to be
The first answer vector is that our aim was and is to make "21st
century media" that can be accessed, etc., on the Internet. You've
probably noticed that Squeak has an unlimited number of "desktops"--
called Projects. These are the "unit of work and play". They can be
stored separately, transmitted, etc.
So, e.g., one can go to the BSS (or other SuperSwikis) with or
without a mainstream browser and find many different projects done by
Squeakers of all ages. These are as small as they can be (usually in
the range 50KB to 500KB). They can be brought to your machine
(regardless of its type and OS) and they will run as regular Squeak
You can publish a project to a server with one button (look in
the golden "nav bar" at the bottom of a project). You can find
projects on servers and on your own disk with one button (look for
"Find" in the nav bar). The normal mode of Squeak is to have
authoring "on", so most projects can be modified, inspected, etc.,
and republished (a new version is automatically made on the server so
old versions are preserved).
(Remember once again that a "small" .exe almost always is not
really standalone, since it usually is making heavy use of tools in
Windows. The same analogy applies to the ".pr" files that hold Squeak
projects. They can be smallish but also quite rich because they are
the delta to what is in Squeak.)
The second answer vector is that there is quite a bit of movement
right now to come up with a dynamic module system that really does
allow much more fragmentation, but without losing what is powerful
about late binding (of most things) in Squeak. I think most folks on
the Squeak list would like to variously require a much smaller plugin
or helper to be downloaded and/or even be able to make a .exe with
minimal space penalty.
(I, personally, don't care at all about the latter goal just
because one of the charms of Squeak -- to me anyway -- is that it is
a rich environment with powerful authoring at many levels. So, e.g.,
I do not like the Adobe PDF reader that will not allow me to make
comments, annotations, etc. And I think Squeak media that don't allow
the "reader" to also be an author are really just throwbacks to
simple minded consumerism and computerism.)
Squeak Central's notion, which I think is shared my many on the list,
is to have a minimal sized download that can automatically pull in
further stuff from the Internet when needed or when advised. That is,
I would like to see the dynamic late binding preserved (as though the
Internet itself were the holder of the image and could provide
resources automatically as needed).
At 10:37 PM +1000 10/8/01, Patrick Castle wrote:
>Thanks Phil. And thanks everyone for your assistance.
>For no reason I can imagine, I didn't think to look in the String class even
>though I new I was dealing with a String object.
>All of the answers were helpful and I even understood all of them which
>impressed me. However, it is true that I'm easily impressed.
>I think I should try and post as many newbie questions as possible because
>reading pages of digest I realised my topic was the only one I could follow.
>I think I am an infant Smalltalker.
>There is something I don't understand however.
>If it is true that you can't deploy your projects as .exe files I'm not sure
>I understand what the point is of working so hard to evolve a development
>like Squeak. I'm sorry if that sounds like the dumbest question anyone could
>possibly ask, but in my mind, development environments that can't deploy
>projects as individually executable files are usually reserved for demos or
>those learner CDs on books for Visual Basic or something like that aren't
>I'm notorious for missing the point but would I really have to distribute
>Squeak in its entirety with any software I create to see it running on
>another machine? Isn't that a really inefficient use of resources?
>There's obviously so much more to this than I'm seeing so could someone set
>the record straight for me?
> You are getting a lot of help on this but I would like to add my two cents
>worth. The result of
>aPoint := FillInTheBlank
> request: 'Next move?'
> initialAnswer: '1 at 1'.
>is not a point. The temporary variable, aPoint, is a string. Remember that
>object paridigm is a message is sent to an object and the result (what is
>returned) is always. So, if at this juncture aPoint is a String what
>the standard image are available to convert a string to a point. This is
>obvious but the simplest and most portable solution is:
>aPoint := Point readFrom: (aPoint readStream).
>The parathesis are unnecessary but added to emphasize the conversion from
>aString to aStream. Now aPoint will be an instance of Point. Putting it
>altogether you get:
>aPoint := Point readFrom: (FillInTheBlank
> request: 'Next move?'
> initialAnswer: '1 at 1' )
More information about the Squeak-dev