Возможно ли поддерживать php HipHop код? - PullRequest
2 голосов
/ 05 декабря 2011

Я много читал о PHP HipHop-проекте Facebook, но одна вещь, которую я не могу понять (у меня нет 64-битной машины для тестирования HipHop), может ли кто-нибудь использовать HipHop как просто инструмент преобразования проекта, а не просто для компиляции двоичного файла.

По сути, если бы кто-то был настолько склонен пытаться преобразовать приложение CLI PHP в C ++ с использованием HipHop, можно ли было бы просто поддерживать его в C ++ в будущем, вместо того, чтобы каждый раз использовать HipHop?

Ответы [ 2 ]

3 голосов
/ 05 декабря 2011

Я ожидаю, что автоматически переведенный код будет сложнее поддерживать, чем рукописный код. Он будет создан компьютером, чтобы вы могли избавиться от таких вещей, как петли во многих местах. Многие вещи могут быть неоптимальными (прямой перевод не всегда может быть приспособлен к идиомам), и после ручной настройки на некоторое время это будет смесь стилей (автоматически сгенерированных и написанных от руки), что станет кошмаром обслуживания.

По сути, вы должны обращаться с этим кодом C ++ как с двоичным кодом после обычной компиляции. Вы бы немного подправили это, чтобы добавить новую функциональность? Нет, вы бы отредактировали исходный код и затем перекомпилировали его. Это то, что вы должны сделать здесь. C ++ является сгенерированным и промежуточным представлением. Тот факт, что он написан на понятном человеку языке, не должен искушать вас изменить его.

1 голос
/ 05 декабря 2011

Исходный код C ++, сгенерированный HipHop, вполне может быть изменен.Люди используют HipHop для этого.Не имеет смысла расширяться на сгенерированный HipHop C ++, поскольку за ним не так просто следовать, как рукописному коду (или где-то почти столь же эффективно), но для небольших изменений (возможно, оптимизации) это можно сделать.

Также HipHop можно использовать для создания базы, которую затем можно полностью переписать, если вы хотите конвертировать PHP-скрипт в C ++.Вы можете начать с просмотра кода, сгенерированного HipHop, чтобы помочь вам переписать все это вручную.

...