Squeak portability

Serg Koren Serg at VisualNewt.com
Tue Jan 20 20:01:47 UTC 1998


---- On Tue Jan 20 10:42:01 1998, Ward Cunningham said ------

>Serg -- Let me reverse this question. Who would you like to coordinate
>everything? How hard would you like them to work coordinating? How much
>would you pay for that service? Do you think that they would do it?
>Heck, for the right offer I will coordinate everything. Before you
>answer, remember that a number of different approaches have been tried
>over the years with various levels of success. -- Ward
>
>-- 

Hi Ward,
All valid points...however, do you use Squeak in a production environment 
as part of your job?  How many companies actually do?  I doubt very many.  
Hence, do you get paid for working with Squeak? I doubt it; you may be one of 
the few.  Why would you expect someone to be paid?  Squeak seems mostly to be 
made up of people who like Squeak, play with it, learn from/with it, etc.  
Devotees for the most part (I could be wrong, and I'm sure you'll tell me if I am).  

Yes it would be a fair amount of work; yes it would be worth it.  Would I 
do it for free?   Probably if I had the time, or if people could live 
with sporadic releases.  I'm sure there could be volunteers.  Maybe 
Disney/Apple could post some guidelines for submitting code or modifying the images 
in termsof what is and what is not a no-no.

I'm just saying it SHOULD be done...maybe a clearinghouse of a person or 
two from each platform type.  Even ONE web site with all submitted 
classes/images would help (with docs and caveats on each).  Just organize the thing!  

Maybe it would help if there were some guidelines a la the original 
Apple license that drew up the TYPES of changes that could be made to the image, 
to the classes, to platform specific code, and HOW to implement them.  
Patterns for maintaining VM & code platform portability.  

Or maybe just a simple statement that: "If any changes are introduced to 
the VM, and/or Smalltalk classes that cause an image built from your code NOT 
to run on a platform where Squeak is already running, cannot be called Squeak. 
 However, if any changes introduced can be made platform specific via 
well documented 'hook' methods, that version can maintain the Squeak name."  
For example,if I take the WindowsAPI code and can't run it on BeOS and I 
can't replace the platform specific methods without disrupting the rest of 
the Smalltalk code that invokes it, then maybe you don't have Squeak.

Maybe a rule should be:  Factor out all hardware/platform specific code 
from all interpreter/smalltalk code that invokes the hardware/platform code.  
If you haven't looked at it, look at the Interpreter Support Code classes (in 
all images).  The original Mac code is seperated out...the Mac source is there 
as sqMac<xxxx>  Anyone who wanted to port Squeak to Windows, etc just had 
to replace these files pretty much.  Try to follow that pattern.


I'm sure people will have problems with the above, but I'm working on the 
top of my head...

Even as a rank-Squeak beginner, I'm beginning to see various images, 
classes, platform-specific stuff being released as "Squeak"...and I'm being 
bitten because some of the stuff works, some blatently doesn't on the 
various platforms I'm playing on, and some is MEANT to break the portability of 
Squeak (Windows API code for example.)  How do I as a user know what and what NOT 
to download?  (Easy answers such as "whatever you want to try you'll figure 
it out if it's for you or not" are a cop-out.)  On the other hand there are 
TONS of neat things out there which wouldn't have been made if Squeak were a 
closed environment.   I dont' want it closed.  I WANT the API code.  I just want 
it to work (or be patterened so that it would be portable) on ALL Squeaks.  
Good stuff.  SqueakOS is a neat idea; but if it doesn't run on Windows, Mac, 
Unix, etc, please don't call it Squeak.  Call it Squeak Limited, or SqueakOSWin 
or Jerry'sOS, or something.  

Maybe just a naming convention is needed to distinguish "official 
Squeak releases" and releases other  people "hack/write".  

Am I ranting?  Just let's say I see a good thing in Squeak, but I see the 
free-for-all uncontrolled as being counterproductive in a lot of ways.  Squeak 
is still young; let's not follow the path every other language followed and 
end up in a morass.

At this point I have NO idea what the "official"/stable releases of Squeak 
are for each of the platforms.  1.3 was released...was that an "official" release? 
 The API calls...are they meant to be used under 1.3?  or do they only 
work under 1.2?  Who's postings can I/should I ignore on this newsgroup 
(maybe mine?)  

Sorry for being adamant; maybe I've given people a few things to think 
about if nothing else...
S


-------------------------------------------------
VisualNewt Software: http://www.VisualNewt.com/
Maker of Newt'sPaper(tm) the Premier Newton(R)
MessagePad(tm) News Reader.

-----------Sent by BeOS--------------------------





More information about the Squeak-dev mailing list