A stupid newbie question

Alan Kay Alan.Kay at squeakland.org
Mon Oct 8 14:52:33 UTC 2001


Patrick --

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 
preserved.

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 
projects.
      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).

Cheers,

Alan


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
>they??
>
>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?
>
>Regards
>Patrick
>
>---
>
>Patrick,
>   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
>the
>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
>options in
>the standard image are available to convert a string to a point.  This is
>not
>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' )
>readStream.
>Phil


-- 




More information about the Squeak-dev mailing list