2010-11-06 31 views
3

我看到在线项目数量的增加,需要额外的“短”语法来生成底层代码(通常是HTML和JS),每当我看到另一个弹出窗口时,我都在想我是否缺少一些东西。快捷编程语言我错过了什么吗?

在不同的团队成员(设计师等)之间传递项目时,学习和记住这些简码需要额外的时间,他们必须重新学习基本语言,如HTML和JS?

问题点:YAML用于生成模板,以及用于生成Javascript的项目(例如)CoffeeScript。我只是想知道其他Stackoverflow的民众是否认为这种细粒度的抽象有很大的好处,或者如果有这种类型的项目有任何使用期限的感觉,考虑到基础技术的改进(我在考虑HTML5/CSS/JQuery)。标记语言的演变程度不足以真正保证这些吗?

认识到这不是一个真正的问题,但有兴趣听到社区的观点。我确信在创建自我生成的代码时,这些类型的项目真的有很好的理由,但除此之外,我很困惑 - 许多人每天都在使用它们。这是一个值得跳跃的潮流吗?

+1

恕我直言,这应该是在http://programmers.stackexchange.com/ – thejh 2010-11-06 14:06:17

+0

同意。 :) - 不会再发生。 – Paul 2010-11-06 14:14:34

回答

1

个人而言,我不认为这是值得的,因为你可以在JavaScript中做的大部分事情已经被jQuery等库所简化。至于他们的寿命,很难说。然而,只要你知道JavaScript,并且你理解代码输出,移动到一个不使用CoffeeScript的新项目是一个简单的事情,可以随你输出代码。

+0

尼斯幽灵downvote。 – Radu 2011-01-03 18:00:17

1

Any sufficiently complicated program contains an implementation of Lisp

这是Lisp和朋友们推动多年的意识形态。基本上,你不鼓励用“原始”语言编写任何应用程序逻辑。原始语言是普遍的,低层次的,所以你的逻辑很快就会变得冗长并且被大量支持语言本身所需的代码所污染。

取而代之,创建一个最适合您的应用的DSL,并在此DSL中编写您的逻辑,而不是逻辑。隐藏DSL背后的所有令人讨厌的语言细节。这使得逻辑更容易改进和支持。另一方面,像Coffescript,Groovy等是IMO错误的路要走。他们基本上试图创建新的通用语言,但是使用“更好”的语法,但是,这并不能解决基本问题 - 这些语言仍然描述抽象计算而不是问题领域。更高效的方法是拥有一个非常基础的基础语言和一个发展良好的宏观设施,可以简化创建DLS。这是lisp本身是如何工作的,这种方法的另一个例子是haXe/neko

0

在我看来,我更喜欢jQuery写短的JS指令,并防止每个人都膨胀最终产品。我不喜欢css框架,因为我们正在构建巨大的门户网站,而且您并不总是需要隐藏在其中的所有东西。我更喜欢根据一些常用规则编写模块化css,例如使用clearfix清除使用css重置。 :)