News for hackers. Stuff that matters.
Re:Why Markdown Sucks (2016) by thomasedwards on Thursday April 25, 2019 @04:19AM (#19746090)
Markdown doesn’t suck.

Markdown parsers suck, because they’re all different.

Markdown has a spec, but nobody follows it because they want it to do more.

Obligatory xkcd: https://xkcd.com/927/

Re:Why Markdown Sucks (2016) by tkfu on Thursday April 25, 2019 @04:28AM (#19746123)
Markdown doesn't have a spec. There's a "syntax description", which leaves a lot of ambiguities, and the original Perl script, which you could consider a reference implementation. But there certainly isn't a spec.

(Or, alternatively, there are several competing specs, like CommonMark, Standard Markdown, and GitHub-flavoured Markdown. But your comment seems to be suggesting that there's one authoritative spec, which there definitely isn't.)

Re:Why Markdown Sucks (2016) by joeblau on Thursday April 25, 2019 @06:46AM (#19746745)
Markdown does have a spec created and posted by the person that invented it, John Gruber[1]. The problem is that people keep adding features to it and no one follows the actual markdown spec.

[1] - https://daringfireball.net/projects/markdown/

Re:Why Markdown Sucks (2016) by tkfu on Thursday April 25, 2019 @09:44AM (#19747978)
That's not a spec, and it doesn't claim to be one. It's the syntax description that I referred to above. A spec needs to unambiguously <em>spec</em>ify the grammar.
Re:Why Markdown Sucks (2016) by joeblau on Thursday April 25, 2019 @12:47PM (#19749965)
John didn't invent it for everyone to implement it on everything on the internet. He invented it for him to use on his blog because he's a writer and wanted to focus on his content, not on writing HTML. Just because it's not "specified" that doesn't mean it's not the canonical spec. All of the other additions that aren't on that page aren't based on the canonical version of Markdown.
Re:Why Markdown Sucks (2016) by cookiecaper on Thursday April 25, 2019 @04:28AM (#19746124)
If your language:

a) covers so little that every implementer feels a need to put their own conflicting extensions on it;

b) cannot be implemented consistently enough that one can be reasonably confident a document will probably render nearly-enough to not be described as 'broken' across engines;

and c) provides a "spec" in the sense of prose describing the author's intended meaning, but not a grammar or other formalization, test suite, etc. that can be considered authoritative for certifying that a given implementation is compliant (where compliant means that engines taking the same input will produce output close-enough to not be considered "broken" when compared to each other);

then your language probably sucks. Maybe it doesn't suck in the theoretical world where everything goes exactly as the language designer fantasizes, but it sucks in the actual world where people live and operate.