Andrei's Google Talk

retard re at tard.com.invalid
Sat Aug 14 19:18:19 PDT 2010


Sat, 14 Aug 2010 21:32:18 -0400, bearophile wrote:

> Yao G. Wrote:
> 
>> You are just becoming a parody of yourself.
> 
> Everyone deserves respect when expresses opinions honestly and in an
> civil way, even when the ideas are wrong.

I just made some arguments against using ddoc since in my opinion it 
provides lower productivity than the competing tools. There are perfectly 
valid reasons to not use it. These are my opinions:

 - the markup/macro syntax is NIH new. It might be simpler for Walter to 
improve on, but a user i) has to learn yet another new syntax (it's quite 
likely that a developer already knows html/xml or javadoc/doxygen style 
or something like markdown) and ii) the user has to adapt to changes 
because the functionality is very primitive and users expect more 
features as the user base grows. This is a real issue if the project 
grows beyond say 5000 LOC. The managers/users of the documented project 
might expect features such as a TOC or inter-module hyperlinks.

 - the existing ddoc documents encourage writing in "html 3.2 optimized" 
way. Other document generators try to provide a generic interface with 
documentation syntax that improves the readability of the source code. As 
a result, doxygen generates all kinds of documentation output, but ddoc 
is mostly used to produce html pages. The candydoc system with its 
terrible javascript hangs many older workstations. The same functionality 
is better achieved with a more complete document generator.

 - the simple utility looks intriguing at first, however it doesn't scale 
much up. You might wish for new features/bugfixes, but the tool has very 
low priority. You can check the commit history - nothing revolutionary 
happens usually. Also, contributing new code to the toolchain requires an 
order of magnitude more effort than learning some other document 
generator. That probably explains why ddoc development is so dead.


Someone might ask, why I don't contribute or use ddoc. I have my custom 
made filters for .d files and I use doxygen. Works just fine. On web 
pages I use a template engine with syntax highlighting support. These 
system also support D just fine nowadays. This way I've maximized my 
productivity. I can use the same documentation tool for C/C++/Java/C#/D 
projects. No need to learn new syntax.

> It's meant to be a basic, simple tool that you can count on being
> there. If you want fancier, more powerful doc generation, you're free
> to use 3rd party doc generators like doxygen.

The default toolchain creates a certain kind of ecosystem. Ddoc 
encourages amateurish hobbyist project look and feel. It can't even 
compete with javadoc or rdoc feature-wise. Comparing with C or C++ here 
is moot, because those languages were invented more or less before these 
kind of document generators even existed.

Usually the larger projects count on tools being there. But it sounds 
weird to encourage the use of primitive ddoc in those projects.


More information about the Digitalmars-d mailing list