Documentation generation

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Sat Aug 7 13:16:26 PDT 2010


On 08/07/2010 02:53 PM, Walter Bright wrote:
> bearophile wrote:
>> Walter has said that putting ddoc inside the compiler helps keep ddoc
>> uniform, so people don't invent/use something different. In theory
>> this is a
>> nice purpose, but in practice I have seen lot of people use other
>> documentation means for D, Doxygen. Walter seems to ignore how much often
>> such other systems are used instead of ddoc.
>
> It's fine if people choose to use other documentation systems. Ddoc,
> though, sets a minimum standard, and it's always there, requires no
> additional installs, is always synced to the compiler, is always on
> every platform D is, etc.
>
> My experience with languages that do not have built in doc abilities is,
> by and large, only a tiny minority of programmers use a doc system.
> Having to research, download, install, read the manual, address
> incompatibilities, etc., takes effort and the reality is that by making
> such effort close to zero it greatly encourages people to use it.
>
> The same goes for unit tests.
>
> For another example, back in the 80's, it was commonplace for people to
> dis the C text preprocessor as "not a real macro system". Those who
> wanted a better one were advised to "just use m4". How many people using
> C or C++ today use m4 as the preprocessor? Zilch. The C preprocessor was
> good enough to get the job done, it was always there, always ready, and
> that was that.
>
> (Note that I'm not defending the preprocessor, I'm just illustrating the
> power of having something built in as opposed to being a separate tool.)

Boost's preprocessor library is a powerful exhibit in favor of your 
argument. I think I wouldn't be mistaken to say that everything it does 
can be done much easier and much better, plus with m4 you can do a lot 
other things of interest. But the Boost preprocessor library wins 
because "it's there".


Andrei


More information about the Digitalmars-d mailing list