在PHP之上的新语言?

我是一名PHP开发人员。 我喜欢PHP! 如果你知道如何使用它,这是一个非常好的语言,但是我知道它有时候允许非常糟糕的devise 。

这让我想起JavaScript有好的部分和坏的部分。 一个特别的项目,CoffeeScript,试图只关注好的部分,迫使你编写好的代码。

我正在考虑是否可以用PHP做类似的事情……一种新的语法,只有编译好的PHP代码才能获得所有我们可以用PHP 5.3获得的全新和令人兴奋的东西。

所以,要领先一些人,我会问: 为什么要在PHP之上创build一个新的语言,如果你只能使用Ruby或Python或其他的东西?

  • PHP很容易在任何地方部署
  • 语言本身有很多好的特性和想法
  • 有很多用PHP编写的好的库

所以,我真正的问题是…

  • 这是一个愚蠢的想法? 为什么会这样? 你认为CoffeeScript是愚蠢的吗?
  • 一个人如何开始创造另一种语言? 我对此一无所知,但我想学习。 从哪儿开始?

这个想法绝对不是愚蠢的,特别是如果执行得好的话。

我喜欢coffeescript很多,但它的方法也有缺点。 debugging一个coffeescript脚本仍然需要你阅读生成的Javascript代码,这可能很乏味,因为你自己没有写实际的代码。

我已经了解到,咖啡标记的创build者Jeremy Ashkenas在阅读Marc-AndréCournoyer的“创造你自己的令人惊叹的编程语言”之后,开始着手编写咖啡脚本。

祝你好运!

CoffeScript的原因是一个好主意,如果开发人员想要在客户端浏览器中运行代码,他们必须使用javascript; 所以用不同语言编程的唯一方法就是让这种语言可以转换成javascript。

我不确定同样适用于服务器端编程。 如果您遇到了PHP的问题,并希望使用新的语言,那么使用该语言生成PHP并没有真正的优势。

另一方面,与PHP非常相似的语言,但修复了一些缺陷是一个好主意。

如果这是PHP的CSS是什么东西像sass,我会感兴趣。 但是,你想要添加什么? 或者你只是想清除坏的?

你会认为什么是坏的?

嘿,好主意 我的想法有些矛盾

通过将语法预处理器放在它们前面,有一些先例可以使坏语言文明化。

  • 在Unix的早期,Fortran是stream行的,是唯一的便携式语言,因为大多数机器都没有C编译器。 但是,当天的香草Fortran甚至没有块结构if-then-else ,只是一个愚蠢的单一陈述, 如果如果转到 。 所以, Ratfor语言被实现为Fortran-66的预处理器。
  • 我相信有Cobol预处理器可以处理早期Cobol方言的冗长性和局限性。
  • 到目前为止,Unix衍生的系统都带有一个叫做m4的macros处理器。
  • 现在有几个CSS预处理器,最着名的是SassLESS

但…

  • 让它死,越快越好
  • 问题不在语法中。
  • 我没有看到太多的JavaScript-PHP并行。 JavaScript是一门伟大的语言。 这是PHP的反面。
  • 我不知道你为什么说PHP是一个伟大的语言。 这是最糟糕的一个。 每个像样的function都是最近版本的补丁或重新安装。
  • 正如你所指出的,已经有了一个固定的PHP版本:它被称为Ruby ,作为一种语言,它几乎是完美的。 还有一个叫做Python的固定版本。 如果我们支持更好的系统,那么世界从长远看将会好起来。

编写一个PHP语法转换器可能是一个整洁的项目。

但是,不要忘记,PHP的标准库是一个巨大的混乱。 清理起来,将是一个更大的任务。

我越想这个,听起来就越有意思。 原因很简单:实际上已经这样的语言处理器了。 其中两个(虽然不使用PHP作为实现,只能作为编译目标)可以在这里find。 但是没有人使用它们。

是的,如果编译器本身是用PHP编写的,可能会有更多的人使用它。 但是我真的不知道如何让这个stream行的东西值得工作。

另一个大问题是,大多数人习惯于他们的代码高亮,代码完成,代码检查IDE。 没有获得IDE的支持可能仅仅是任何人都会使用它(IDE​​支持只能通过让许多人使用它…)

思考?

现在在这里。 一种新的语言 ,它是什么CoffeeScript是JavaScript的。 (即,真棒。)

SNOWSCRIPT

Snowscript代码如下所示:


fn how_big_is_it(number) if number < 100 <- "small" else <- "big" 

PHP输出如下所示:


 function how_big_is_it($number) { if ($number < 100) { return "small"; } else { return "big"; } } 

现在所需要的就是你 。

这是我经常想到的事情。 PHP在某些方面很混乱。

实际上,我已经有了一个PrePHP项目, 专门为PHP 5.2提供PHP 5.3function。 但它增加了一些小的语言function,如func()[0] 。 我还没有开发这个项目一段时间,这绝对不是“干净”,但它表明,你想要的是可能的,其实并没有那么复杂。

如果您认真对待这个问题,我非常乐意与您合作。

我可以看到写JavaScript编译器(因为networking强加给我们),但这听起来像是浪费时间。

haXe已经做到了这一点,虽然它不是专门针对PHP(链接到维基百科的文章,而不是他们的网站,因为我害怕如果我访问真实的网站,我会被剥削…)

PHP很容易在任何地方部署

…就像它的脆弱性一样。

我知道它有时候允许非常糟糕的devise。

这有点轻描淡写,它甚至没有模块系统,没有封装,并且有很多愚蠢的东西,如dynamic名称parsing 。

PHP足够慢,你真的想要一个数量级慢一些?

无论如何,Java更容易部署,并且如果你愿意的话可以让你下载到字节码级别。 Java也给你访问适度合理的库。

非常有趣的想法,如果它来到生活中,我认为我不会介入:)

开始你可以检查和阅读这个位置http://www.amazon.com/Masterminds-Programming-Conversations-Creators-Languages/dp/0596515170(iam现在阅读)。; 它清楚地说明了维护自己的语言是多么的复杂。

我同意PHP肯定可以做一些改进,现在它允许太多的鬼混。

有些事情我想看

  • 静态打字
  • 必需的缩进
  • 正确使用对象(使用数组作为对象只是愚蠢的)

然后,也许我应该放弃PHP,开始使用Ruby或Python。