可以维护php的HipHop代码


Possible to maintain php HipHop code?

我已经读了很多关于Facebook的PHP HipHop项目,但有一件事我似乎不能弄清楚(我没有64位机器来测试HipHop)是是否可以使用HipHop作为一个简单的项目转换工具,而不仅仅是编译二进制文件。

本质上,如果有人倾向于尝试使用HipHop将PHP CLI应用程序转换为c++,那么将来是否有可能只在c++中维护它,而不必每次都使用HipHop ?

我认为自动翻译的代码将比手写代码更难维护。它将由计算机生成,所以你可以在很多地方摆脱像循环这样的东西。很多东西可能不是最优的(直接翻译不能总是适应习语),手工调整一段时间后,它将是一个混合的样式(自动生成和手写),这将是一个维护噩梦。

本质上,您应该将此c++代码视为常规编译后的二进制代码。你会不会稍微调整一下,加入新的功能?不,你要编辑源代码,然后重新编译。这也是你在这里应该做的。c++是生成的和一个中间表示。它是一种人类可读的语言,这一事实不应该诱使您修改它。

由HipHop生成的c++源代码完全可以被修改。人们确实用HipHop来做这个。在HipHop生成的c++上进行大量扩展是没有意义的,因为它不像手写代码那样容易遵循(或者效率接近),但对于小的更改(可能是优化),它可以做到。

HipHop也可以用来生成一个基库,如果你想把PHP脚本转换成c++,你可以完全重写这个基库。您可以从查看HipHop生成的代码开始,以帮助您手动重写整个内容。