On Thu, 04 Apr 2013 19:25:35 +0100, Sven Van Caekenberghe <[email protected]> wrote:


On 04 Apr 2013, at 20:21, Marcus Denker <[email protected]> wrote:

On Apr 4, 2013, at 8:15 PM, Paul Davidowitz <[email protected]> wrote:

To Camillo Bruni:
I'm not using any slot image (I only looked over the paper). According
to the Pharo book, 'pvt' should be implemented in the mainstream image.

The Pharo book is about a version of Pharo from many years ago.

To Marcus Denker:
There are actually several methods in the image with the 'pvt' prefix.
Please update the doc (Pharo book) to remove talking about 'pvt'.  It
would have saved me a little headache :)

The pharo book is very old… yes, we need to update it. What should I not
do to have time for that?

        Marcus

Documentation, of any kind, always comes back to haunt you.
This is a real problem, even a class or method comments quickly gets out of sync as software evolves. Maybe, just like in code, the key is to write as little as possible in an elegant non repetitive way.


That's fine if you never want to have new people pick up your project and get started. Otherwise I would say that an undocumented API may as well never have been built. Look at Morphic. That's about all you can do with it if you've got a full time job that's not Smalltalk related - look at it. The documentation is about zilch and what there is consists of layers and layers of material relating to varying systems of varying ages.

The answer to Marcus' question "what should I not do to have time for that" is "anything". Nothing is more important than accurate documentation. Even a system that is broken will get fixed quicker if there is documentation which allows new hands to be added to the task of fixing it.

Incorrect documentation is WORSE than no documentation; would anyone really suggest that Pharo would be a viable system without any documentation?

My experience of several large Open Source projects (and many Closed Source ones) is that the people involved in the projects get familiar with the APIs and methods and can fail to see just how hard it has become for outsiders to break in.

This is why I'm worried about slots. At the moment I can at least learn about Smalltalk generically and pick up Pharo and, with a lot of effort, get to the point that I can do something useful. If new concepts are added to the language *and then used by the in-group to get on with the things they're interested in* without good documentation then all that has happened is that the tool has become more specialized for the work of the contributing group while becoming harder to access for others.

I'm *not* really that worried about slots in and of themselves if they can be added cleanly; I'm more worried about the gap between what documentation there is and how the system *actually* works growing ever wider.

I'm also not attempting to say that those who are very active with Pharo are bad programmers because documentation has become problematical - if they are then I'm a bad programmer too - I just want to point out that a system has even more need of documentation than a completed application and *if it's possible* (and I know that finance is an issue in the real world) then I think that updating the Pharo book(s) to a point where they describe the current Pharo 2.0 state is FAR more important than work on Pharo 3.0.

Well, that's my view, anyway as a professional programmer who has struggled to get to grips with Pharo in my spare time.

Thomas Worthington

Reply via email to