[Pharo-project] About FS: sad reality.

Sven Van Caekenberghe sven at beta9.be
Fri Feb 4 19:03:43 CET 2011

On 04 Feb 2011, at 17:36, Stéphane Ducasse wrote:

> Hi guys
> I'm sorry but I stopped working on FS. I cannot guess what is private or not, what is the interface of this code.
> I spent my time guessing and guessing wrong. So I stop. Simple.
> In addition I will veto the integration of this code in this state to be added into pharo (sad I started to write an help but 
> it is probably full of mistakes). I HATE undocumented code that tell me eveyr minutes that I'm a fucking idiot.
> Too bad I'm not smart enough. Now without decent comments (I mean more than a line in class comment when there is one) we cannot accept code.
> Sad but true. Good luck if you want to use it and improve it.
> Stef


Your quest for more comments is a good and a valid one, no question about it.
And I don't want to defend FS, I only know it from Lukas' blog post and it seemed better than what we have now.

But the quality of a good design is certainly not just comments.
It is perfectly possible to have code with lots of comments that is still bad.
And if you take away all comments from a good design, it can still be a good design.
Good abstractions, good names, separations of concerns, .. all those things that we all value are important.
Using proper language idioms and conventions is another good idea.
Many good programmers are a bit reluctant to write comments, and they usually value elegant code that speaks for itself.

I have certainly seen lots of really good code in the image that has little to no comments.
And I have seen lots of comments that make me sick.

It also seems pretty hard for someone who is not the original author to write comments.
And a prerequisite to writing comments is that you understand and like the system that you are commenting.
If you are struggling with something, that does not seem like a good state of mind to improve the comments.


PS: the public/private distinction is a bit hard in Smalltalk, but the conventions seem to be method categories with 'private' in them, no ?

More information about the Pharo-project mailing list