If you find the syntax to be a problem - you may find CoffeeScript (http://coffeescript.org/) interesting. It emphasizes the good parts of JavaScript while minimizing the warts, all wrapped up in very nice syntax.
task :default => [:test]
task :test do
ruby "test/unittest.rb"
end
Let's see what that could look like in CoffeeScript, assuming a similar library: task default: ['test']
task 'test', ->
ruby 'test/unittest.rb'
Pretty nice. Running that through the CoffeeScript compiler produces this JavaScript: task({
"default": ['test']
});
task('test', function() {
return ruby('test/unittest.rb');
});