Weighing in a day late, as I only get the digest version...

If you believe Self is the language of simpilicty you either: 1) Have lost all touch with what it means to be a beginner; or, 2) You are way too close to the language to see how it looks to people who program with other tools. 

I could not disagree more, and I have ample supporting data to prove my point.

A long time ago (1987-1993), I taught Smalltalk to a large number of people (hundreds, in groups of ten). Experience levels varied from beginner (ie did not know any programming at all) to wizened graybeard.  The beginners had the least problem with Smalltalk. As experience level i ing difficulty increased, because too much mental energy was expended on either (a) trying to understand Smalltalk concepts in terms of the familiar ones of location, address, pointer, etc, or (b) trying to figure out how the implementation worked from first principles, or (c) [related to (b)] why it could never be efficient and hence would always be a toy and their jobs as C/S3/assembler/.. programmers were secure.  There were exceptions, of course, but this trend was clear.

When I left that position to join the Self group, my successors took on the task of using Self (UI1!) in place of Smalltalk to introduce object-oriented programming, and the data suggested that for beginners indeed the learning process was smoother.  (I say "suggested" because the classes ran only a few times - not enough to draw statistically valid conclusions - but the anecdotal and numerical evidence was fairly convincing.)

That's not is simple. The point is that through a process of gradual disclosure the typical person can become an effective programmer, and they rarely encounter insurmountable obstacles, or have shocking surprises (with some notable exceptions, such as the metaclass hierarchy in Smalltalk).

-Mario