Markdown, Oh the Humanity

I use Markdown to write for this blog, and I don’t think I could write much online without it. (Of course, that’s not saying much lately—but nevermind that for now.)

Although I do appreciate all the effort put toward enhancing <textareas> on the web, I’m not a fan of WYSIWYG writing interfaces. They hide too much in an effort to make things “easy”—yet, for all that ease, they make me miss Reveal Codes in WordPerfect 5.1 for DOS. Hell, I wish I could write books using Markdown instead of Microsoft Word. (And, yeah, I know that some O’Reilly authors have written books in perlpod—but that’s a bit too far even for me.)

Anyway, I think the issue is that it really bothers me to compose HTML in the same mental context as writing prose—HTML is too much like code. Coding and prosing are two different modes for me, and I don’t like the constant context-switching thrash. (And, yes, I’ve just learned today that prosing is a word.)

So, apropos of this, there’s been a thread in the blogophere lately naysaying non-HTML, wiki-text, and smart-ASCII formats. They seem to be mostly attacking the idea from a technical perspective, where it’s more like a usability problem to me.

I don’t see where Jeff Atwood’s “Is HTML a Humane Markup Language?” makes the case for HTML as humane. As far as I can tell, the inhumanity is that markup schemes are harder to keep track of than HTML. Yet, there’s a kind of coder macho thing going on there that’s decidedly not humane—i.e. real programmers should be fine with getting their eyes poked by angle brackets on a regular basis.

Anyway, I do agree that some of these formats are horrendous. Wikipedia markup and BBCode are nasty in particular. Though, Wikipedia markup at least has some semantic purpose beyond HTML. But, I can’t follow from that to seeing how the whole idea is wrong.

I used Textile for awhile, and then switched to Markdown when it came around. At this point, I’ve been using Markdown since it came out in 2004. I now plug Markdown into everything I can where I’ll be doing any writing. There’s a version of Markdown in just about every language known to the web these days—you can even find Markdown in Javascript. I write notes to myself in Markdown, even when there’s no URL to view it. I’ve even used Markdown semi-consciously when writing by hand in a paper journal.

Perhaps I’ve said too much.

Anyway, I’ll expend as many brain cells as it takes to not need to compose raw HTML by hand in the course of writing. As it happens, I can usually just use Markdown, so those brain cells were spent years ago. And thus, I feel I’ve saved more brain cells in avoiding coding/prosing thrash. So, it could just be personal preference, but I agree with the reasons why the original wiki doesn’t use HTML.

7 Comments

  1. Posted May 18, 2008 at 2:19 pm | Permalink

    I couldn’t agree more on this dude. As for people like Jeff Atwood… well, pffft. I grow tired of the “real programmers” do this or that mentality and while I’m a regular reader of Coding Horror, I hear alot of that garbage there. Fortunately I have excellent noise filters for my idea factory so it doesn’t make much of an impression.
    peace.

  2. Posted May 19, 2008 at 1:54 pm | Permalink

    I use Markdown everywhere as well. I am not sure about the technical arguments against it, but personally, it does a lot less damage than wysiwyg.

    In fact, it’s nice in that it gives you control without sacrificing readability.

  3. Posted May 22, 2008 at 11:15 am | Permalink

    I dunno, I’m not a fan. By using underscores and brackets, instead of full tags, it has a tendency to break down a lot. Which has, thusly, prompted http://fuckingmarkdown.com/ in frustration.

    It’s too clunky and requires as much user involvement to get it working 100% of the time as simple HTML or BBCode. Nothing more frustrating than posting a URL with an underscore in it and having markdown convert those underscores into italics, breaking the whole damned thing.

  4. Posted May 23, 2008 at 1:14 am | Permalink

    Of course, if you put the URL in angle brackets, Markdown will refrain from touching it at all. Likewise for file- and variable names in backticks. That said, John Gruber has repeatedly said that he considers the underscore issue a bug, and the next release will fix this so internal underscores inside words will not trigger emphasis markup.

    So that particular issue, pain in the bottom as it can on rare occasions be, is easy to work around now and will completely vanish in the future.

  5. Avatar gavin
    Posted June 27, 2008 at 4:53 pm | Permalink

    Doesn’t markdown lack necessary things for being a template engine? (similar to Smarty)

    I mean, ${some_variable} to echo a variable, and if/else, and foreach an array?

    Or, do you just use something like PHP’s and use PHP’s if/else/foreach? Or Ruby or Python, etc, I mean.

  6. Posted June 28, 2008 at 4:11 pm | Permalink

    @gavin: Markdown’s not a template engine, it’s like wiki text or “smart ASCII” It’s a set of rules allowing users to write in plain text that later gets converted to HTML. No logic or variables or control structures involved.

  7. Posted June 28, 2008 at 9:18 pm | Permalink

    Meh. I use HTML because that’s my preferred syntax of choice. I have a vested interest in using it because I don’t want to learn a “simpler” form that requires me learning something different, solely because it’s different and therefore involves learning.

    That’s not to say that Markdown, WikiScript, LaTEX, or using in-lined emacs command syntax is any more or less valid than HTML or whatever other syntax someone else has a vested interest in using.

    The only thing that matters is whether or not the output of said syntax methodology is readable with zero effort on my part.

    (Heck, you could code this using straight MIME encoded UNICODE variables for all I care at that point.)

3 Trackbacks

  1. [...] 0xDECAFBAD » Markdown, Oh the Humanity I don’t see where Jeff Atwood’s “Is HTML a Humane Markup Language?” makes the case for HTML as humane. (tags: markdown) [...]

  2. [...] I found that what I wanted to say was along similar lines to this guy, but he said it much more [...]

  3. By [XILED] » Blog Archive » Markdown on May 21, 2008 at 2:38 pm

    [...] to mention losing your flow due to the “coding/prosing thrash” as l.m.orchard discusses here. If you read the philosophy behind markdown you will see that markdown was designed just for this [...]

Post a Comment

Your email is never shared. Required fields are marked *

*
*