T Spaces, Jini and musings on the new world order (Was: parallel processing smalltalk)

Steve Dekorte steve at dekorte.com
Wed Dec 23 05:28:01 UTC 1998


wirth at almaden.ibm.com wrote:
> I'm not so sure that a "static" language like Java will make it.  Once you
> create a Java object and let it loose into the world, you've nailed down
> it's class definition forever.  There's no way to evolve structure.  Seems
> to me that you either need object "death" (biology's answer to the need for
> evolution), or more dynamism in the structure of objects (e.g.,
> reparenting, or cloning and adapting prototypes).  

I agree. Of course Smalltalk shares some of Java's difficulty in
dealing with change due to their shared class-based object model.

> To put it in my favorite (macabre) analogy: Static languages are like going
> to the doctor and telling him you have a hangnail, whereupon he agrees,
> pulls out a pistol, shoots you and sends a message to your mother to have
> another child.  :-)

That's about right. Unfortunately people tend to be too short sighted 
to see that effectively dealing with change is our most important problem.
Most refuse to accept that change is even something that should happen.
When it does, it's frowned upon as a sign of an initial poor design(as
if any design could not be improved). 

The thing that distinguishes software from all other forms of engineering is 
that change can be much less expensive. Even so, much of computer
science has been focused on decreasing change - provability, analysis, etc resulting 
in static, typed languages, a myriad of methodologies and a high rate of project 
failure. The pursuit of systems that are "good" from the start has been done 
without considering whether it could be cheaper to make systems in which it's easier 
to make mistakes but have a higher rate of improvement because the lower cost 
of change.

Steve





More information about the Squeak-dev mailing list