simplicity (was: Language enhancements)

Jecel Assumpcao Jr jecel at merlintec.com
Sat Jun 26 22:58:27 UTC 2004


On Friday 25 June 2004 22:03, Michael Latta wrote:
> I will read the paper for sure.

I agree with the comments you made in the other email. In fact, I had 
said that this could be an inspiration for you, but was not likely to 
be a solution.

> I would say however that simple is not enough, it must be simply
> elegant.  The simplicity must solve a number of issues.  I am sure
> you had this in mind as well.  Just as Self can meet all the needs of
> class based inheritance without needing all the attendant
> infrastructure or restrictions, it would be better to have a simple
> elegant solution to many problems such as cloning of trees of
> objects, and adding transactionality to objects, and concurrency
> control, etc.  I may end up landing on something more akin to aspects
> than any specific features.  At this early stage it is still mostly
> an adventure, the result of the journey can not yet be predicted.

One thing that is important to distinguish is whether a given instance 
of simplicity is "painful" or "joyful".

Imagine that you are trying to create the simplest paint program 
possible. The user interface could use just two keys: "space" moves the 
cursor to the next pixel and "tab" cycles the current pixel between all 
available colors. This is enough to get the job done, but nobody would 
say it was fun to go back a pixel (you have to press "space" 
(800x600)-1 times for a medium resolution drawing!).

You could make it a little more complex: four cursor keys to change the 
pixel selection and "tab" for the color. This is much more joyful to 
use. And you could add even more stuff. There is a point in which the 
extra complexity will make the program less fun to use.

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 understood that to 
mean the point of maximum joy.

-- 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