我忽略了快捷方式编程语言?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我忽略了快捷方式编程语言?相关的知识,希望对你有一定的参考价值。
我看到在线项目数量的增加需要额外的“短”语法来生成底层代码(通常是html和JS),每当我看到另一个弹出窗口时,我想知道我是否遗漏了一些东西。
当然,在不同团队成员(设计师等)之间传递项目时,学习和记住这些短代码的额外时间会丢失,然后他们必须重新学习HTML和JS等基本语言?
问题点:YAML用于生成模板,项目(如)用于生成javascript的CoffeeScript。我只是想知道其他Stackoverflow民众是否认为这种抽象的粒度水平有很大的好处,或者考虑到基础技术的改进,我觉得这些类型的项目有任何生命周期(我在想HTML5 / CSS) / JQuery)这里。标记语言的进化是否足以真正保证这些?
意识到这不是一个真正的问题,但有兴趣听取社区观点。我确信这些类型的项目在创建自生成代码时有充分的理由,但除此之外,我很困惑 - 很多人每天都在使用它们。这是一个值得一试的潮流吗?
就个人而言,我不认为这是值得的,因为你在javascript中可以做的大多数事情已经被诸如jQuery之类的库简化了。就他们的生命而言,很难说。但是,只要您了解javascript,并且了解代码输出,那么转移到不使用CoffeeScript的新项目就是一个简单的问题,即随身携带输出代码。
Any sufficiently complicated program contains an implementation of Lisp。
这是Lisp和朋友多年来推广的意识形态。基本上,您不鼓励用“原始”语言编写任何应用程序逻辑。原始语言具有普遍性和低级别,因此您的逻辑很快就会变得冗长,并且会受到支持语言本身所需的大量代码的污染。
相反,创建一个最适合您的应用程序的DSL并编写您的逻辑,并且在此DSL中只编写逻辑。隐藏DSL背后的所有令人讨厌的语言细节。这使逻辑更容易改进和支持。
另一方面,像Coffescript,Groovy等东西是IMO错误的方式。他们基本上试图创建新的通用语言,但是使用“更好”的语法,然而,这并没有解决根本问题 - 这些语言仍然描述抽象计算而不是问题域。更有效的方法是拥有一个非常基础的底层语言和一个完善的宏设施,可以简化创建DLS。这就是lisp本身的工作方式,这种方法的另一个例子是Haxe/Neko。
在我看来,我更喜欢使用jQuery编写简短的JS指令,并防止每个人都膨胀最终产品。我不喜欢css框架,因为我们正在构建巨大的门户网站而你并不总是需要隐藏在这些内部的所有内容。我更喜欢基于一些常见规则编写模块化CSS,例如使用clearfix来清除使用css重置。 :)
以上是关于我忽略了快捷方式编程语言?的主要内容,如果未能解决你的问题,请参考以下文章