Article in Wired

Bijan Parsia bparsia at
Mon Jun 7 18:50:23 UTC 1999

--On Monday, June 07, 1999, 12:46 AM -0400 Dino <gte949e at>

> I strongly back this up....  One of the most difficult aspects when I
> began programming in Squeak was due to lack of documentation.  Since
> everything in Smalltalk is dynamically binded, it can be extremely
> difficult to trace what kind of variable goes with what class especially
> when they have awkward names.

I don't understand what you're talking about. An example of this problem and
how it's due to dynamic binding and how it's not addressed by current tools

>  I think all classes should have a running
> example of itself along with a few comments along the way.

Worthy ideal. 

> Something like the Java API would be incredible.  One of the reasons Java
> became popular fast...  it was easy to learn, documentation and books
> everywhere about it.  If you don't even have an API, beginners will have a
> difficult time.  Some cannot tolerate spending large amounts of time
> sifting through source code to find what they want.  That's one reason so
> few people even give Squeak a chance.

This I really, really, really must protest. What makes you think that it's
"so few" rather
than "so many" who even give Squeak a chance? I think the Squeak community
is vibrant, growing, and, in general, doing rather well. 

As for documentation, there *is* documentation available for large chunks
of the
Squeak system. The Blue & Purple books do a fairly decent job. Inside
is widely applicible. (Yes, yes, yes, I grant that in-system, online,
cheaper, freer,
more easily accesible, etc. documentation is better, but that's a lot
different than
saying there's *no* documentation, or that the documenation is wholely
especially if you haven't *used* it.)

Finally, and I've said this before, and I'm not the only one, Squeak has
not yet
hit is "for the public/newbies" release yet. Morphic, for example, is
*still* experimental,
though it's getting more polished with every release. I think this is all
made quite clear.
Yet another call for documentation (as opposed to *providing*
documentation) isn't 
telling anyone anything new.

>  A language with dynamic binding and
> no documentation is like trying to find a colored needle in a haystack
> without knowing what color you're looking for.

Again, I don't know what this means. I found the tools for navigating
Squeak code
inadequate *until* I read some books on Smalltalk. Now, they typically
suffice and
I'm often frustrated when trying to unpack, oh, java code. That's just my
experience, of course, but it's a real one. Now I can pretty much figure
out a
class structure or a method without *too* much difficulty and without a
of futility. And when I compare situations where I *do* have documentation
one's where I don't, documentation don't necessarily make much of a
(And yes, I have concrete examples. And yes, I think the documentation is

The big picture docs that Lex describes also exist (at least some of them).
One move
I'm trying to make now is from understanding Squeak well enough to do stuff
learn new things in a comfortable way, to feeling totally at home designing
implementing ideas in Squeak in a natural and perspicuous way. For that
shift, I've 
found Kent Beck's books invaluable.


More information about the Squeak-dev mailing list