CLDOC: A Clang-Based C/C++ Document Generator
Phoronix: CLDOC: A Clang-Based C/C++ Document Generator
CLDOC is a document generator for C and C++ projects to create documentation automatically out of comments as well as creating XML-based descriptions of the API. CLDOC is a new project but already sounds promising and is being powered by LLVM's Clang C/C++ front-end for its parser...
I wish it good luck, we really need good small and modern documentation tools. Doxygen is bloated, I had to download like 600MB.
what did you install, a fresh copy of Linux?
Originally Posted by mark45
I was/am on Ubuntu 12.10 amd64 and wanted to try to generate some doxygen stuff myself, and the installer downloaded like 600MB of random stuff, mostly "laTex" packages I guess.
doxygen isn't bloated. It has DEPENDENCIES. It's not the same thing at all. doxygen has a big job to do and it needs a lot of help.
I know that my own frustration with doxygen lies not with its bloat, but because it's not the same parser as the C++ compiler. It's just not sophisticated enough to handle a lot of fancy C++ constructs. I've found cases where it goes haywire and spits out bad XML if you give it really funky C++ code with namespaces, and complex expressions for default arguments, and multiple inheritance, all happening all at once. I am sympathetic to the doxygen developers, it's a real drag to have to maintain two different parsers that are basically both doing the same thing, and C++ has a real knack for allowing developers to write TRULY inscrutable code.
The thing that I really despise about C++ is its total abtuseness. you can have a line of code in your program that looks like this:
c = a + b;
and it looks like you have a simple addition and a simple assignment, but since both operators might be overloaded, this simple line of code is actually doing something else entirely, and you must pick your way through pages and pages of C++ header files to figure out just what is going on. You can specify types in your overloads so you can write pages and pages of overloads and the poor guy who has to read the code, he's got to pick over all of them to figure out which one is actually getting called. The assignment operator doesn't necessarily have to do any assigning, and the addition operator might not actually be adding anything at all.
Remind me again why we call computers "labor saving devices" when they make you jump through hoops like this. Of course doxygen is not going to be of any help to you here either, there's no way it has the sophistication necessary. However if the documentation generator is as smart as the compiler, it will be able to tell what is going on, and hopefully it will cross-reference you to the appropriate code.
Dependencies that amount to such a pile of megabytes does make it bloated, regardless of your interpretation.
As to your a + b is overcomplicated in C++ - it's your problem, I don't suffer from that paranoia, nor had problems with that.
Last edited by mark45; 02-13-2013 at 05:20 AM.
If not by using LaTeX, how else is doxygen to generate good-looking PDF documents?
I only said it might be the issue of the bloat, but I might be wrong or there could be other sources too.
Either way, your question is very good and should be addressed upstream. A web browser (Firefox) has
so much more functionality yet it's like 10-20 times smaller, so imo Latex should be rewritten
or someone needs to create a new project - not that anyone is willing to. But requiring a few hundred megs
just to be able to handle PDFs is clearly bad.
My doxygen install is 7 MB.
Originally Posted by mark45
My tex install is much bigger (400MB, with something like 150MB of binaries), but then, tex is packages based, so extra features take extra space. I think the small installer for MikTex (enough to print a pdf, but extra packages will be installed on-the-fly on first use) is something like 30-40MB.
It's certainly big, but if you downloaded as much as 600 MB for doxygen, you probably did something wrong.
Wtf? I just installed doxywizard, nothing wrong with that, and it pulled with itself the horde of doxygen related deps, which is pure bloat no matter how a word Nazi tries to frame it.