Skip to content

Comment on HAML: the unforgivable sin

Comments

When writing JavaScript or CSS, I find it much easier to determine how to select an element, since classes and IDs follow CSS (and thus jQuery, et al) selector syntax.

To wit, I find it much easier to derive 'ul#foo .bar' from

  %ul#foo
    %li "Hello"
    %li.bar "World"
Than from
  <ul id="foo">
    <li>Hello</li>
    <li class="bar">World</li>
  </ul>
Being able to more confidently and accurately pick selectors out of markup is, for me, a concrete win.

Consider haml to erector:

  %ul#foo
    %li "Hello"
    %li.bar "World"

  ul :id => 'foo'
    li 'hello'
    li :class => 'bar' 'world'
  end
I personally don't like haml's use of seemingly arbitrary keywords. Coming back to a project and having to reread documentation due to cryptic syntax wastes time.

What arbitrary keywords? "." and "#" are the existing CSS selectors for "class" and "ID", and I personally really like that I don't have to type them out all the time.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.