有没有像PhP的CoffeeScript这样的东西?

2022-08-30 12:13:37

PHP解释器非常普遍,但PHP语法和库不一致且繁琐(当然是IMO)。我认为一种编译成PHP但提供更高级别功能(如模块,mixins,列表推导等)和更简单的语法(如可选分号,隐含返回,变量没有美元符号,可选括号和大括号等)的语言将是有价值的。这样的事情存在吗?


答案 1

我一直在研究这个问题,目前似乎答案是否定的。我是这样一个名为Snowscript的项目的作者 - 它远未完成,但文档非常好,有些事情确实有效。很想听听你对语法的看法的反馈!


答案 2

简短的回答是“不”。CoffeeScript之所以受欢迎,是因为各种因素的独特融合。首先,正如Wesley所指出的,JavaScript在浏览器平台上拥有垄断地位,而PHP仅垄断了文件。在你自己的服务器上,如果你不喜欢PHP,你可以只使用Ruby,Python,Perl或任何无数的JVM或.NET语言。.php

另一个因素是JavaScript的设计是一个意外。它的创建者Brendan Eich被告知要“让它看起来像Java”;但从语义上讲,它与Lisp和Smalltalk有更多的共同点。CoffeeScript可以说提供了一种更适合JavaScript内部运作的语法。

JavaScript自身的语法演变受到与旧浏览器兼容性的需要的严重阻碍。PHP没有这样的限制,任何将代码从PHP4过渡到PHP5的人都可以证明这一点。如果你想让JavaScript成为一门更好的语言,你需要一个预编译器。如果你想让PHP成为一门更好的语言,发布PHP6的功能请求。(编辑:在我最初的回答中,我爱上了愚人节的一个笑话,声称PHP6已于2010年发布。显然我不是PHP的人...)

总而言之,拥有一种像PhP的CoffeeScript这样的语言可能会很酷。WordPress的持续成功,以及它在用户通常几乎无法控制的服务器上的使用,证明了PHP作为部署语言的独特地位。将PHP与Haml等替代标记语言一起使用也很困难。也许一种替代标记语言与新的PHP语法相结合,可以产生一个足够令人信服的理由来让人们预编译他们的PHP。


推荐