<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Et Doxygen ne traite pas que la documentation du langage C++.<br>
      <br>
      <a class="moz-txt-link-freetext" href="https://www.doxygen.nl/manual/starting.html">https://www.doxygen.nl/manual/starting.html</a><br>
      <br>
    </p>
    <h1><font size="2">Step 0: Check if doxygen supports your
        programming/hardware description language</font></h1>
    <p>First, assure that your programming/hardware description language
      has a reasonable chance of being recognized by doxygen. <i>These
        programming languages are supported by default: C, C++, Lex, C#,
        Objective-C, IDL, Java, PHP, Python, Fortran and D. Doxygen also
        supports the hardware description language VHDL by default.</i>
      It is possible to configure certain file type extensions to use
      certain parsers: see the <a class="el"
        href="https://www.doxygen.nl/manual/config.html#cfg_extension_mapping">Configuration/ExtensionMappings</a>
      for details. Also, completely different languages can be supported
      by using preprocessor programs: see the <a
        href="https://www.doxygen.org/helpers.html">Helpers page</a> for
      details.</p>
    <p>Donc Doxygen peut même survivre à la disparition de C++ 😛😎</p>
    <p>(Pas regardé pour Rust et Ocaml).<br>
      <br>
      Bonne fête de fin d'année 2022 et meilleurs voeux pour 2023.</p>
    <p>Phil (jadis consultant polyglotte en langages informatiques)<br>
    </p>
    <div class="moz-cite-prefix">Le 21/12/2022 à 00:51, Sébastien Dinot
      via Toulouse-ll a écrit :<br>
    </div>
    <blockquote type="cite" cite="mid:Y6JKdi75roOBFQPd@dinot.net">
      <pre class="moz-quote-pre" wrap="">Lcaracol via Toulouse-ll a écrit :
</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Ça je sais pas trop, je suppose que pour quelqu'un qui connaît déjà
Doxygen ce doit pas être si terrible.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Ce qui est terrible, c'est d'avoir un outil qui, pour arriver à produire
tout ce qu'il doit produire, exploite plusieurs syntaxes. C'est ce qui
a tué les autotools.

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">MkDocs aussi utilise markdown.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Je n'ai rien contre Markdown que j'utilise au quotidien. Ceci étant,
s'il est un peu plus compliqué, le format reStructuredText sur lequel se
base Sphinx, est plus indiqué pour écrire des documents complexes (il
manque pas mal de choses au Markdown originel et ce n'est pas un hasard
s'il existe une dizaine de déclinaisons de ce format).

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Donc il semble avisé d'essayer de savoir sur quel cheval misent les
boîtes du complexe militaro-industriel yankee. [...]
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Ce genre d'argument défoule sans doute, mais il n'apporte rien au débat,
d'autant plus que le libre a montré depuis longtemps qu'il n'attendait
pas les financements du complexe militaro-industriel américain, chinois,
français, russe, allemand, israélien, italien, suédois ou suisse pour
exister.

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Et je remarque aussi qu'entre le projet m.css , le projet doxybook, et
le trio Doxygen + Breathe + Sphinx, il y a pas mal de systèmes qui
continuent d'utiliser Doxygen en coulisse.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Tout à fait, parce que, comme je l'indiquais, développer un outil de
documentation d'API ne se fait pas en un soir sur un coin de table,
surtout lorsqu'on adresse un langage aussi complexe que le C++ et encore
plus si l'on tient à générer des diagrammes UML.

Si on veut conserver le périmètre fonctionnel de Doxygen et l'étendre,
il semble donc plus judicieux d'exploiter cet outil et d'intégrer les
fichiers qu'il produit dans un sur-ensemble.

Mais on peut aussi vouloir se débarrasser de Doxygen, quitte à perdre
(temporairement ?) sur le plan fonctionnel, en écrivant un outil neuf
qui embrasse plus largement le problème de la documentation de code.
C'est le pari de hdoc (dont les commentaires qui documentent l'API
reprennent partiellement la syntaxe de Doxygen, mais sont traités par
hdoc, et non par Doxygen).

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Et ce que j'en conclu, c'est que quoi qu'il arrive il reste pertinent
d'écrire les commentaires en gardant la syntaxe de Doxygen, puisque
pour parser les fichiers sources ce sera toujours Doxygen qui sera
utilisé.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
Non, pas toujours.

</pre>
      <blockquote type="cite">
        <pre class="moz-quote-pre" wrap="">Tout ça me donne l'impression que aujourd'hui encore Doxygen n'est pas
tout à fait désuet. Et j'ai par contre du mal à comprendre quels sont
ses remplaçants qui génèrent un site à partir des commentaires, hormis
Sphinx.
</pre>
      </blockquote>
      <pre class="moz-quote-pre" wrap="">
hdoc.

Pendant longtemps, il a été compliqué d'écrire un outil documentant du
code C++ car le code C++ est complexe à analyser. Aujourd'hui, LLVM et
Clang fournissent tous les outils nécessaires pour cela et bien d'autres
choses (par exemple, la validation syntaxique du code dans l'éditeur) et
cela ouvre la voie à de nouveaux projets, tel que Standardese :

<a class="moz-txt-link-freetext" href="https://standardese.github.io/">https://standardese.github.io/</a>

(je n'en ai pas parlé jusque-là parce que le projet semble être en train
de s'essouffler).

Mais je te rassure, vu la base installée, Doxygen ne mourra qu'avec le
C++.

Sébastien


</pre>
    </blockquote>
  </body>
</html>