NOW LET US – AI RAG SaaS Studio TP.HCM
NOW LET US
Digital Product Studio
Back to news
DEV-TOOLS...3 min read

Why are we still using Markdown?

Share
NOW LET US Article – Why are we still using Markdown?

Despite being the gold standard for technical writing, Markdown suffers from syntax ambiguities and security risks that continue to challenge developers.

There are few things in life that bring me much joy and hate at the same time. Like chocolate that hurts when eaten and markdown. Seriously why?? Half of the time we aren’t even using the full language!

HTML is the best Programming Language!

I know you’ve heard people say the only programming language they know is HTML. And I know, we both rolled our eyes in discontent trying to get our PL papers out of our assembled decks of papers on how HTML is only a markup language and not a programming language.

I mean yes we’re on the right but that guy probably has something we don’t have. A life.

[Note] When I’m talking about markdown, I am specifically talking about CommonMark Unless stated otherwise. Because it is the unambiguous syntax specification. I love the project, I really appreciate their efforts on making this language a bit more grounded. It’s not the specification that’s broken, it’s the language itself.

The Good

Markdown is a minimal language used for typesetting trivial documents. It needs to do one simple job: get a Markdown file and output an HTML file. Its syntax is legible as it gets and is easy to write even with no assists. Like the C language you can see the output that will be created. Bold is always <b></b> at the end and italic the same. Learning curve is simply nonexistent if you’re just a casual user. Just one look at the cheat sheet and you’re ready.

The Bad

We don’t know what we want. Do we want UI? Do we want a programming language? We don’t know. The only reason feature creep exists is because of unclear specifications. You want a MINIMAL easily legible markup language, you have markdown. Simple as that right?

well…

(output taken from dingus)

# Hello
*I am an*
__Unambiguous__
> Grammar
<h1>Hello</h1>
<p>
<em>I am an</em>
<strong>Unambiguous</strong>
</p>
<blockquote>
<p>Grammar</p>
</blockquote>
Hello
=====
_I am an_
**Unambiguous**
> Grammar

I hope you have the 2 eyeballs enough to see that markdown is NOT what you asked for. These 2 produce IDENTICAL output. And this is just the tip of the iceberg? It has so many poor decisions baked in that if you try to use it it will actively fight against you the moment you think you know what you’re doing.

Exhibit A: bold, italic, bold-italic, ???

In markdown you can write a bold in different ways. **bold**, __bold__, <b>bold</b> are some of the ways a valid bold can be written. And these are for commonmark. If you’re using something which isn’t marketing itself as “CommonMark compliant”, you can very well encounter valid stuff that produce the same input. Truly magnificent. And please don’t let me get started on layered ones. This thing is actually so peak that we have class of parser vulnerabilities called ReDoS (Regular Expression Denial of Service) affecting this. Like this 6.9 severity level CVE for markdown-it.

Exhibit B: asm Was a Good Idea, but This?

In old languages, inline assembly helped write performance critical code. Now let’s take this wonderful idea and bolt it directly into the most bloated, single threaded, sandboxed environment expecting a simple and easy way to write documents. And this is how inline HTML inside Markdown was born! The real issue is that to ship a Markdown parser you also need to ship a friendly HTML parser. And if you’re using HTML inside Markdown, why not use HTML from the start!

Markdown in and of itself isn’t powerful enough to satisfy the developer who wants the site to look good. We want LaTeX, PlantUML, Mermaid, custom styling, footnotes... To nail a painting to the wall I need a hammer (Markdown). But if I wanted to paint it too, I will break the canvas the moment I try to paint with the hammer. Breaking the canvas also means a whole lot of CVEs, primarily around XSS vulnerabilities.

Exhibit C: Obscure and Old Syntax

Markdown was made in the good old 00’s! It was inspired by preexisting conventions for marking up plaintext in email and usenet posts. Because of this legacy, you have 2 different ways of writing headings, the normal way and the ATX way. You have 2 different ways and more than 2 ways to do almost everything.

© 2026 Now Let Us. All rights reserved.

Source: Hacker News

Advertisement
Ad slot ready: 5887729102

More in this category

NOW LET US Related – Treating pancreatic tumours may have revealed cancer's master switch

dev-tools

Treating pancreatic tumours may have revealed cancer's master switch

A promising new drug called daraxonrasib has shown breakthrough results in treating pancreatic cancer, doubling median survival times. This achievement could pave the way for an entirely new class of cancer treatments.

NOW LET US Related – Leaving Mozilla

dev-tools

Leaving Mozilla

A poignant and candid reflection from a 15-year Mozilla veteran upon their departure. The author highlights the leadership's missteps in trying to emulate tech giants and urges Mozilla to return to its core values: community and uniqueness.

NOW LET US Related – Shepherd's Dog: A Game by the Most Dangerous AI Model

dev-tools

Shepherd's Dog: A Game by the Most Dangerous AI Model

A developer tested Anthropic's latest, supposedly 'too dangerous' AI model by asking it to build a long-held game idea in a single shot. The model succeeded, generating a complete 2,319-line game after a 45-minute reasoning session.

NOW LET US Related – Open source AI must win

dev-tools

Open source AI must win

If artificial intelligence becomes a utility rented only from a few closed institutions, humanity loses its operational freedom. Open-source AI is a vital infrastructure for the future of our digital society.

NOW LET US Related – Statement on US government directive to suspend access to Fable 5 and Mythos 5

dev-tools

Statement on US government directive to suspend access to Fable 5 and Mythos 5

The US government has issued an export control directive forcing Anthropic to suspend all access to its Fable 5 and Mythos 5 models due to national security concerns, a move the AI safety startup strongly disputes.

NOW LET US Related – Electric motors with no rare earths

dev-tools

Electric motors with no rare earths

Renault Group is pioneering the development of electrically excited synchronous motors (EESM) that eliminate the need for rare earth magnets, reducing dependency on global monopolies while driving efficiency and sustainability.

EXPLORE TOPICS

Discover All Categories

Deep dive into the specific technology sectors that matter most to you.