Documentation

Bijan Parsia bparsia at email.unc.edu
Thu Jun 10 23:19:03 UTC 1999



--On Tuesday, June 08, 1999, 6:36 PM -0400 agree at carltonfields.com wrote:
[snip]
> 
> But in practice, most programmers in Pascal, C and Java don't write many
> small routines -- they write complex big ones (in part, I think, because
> the fixed cost in Syntax, variable definitions and managing the codefile
> is so great).  Browser writing tends to encourage precisely the kind of
> refactoring that lends to self-documentation, leading to many smaller
> pieces of code, and making it painful to write monolithic hunks of code
> (at least after you finish the "initial hack").
> 
> Also, from my reading of the literature, this might not just be a
> question of style: it might arguable be a question of best practices.
[snip]

I think the IDEs have a lot to do with it as well. Smalltalk isn't just or
even primarily a language, but an enivronment. (Even that way of putting it
seems misleading: Smalltalk is a community.) And the environments make
certain things very easy which, in turn, make certain coding practices more
fluid.

One experience: I was trying to port some Python code to Squeak and it
seemed very straightforward, at first. I was just mindless mapping classes
and methods and so on. But I hit a point where the Python-in-Squeak just
was *wrong*. The whole structure was very frustrating. I felt much more
awkward than was normal for me when working in Squeak.

Analyzing things later convinced me that there was a fairly subtle mismatch
between the Python program and Squeak. Nothing specific lept out. The
Python classes seemed well-factored. The methods were small. Etc.

Note: I'm not saying that there's anything mystical going on :) 

Cheers,
Bijan Parsia

P.S. I only read the Python as basis for programming literacy after writing
this. No slur on Python intended (by *this* post, anyway :)). From my
skimming the proposal, I was a little disappointed that they didn't note
that Smalltalk was designed for that very task.





More information about the Squeak-dev mailing list