[OT] is morphic too simple?

Stephane Ducasse ducasse at iam.unibe.ch
Mon Apr 30 08:55:33 UTC 2001


Hi andrew 

thanks for sharing that with us.
I have still some remarks

on 4/26/01 8:57 AM, Andrew P. Black at black at cse.ogi.edu wrote:

> At 17:34 +0100 2001.04.21, John Hinsley wrote:
>> 
>> I can't believe that Sun had this (in Self) and decided to go with Java.
> 
> Excuse me; it's late, I'm sick, and I've been thinking too much ...
> 
> But it seems to me that the state of our "science" today is very much
> like a primitive tribe.  When someone breaks out in hives, or has a
> stomach ache, they first talk to their friends, but if they don't get
> help, they  go and see the witch doctor.  They are told to cross a
> bunch of sticks, dance around them, and sacrifice a sparrow.  What
> happens?  Well, quite often, the hives go away or the stomach ache
> gets better.  But they have no idea why.  Of course, the witch doctor
> likes it that way, or else people would not give him any beads.
> 
> When some software starts doing mysterious things -- like zapping my
> filestore or my computer refusing to boot -- I first talk to my
> friends, and if that doesn't help, I call tech support. (I've had
> some pretty desperate problems lately ;-).   The tech support Wizard
> walks me through a process of muttering incantations, reinstalling
> something for the third time ... and, quite often, things start
> working again.   I have no idea why.   I wonder if the computer
> companies like it that way?
> 
> I said that I've been thinking.  I'm trying to figure out _why_ I
> like to spend time in Squeak.  After designing and studying
> programming languages for over 30 years, why am I back with
> Smalltalk-80?  I think that there are several answers, but John is
> nosing around at least one of them, with the email to which this is a
> reply.  He said "Morphic is too simple".   That prompted the zeroth
> reason that I spend time here.
> 
> (0) Squeak is simple.  Maybe too simple.  As a language, it's like
> XP: it's the simplest thing that could possibly work.  No protection,
> no syntax (above the method level), no initialization, no types, no
> packages, no modules, no to most of the things that   I (as a
> language designer) thought were important.

And they were not?
>From your experience in building languages what are the minimal things
that you would add to the language ? to the IDE to support the language?.

I believe that from a simplicity point of view and teacher point of view
having an automatic instance initialization
Behavior>>new
    ^ self allocateInstance initializeInstance
 would be really an improvement.

Note that having new doing that would NOT means that we would lose speed
because the new having the semantics of basicNew would be renamed as
allocateInstance. 

I realized that namespaces in VW5 were bringing a ***lot*** of complexity to
the language and the ide. Too much impact on the simplicity for the benefit.
To the point that I'm even sad that this happen to my favorite Smalltalk.

I was thinking that namespaces were important
but Roel is really trying to make a list of what we lost and we lost a lot.
The biggest lose is simplicity.


Still I think that a modular way of dealing with code would be good.
(but I do not want to open this debate again ;))))))))



> 
> (1) No Magic.  If I want to know why true & 3 answers 3, I can go and
> read the & method for true.  If I want to know why I'm asked for my
> initials when the moon is blue, I can go and read
> SystemDictionary>>openSourceFiles.  It may not always be easy to
> figure something out, but I know that it's always possible.
> 
> (2) It's fully reflective.  When I want to figure something out, I
> don't have to switch to another environment (browsing a source tree
> with a text editor).  I can stay in Squeak and find what I need.
> (That's introspection.)  Not only that, I can change what I want, and
> the system behavior changes.  I'm not meddling with an image of the
> world, I'm meddling with the world itself.  (That's reification.)
> About the only place where this is not true is in the process of
> building a VM, which may be why I haven't explored doing that.

Yes me too.
Still I'm dreaming about some new reflective schema. But I'm sure that
this will change in the future ;)
 
> (3) The development tools are not "special". Anything that I can do
> in a browser I can do with a doIt.  If the tools don't provide a
> button for what I wan to do, I can fake it.  A while ago I was
> wondering how many methods were understood by String.  (I was trying
> to convince a student that it would be fun to implement
> tree-structured strings.)  So I brought up a protocol browser, got a
> Morphic halo on the PluggableListMorph, inspected it and found the
> answer.  Everything is an object, duh ... such a simple idea, yet I'm
> still being surprised by its profundity.

It's fun that you say that because I often have this feeling after all these
years in oo  even if this is less than you

> (4) Squeak isn't a language, it's a place.  This idea was startling
> to me when I first read it -- go back to Alejandro F. Reimondo's mail
> to this list on 28th November 1999 -- a very thought-provoking
> posting.   Despite all the power of human languages, they are an
> obstacle to communication as much as they are an aid.  That's why we
> have to meet each other face to face, rather than sending email and
> writing documents.  That's why XP encourages developers and customers
> to talk together daily, rather than sharing requirements specs.
> Can you imagine doing a woodworking project by talking to the tools
> and telling them what to cut?  It might work quite well for cutting
> boards to size.  But at some point I would need to feel the tools in
> my hands ... the feel of the plane biting into the wood and the way
> that I react to it are far too subtle to be put into words.  I
> thought at first that Morphic scripting letting us build applications
> without programming was just a toy for children.   But I was the
> child; it finally dawned on me that this was the way that all
> applications will be built in a hundred years.  We are all pioneers
> here, I think ...
> 
> (5) Squeak is a community.  A community in which I can risk saying
> stuff like this and not get laughed at.   A bit like the world used
> to be in the early days, before computing became big business.  So,
> thanks for listening, and sorry if this has rambled a bit.

I sincerly hope that this community will continue to let young people
creating new things.

> Andrew
> 
> 





More information about the Squeak-dev mailing list