# DRY and Pythonic jQuery? *January 2009* Apparently, **groovy:spring:java** as **jabs:jquery:javascript**. As if jQuery wasn't short enough alreadyThis 2009 post captures the era's fascination with domain-specific languages and syntactic sugar—an impulse that would later manifest in CoffeeScript, TypeScript, and modern JavaScript transpilation tools.. [Jabs](http://github.com/collin/jabs) lets you write this jQuery code: ```javascript jQuery(function() { var $ = jQuery; $("[default_value]").blur(function() { var self = $(this); if(self.val() === "") { self.val(self.attr("default_value")); } }).focus(function() { var self = $(this); if(self.val() === self.attr("default_value")) { self.val(""); } }).blur(); }); ``` By typing this: ```coffeescript $ [default_value]: blur: if @value === "" @value = @default_value focus: if @value === @default_value @value = "" .blur ``` [HAML](http://haml-lang.com/) tactics FTWHAML's influence on web development was significant—its indentation-based syntax and DRY principles influenced template engines across many languages, from Slim in Ruby to Pug in JavaScript..