By Roy Tomeij, partner at 80beans

Remember when I talked of people taking the "pirate" theme quite seriously? Roy is the one that did, from the title of his talk to some nice picture in his slides (and a picture of him with lasers beaming from his eyes). First of all, Roy showed himself as a very good speaker, with lots of humorous notes (and the resulting loud laughs from the audience, us 8thcolor-ers included), and precise and informative content. Roy's talk was about Haml, Sass & CoffeeScript (you could not know it from the title, nor could we), that are "meta-languages" en vogue with Rails newest versions. Roy touted his presentation as introductory material, which was fine for us on this subject.

The talk itself started with a small "Why would I use those meta-languages?" question, with answers revolving around quick results, DRY and compilers able to give feedback on errors (which is not particularly easy with HTML, CSS or JavaScript, which are rather permissive), leading to code easier to maintain. The rest of the presentation was made around examples of the meta-languages, each one mirroring the equivalent code without it.

Compiler vs coder: a coder creates bad code.

The three meta-language share enough similar features: all have a "ruby like" syntax (which changes much in comparison with HTML and CSS, less so with JavaScript),  use indentation to remove the need of accolades, and are typically terser than their destination languages.

Haml compiles to HTML, the project come from the Ruby world, but was since ported to .Net, Java, PHP. It mixes nicely with HTML inside the same project, and is a sort of "ruby-like" HTML, leading to less duplication. I'm not sure about using it myself, but I can see the positives sides.

Sass compiles to CSS, and was once part of Haml, before going live its own life. It uses Haml-like indentation. A variant named SCSS does exists, using a synthax more like CSS (SCSS is actually a superset of CSS). While Sass has the same advantages over CSS than Haml has over HTML, I do not see the point of SCSS: it's too close to CSS to be worth the effort for me.

Compass is Sass complemented with mixins and functions, notably implementing vendor specific CSS3 syntax (like the infamous -o, -moz, ...), which could be quite useful (we're doing a lot of CSS3 those times, and the vendor specific are really cluttering the files).

Finally, CoffeeScript is not a library, but a ruby-like language that compile to JavaScript. The difference is less staggering than for Haml or Sass, as JavaScript is already a programming language (and not purely declarative as HTML or CSS), so while I like the ruby syntax, once more, I'm not sure I want to go this way.

To round things up, Roy delivered exactly what he has promised: a good overview for those willing to start with those meta-languages, or at least learn about them. And he did this in a very enjoyable way.