Ótimo post, Kauê! Obrigado por compartilhar sobre o Markdown — é sempre útil explorar e relembrar a beleza e simplicidade dessa linguagem.
Markdown is designed to be easy to write, and, even more importantly, easy to read
O grande diferencial do Markdown é como ele é fácil de ler em texto puro, combinado com os geradores de sites estáticos, transformou a forma como a documentação de software é escrita. Editar e versionar texto puro é algo que os desenvolvedores já estão acostumados, e eles podem se beneficiar das ferramentas que já usam e adoram, como seu editor de texto favorito, git, etc. Isso levou ao surgimento da filosofia Docs as Code.
No Google, após várias pesquisas internas indicarem que a documentação (ou a falta dela) era um dos maiores problemas enfrentados pelos desenvolvedores de software, a solução encontrada foi justamente essa abordagem:
No entanto, o principal problema do Markdown é a falta de padronização e ferramental adequadado para elaboração de documentos complexos. Por exemplo, não existe uma diretiva de inclusão (padrão) para compor documentos a partir de várias fontes. Na prática, o que temos é uma família de linguagens, cada uma com suas próprias variações e capacidades.
Existem algumas (boas) alternativas ao Markdown, como o reStructuredText (reST), muito popular na comunidade Python, combinado com o Sphinx, próprio Python é documentado dessa forma, assim como o kernel do Linux. Já o AsciiDoc tem visto grande adoção no mundo corporativo, sendo utilizado por várias empresas.
Quando se trata de ferramentas para Markdown, o grande destaque é o Pandoc, uma biblioteca escrita em Haskell, não por acaso, acontece que a semântica computacional e typed lambda calculus se complementam de forma ideal e formam uma dupla poderosa!