7 ms·
Best comment I've read on the issue, from metafilter user archagon, although I doubt most HNers will agree with it. http://www.metafilter.com/142475/Standard-f
by Steko 12y ago
Best comment I've read on the issue, from metafilter user archagon, although I doubt most HNers will agree with it.
http://www.metafilter.com/142475/Standard-flavored-Markdown#5718950 http://www.metafilter.com/142475/Standard-flavored-Markdown#...
Yes, ambiguity is a feature in this case. Markdown was designed from the top down by a writer, for writers. This gives it the rare characteristic of being intuitive to understand and use, but not necessarily easy (or even unambiguously possible) to implement. The lack of a standard helps keep people honest by making them follow the spirit of the law, not the letter, as you see happening with things like HTML and CSS. In fact, I'd argue that's the entire philosophy behind Markdown: usable and understandable by ordinary humans, all the way down to the spec. (Ever try reading the C spec? It feels like you need a PhD to get anything out of it.)
I'm with Gruber that Markdown is successful because of its ambiguous (read: easy-to-understand) design, not in spite of it. The proof is clearly in the pudding. My feeling is that the people running into edge cases are trying to use Markdown as some sort of replacement for HTML, not a massively simplified syntax for writing articles and pages.
What I see here is a group of developers who arrogantly think that they know better than Gruber what to do with Markdown. They could have called it anything else, but they chose to make the issue political. It's juvenile, especially coming from people who we're supposed to look up to in the tech community.
According to Gruber, Markdown is the hardest thing he's ever worked on. He didn't spend a week on it, the idea was not obvious, and its success was not accidental. If I was him, I'd absolutely be seeing red too..
- frowaway001 12y ago> Markdown is the hardest thing he's ever worked on If that's even remotely true, I hope he never touches any piece of code in his life again. For god's sake, just look at his implementation: "Hacked together after a night of binge drinking" would be the perfect description of it.
- Steko 12y agoPuff your chest out all you want, call me back when you've made a bigger contribution and no longer have to hide behind 'froaway001'.
- frowaway001 12y agoI'm quite comfortable with the contributions I have made, thanks.
- jacobolus 12y agoThe hard part is figuring out what the format should look like (a labor of love that he spent months if not years on, iteratively refining), not the implementation (which is a hacky ball of perl).
- matthiasv 12y agoThat format is essentially (sans the link syntax) what plaintext email has been looking like for decades. I don't get the whole praise for Gruber of "inventing" something novel. It's not.
- stormbrew 12y agoHTML has only become well-specified recently in its entire history, and it's still riddled with archaic complexities from its time as something with very little rigid specification. I don't see how you can possibly point at HTML and call it the opposite of Markdown in that regard. And let me tell you, HTML's early non-specificity did NOT cause people to follow the spirit of the law, nor did it make many people consider it usable and understandable by ordinary humans.
- jacobolus 12y agoYou’re totally missing the point. HTML is a document language which is intended to be consumed by machines, whereas Markdown is designed to be good for humans to read directly. If someone writes a Markdown document and it’s littered with complicated directives and tricky bits of syntax which rely on the specific implementation to work, but aren’t readable as plain text, then they’re not really following the spirit of Markdown. By contrast, since HTML isn’t intended to be read directly, any hacky bit of markup, however awful it makes reading the raw file, is fair game as long as the browser output is pretty.
- deleted 12y ago[deleted]
- Isofarro 12y ago"HTML is a document language which is intended to be consumed by machines, whereas Markdown is designed to be good for humans to read directly." AND intended to be consumed by machines. For example. John Gruber's markdown perl script transforms his Markdown into HTML.
- stormbrew 12y agoAlthough HTML was not meant to be read by the end user, many of the compromises it made from its parent, SGML, do seem to have been intended to make it more easily manipulated (as in both read and written by a somewhat technical human user). No unnamed close tags, extreme flexibility on presence or absence of opening and closing tags, case insensitivity, overlapping nesting, etc. All these things make things much harder for a computer to reliably process the document but theoretically much easier for a human to follow them. Of course, in the long run as these things pile up it actually ends up being counterproductive. It's just hard for both.
- Isofarro 12y ago"The lack of a standard helps keep people honest by making them follow the spirit of the law, not the letter, as you see happening with things like HTML and CSS." I recognise that line of reasoning from the RSS 2.0 days. And how RSS feeds were okay for years until Dave Winer decided one day that they were funky. Having a deterministic standard is a quality metric. On Gruber's podcast: he notes that writers should check whether something is valid Markdown by rendering it and seeing the output ( https://overcast.fm/podcasts/episode/344902019595#t=4527 https://overcast.fm/podcasts/episode/344902019595#t=4527 ). paraphrasing his logic: If the output is wrong, that means the input needs fixing. That is an assertion that the code implementation is the specification. And we've been down that road before ( bugwards compatible implementations of Internet Explorer, for example ) Ambiguity is not a good basis for a data structure specification. An undefined behaviour means that all possible behaviours are correct.
- deleted 12y ago[deleted]
- bmm6o 12y agoIt's an uninformed defense of a fundamentally incorrect position; no wonder most people here disagree with it. People here know that a language is syntax and semantics, he seems to be arguing that semantics aren't important, or that ambiguity in semantics is good? It only makes sense if your Markdown never has to be processed in any way (e.g. converted to HTML). Which ok, maybe there are some use cases for that, but they are dominated by the ones where Markdown is transformed into another representation. That requires semantics. > This gives it the rare characteristic of being intuitive to understand and use, but not necessarily easy (or even unambiguously possible) to implement Ambiguity does not make anything easy to understand or use. Not possible to implement is not a feature of any language.
- FireBeyond 12y ago"According to Gruber, Markdown is the hardest thing he's ever worked on. He didn't spend a week on it, the idea was not obvious" It's easy to see how Gruber is affected by the Reality Distortion Field... the idea is entirely obvious, has gigabytes of prior art (albeit without, dare I say it, standardization). Witness decades of email, Usenet, BBS postings that used _, * etc for emphasis, let alone the claim that lists in that format are non obvious... well, frankly laughable.