粗步看了下CoffeeScript(简称cs),发现cs这玩意还是有些问题,当然最大的问题之一是缺乏称手的工具.要是能放VS里编译调试当然好.但是转来转去的,真不如直接多敲几个JS字符串.
问题之二就是JS作为通用的脚本语言,使用CS带来的问题是要在语法间切来切去的,如果个人用可以,但用在团队开发上,得有统一口径才行.虽然cs的lambda表达式不错,但是考虑到一系列的切换,还不如先使用JS精粹,再配置下划线应用.这比较符合现有的开发.
当然这里面比较遗憾的就是没有好用的lambda表达式了.但是,js可以通过类库来扩展,而cs却无法和js混合编程,总之,cs这个和node.js用应该可以,但现在用在网页里代替js,并非良策.应该再等等.
cs还利用了一些扩展的标记语言,比如yaml,这个是ruby借过来的,其实可以看出,cs更是一个ruby的替代方案,很多都是现成的.而这又不得不提到一个haml.一个xhtml的另一种形式.这给我了一些灵感,其实未来的脚本,编程完全可以"文本"化,把"数据","样式","逻辑"等通用一种通用,简单的标记融合在一起,最终分别编译成json,css,js,那不就是一个可运行的"软件"吗?这种模式可以用在一些局部,特殊的场合,比如象markdown,或者做试题,或者公式,病历卡等,这种比较专业的领域,形成一门领域语言,那么此领域的人简单学习,就可以用它生成本领域的程序,这种语言,很象现代语言里的方言,表式法或专业词汇.只要有它,不需要程序员,懂这专业人的就可以用写文章的方式去写程序.
haml还蛋生了一个scss(saas),类似于less的css,由此可见,css当年标准化的时候,做得比较烂,不直观,重复,但是haml替代html却出了些问题,因为不够直观.那么,less的确是项现在就可以使用的技术.
%section.container %h1= post.title %h2= post.subtitle .content = post.content
象这样的简单标记,可以编译成html,或者说,我们可以定义一种可以编译成html的标记,那么就可以用html做出些意想不到的功能.而angular就是这么干的,可见angular值得好好研究.它的directive是个好东西.这可能的确是未来html的方向.