[self-interest] simplicity

Ian Woollard junkmail at wolfkeeper.plus.com
Sun Jun 27 15:57:50 UTC 2004


Jecel Assumpcao Jr wrote:

>Normally we would be coming from the opposite direction - our first 
>attempts are much more complicated than needed. Einstein said "make 
>things as simple as possible, but no simpler".
>
I tend to think that that is always the way it goes. We first 
overcomplicate things, and the simplification results from spotting 
patterns.

There's also the other problem- oversimplification.

For example, Java forbids operator overloading, and yet the language 
itself uses it for Strings. For good expressibility for handling matrix 
multiplication or complex arithmetic it's nigh on essential.

I think Self is guilty of oversimplification:

a) no privacy/security

b)

> I understood that to 
>mean the point of maximum joy.
>
>  
>
With computer languages we are ultimately limited by the mythical man 
month concept- namely that there is no silver bullet to minimise 
software complexity and maximise productivity.

I personally believe that at best with computer languages we can 
minimise the number of problems that we cause ourself, and supply 
libraries and language features for design patterns.

Clearly to the extent that a language design forbids certain design 
patterns, that language has a deficiency.

For example in C++ you can do things like:

{
     FileHandle f = open("/adirectory/aFile", open);

    f << "I went to the zoo";
}

And the file may be automagically closed as f goes out of scope.

But this is unreliable in Java/Self/Smalltalk- you don't know when the 
GC will get around to release it. I consider this to be a bug in these 
languages.

This isn't apriori a question of destruction of the memory of variable 
f- if the language specification caused a special method to be invoked 
on the variable as it went out of scope then the appropriate behaviour 
could be obtained. The inefficiency may be easily optimised away by the 
compiler for the usual case of variables/objects that don't do anything 
in that case.

There's lots of other things like that.

>-- Jecel
>P.S.: http://www.merlintec.com:8080/software/11 shows some of my 
>attempts to find that point, including regarding things such as 
>optional arguments and stuff
>  
>




More information about the Self-interest mailing list