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
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 increased, generally speaking 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
That's not to say that either system 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).