Whole other debate on keyboard mappings

Tim Rowledge tim at sumeru.stanford.edu
Thu Jun 6 19:15:54 UTC 2002


Lex Spoon <lex at cc.gatech.edu> is claimed by the authorities to have written:


> Oh, I see.  That's very nice.  It does mean that the image must have
> an appropriate SystemDescription object available, though, doesn't it?
> What if I port Squeak to some new system and try to use an existing
> image?
Two immediate possibilities spring to mind for this - first one being to
use the external file idea, second that since we now have a variety of
workingplatforms it is easy to write a new SystemDescription on a
workign platform. We pretty much need to do that for FileDirectory
anyway since it is so broken that most platforms seem to need fixes. 

> Unfortunately it will open the floodgates for ever more
> platform-specific stuff.  :)
It's a three edged sword.

Yes, utter portability is wonderful and I value it higher than almost
anyone else. Work on as many Smalltalks as I have and it becomes very
dear to one.

On the other hand many platforms have peculiar needs that are really
good to handle cleanly. Key mapping is probably the least of them, we
have file naming etc as well.

On the gripping hand very few people care enough about decent
architecture to bother to develop sensible schemes for allowing
cross-platform platform specific code. Thus one tends to end up with a
thorough demonstration of Sturgeon's Law.

> Also there's the whole "virtual machine" strategy.  It's nice if the
> image sees the same sort of machine no matter what platform you are
> running on.
Absolutely; but I like to draw the line a little higher than just the
bit we tend to refer to as the vm, the bit written in some dead language
like C or C++. That's why I try to remember to talk about the Object
Engine, which lets me play in the lower levels of a decent world
occasionally. It also simplifies the deeper levels of the vm by simply
removing them to the image:-)

tim
-- 
Tim Rowledge, tim at sumeru.stanford.edu, http://sumeru.stanford.edu/tim
Strange OpCodes: DNPG: Do Not Pass Go




More information about the Squeak-dev mailing list