txt/md.txt

~1 minute read | 2024-08-16
Markdown sucks
==============

Once, I was smitten with markdown -- it was an enhanced plaintext format; what wasn't to love? Very soon I realised that intrinsically, there is no functional difference between markdown and plaintext, except for presentation. And like many of the visual protocols, it fell to bloated standards.

The issue is fundamentally one of control characters. Even the minimal amount of control characters intrinsically increases complexity; when you have an intermixed block of arbitrary text and control characters, the complexity is linear to the amount of control characters defined.

Markdown has set a precedent for acceptance; this results in ambiguous standards where nearly all non-alphanumeric characters represent some portion of some control sequence. It is a significant pain to NOT accidentally transcribe a control character.

At the risk of slightly lackluster presentation (the horror), plaintext is exactly what you intend it to be. With the addition of unicode, it's even possible to make plaintext flashy, but I've found that plain old ASCII is enough for me.

Post Script
===========
> John Gruber’s canonical description of Markdown’s syntax does not specify the syntax unambiguously. [0]
> Because there is no unambiguous spec, implementations have diverged considerably over the last 10 years. As a result, users are often surprised to find that a document that renders one way on one system (say, a GitHub wiki) renders differently on another (say, converting to docbook using Pandoc). To make matters worse, because nothing in Markdown counts as a “syntax error,” the divergence often isn’t discovered right away. [0]

The grand experiment of intrepting plaintext as control sequences has resulted in ... ambiguity. Could anyone have forseen this?

[0]: 

---------------------
Last Edited: 2023/06/06
txt://#