Live data from Hacker News

Show HN: A modern documentation tool for C++ and a replacement for Doxygen

hdoc.io

11–14 of 14 posts

Re: Show HN: A modern documentation tool for C++ and a replacement for Doxygen

#11
post #10

I've been programming and documenting large projects with sphinx and doxygen for years now and I really don't see the appeal or the problem this solves. Bad documentation is because of lazy programmers. Nothing more, nothing less. If someone is actually able to keep up with the myriad changing C++ standards, not to mention testing practices and frameworks, documentation is not hard in comparison at all. What is often…

I agree that bad documentation is often due to lack of effort. Many developers don't like writing documentation, which is unfortunate because bad documentation can drag down otherwise great projects. If I'm evaluating two libraries and one has great docs and the other has awful docs, you know which one I'm picking.

Likewise, hdoc isn't instantly going to make an engineer spring up and say "I'm going to write documentation!". No tool is going to do that. hdoc is meant to simplify and streamline the process of writing documentation. Current tools disincentivize writing documentation. If you need to spend a day cobbling together 5 different tools and themes to set up a documentation page for your project you might not be as eager to do it as you would be if you could write a five line configuration file and run a single binary.

No doubt there are free tools that can produce decent output. However, all of them require considerable effort that could be spent writing code or documentation. Others don't support modern features, or completely fail to process basic C++ code. Clearly a market for a tool which solves these problems exists, there is no shortage of people asking about Doxygen alternatives or better ways to document their C++ code. Lastly, there are companies in other communities which provide a similar services, for instance ReadTheDocs.com which has documentation and managed hosting for Python projects.

Re: Show HN: A modern documentation tool for C++ and a replacement for Doxygen

#12
I'm not one of those "everything should be open source and free" snobs, but my documentation tool is definitely one of them. This is a SaaS behind a paywall it seems, so it's immediately not winning any points for me.

I do agree that the existing tools are horribly subpar, but at least I don't need to contact support to fix them myself.

You're going to have a hard time convincing the larger C++ community to use this, I think. Companies, sure, I guess.

EDIT: Also I kind of reject one of the assertions made here; the reason why I never have documentation for my libraries isn't because I don't write it. It's there, very nicely laid out, in the headers and comments and whatnot. A lot of it. Enough to fully understand it. But rendering it out to Man pages, Markdown, HTML, etc. in a manner consistent with how those formats should work is a PITA that Doxygen simply doesn't do how I'd like.

Re: Show HN: A modern documentation tool for C++ and a replacement for Doxygen

#13
post #12

I'm not one of those "everything should be open source and free" snobs, but my documentation tool is definitely one of them. This is a SaaS behind a paywall it seems, so it's immediately not winning any points for me. I do agree that the existing tools are horribly subpar, but at least I don't need to contact support to fix them myself. You're going to have a hard time convincing the larger C++ community to use this,…

We're looking at open sourcing hdoc in the future, and at least offering a free plan in the near term. We'd like to give back to the community too, it's part of the reason why we host our LLVM documentation freely.

We're currently targeting businesses and charging for the product understandably presents a barrier to many people, especially in C++ land where open source is the de facto standard. Unfortunately open source tools don't make money.

How would you like your documentation to be rendered when it's processed into markup formats? Source code documentation largely hasn't changed since the introduction of Doxygen-style comments so I'm curious to hear about your approaches.

Re: Show HN: A modern documentation tool for C++ and a replacement for Doxygen

#14
post #11
post #10

I've been programming and documenting large projects with sphinx and doxygen for years now and I really don't see the appeal or the problem this solves. Bad documentation is because of lazy programmers. Nothing more, nothing less. If someone is actually able to keep up with the myriad changing C++ standards, not to mention testing practices and frameworks, documentation is not hard in comparison at all. What is often…

I agree that bad documentation is often due to lack of effort. Many developers don't like writing documentation, which is unfortunate because bad documentation can drag down otherwise great projects. If I'm evaluating two libraries and one has great docs and the other has awful docs, you know which one I'm picking. Likewise, hdoc isn't instantly going to make an engineer spring up and say "I'm going to write document…

ReadTheDocs.com is largely the de-facto standard for Python projects because it is free to use. Since a lot of developers have experience with it, in production too, it is often used as a host (even though it is sub-par as a web-host and CI service). For a product which seems to have been trademarked in 2019, not having a free-plan or more importantly, one for FOSS projects, means this is at best, a niche option. Additionally, being proprietary and closed source means it will be difficult to integrate into multi-language programs. Doxygen is a good standard, which works across multiple languages, and its reach is augmented by Sphinx with inter-sphinx. In the domain I work (scientific software), very few tools are written in pure C++.

By the way, I hope my comments are not taken as anything other than constructive criticism.

Post reply on HN