强推coffee-script

花花公子 2010-05-21
coffee-script是用javascript实现的javascript的DSL
( ($) ->
  $( ->
    $('p').live('click', (e) ->
      console.log($(e.target).text());console.log(this)
    )
  )
)(jQuery)

会被转换为
(function($) {
  return $(function() {
    return $('p').live('click', function(e) {
      console.log($(e.target).text());
      return console.log(this);
    });
  });
})(jQuery);
花花公子 2010-05-21
它有几个显著的优点
1. 所有的函数都有返回值,和ruby一样,返回最后一句。
2. 没有全局变量,所有的变量都会被加上var
3. 不用写冗长的function了,我很开心
CharlesCui 2010-07-16
一堆又一堆的DSL,
DSL的推出初衷应该是方便使用者吧,
但DSL太多了就不方便了.

比如开发一个咚咚图方便,我就抛弃了C++和Java,而用了Ruby,
但用到Ruby后,发现基于Ruby的很多产品都需要学习他们自己的DSL,
一个两个无所谓,当有越来越多的DSL要学习的时候,
我发现用Ruby的代价超过了C,甚至超过了Java,说不定还要超过C++.

这是个取舍的问题.
当刚入行的新同学看这那些眼花缭乱的DSL时,要是有个经验丰富的导师就好了.

ps:基本功很重要.
Global site tag (gtag.js) - Google Analytics