The Eclipse project has developed a toolkit which allows you to write Java applications via an application toolkit called JFace. This in turn uses a toolkit called SWT to provide native user interface objects to your Java program. End result: native look and feel, faster applications.

So, if you’re a software developer, go take a look at the Eclipse web site. See if you can spot what’s missing.

Hint: It’s something incredibly important. So important that it ought to be on the main navigator. Yet incredibly, it isn’t.

OK, I’ll tell you what’s missing from the Eclipse project.

There’s no fucking documentation.

Sure, there are a bunch of articles they link to. But an article in Java Programmer Monthly does not constitute an API reference manual.

Nor do the crappy comments extracted from the source code via JavaDoc. Yet as far as I can tell, that’s all the documentation that exists for the entire project inside or outside IBM.

Yes, there are third party books, or at least there will be soon. But third party books aren’t a good substitute for actual documentation either, because (a) they’re usually out of date by the time they’re printed, (b) they’re often written by someone with appalling programming habits, and (c) in this case the authors of the books are likely having to guess what the hell the code does as well.

Lack of documentation is a defect. It indicates crappy development practices. Any time someone suggests that you use a particular toolkit, ask to see the documentation. If it isn’t clear and well-indexed, run like hell in the other direction, because it’s a fairly safe bet the code will be even worse. (Hello, Struts.)