Возможно ли поддерживать php-хип-хоп-код?


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

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

 2
Author: The Real Roxette, 2011-12-05

2 answers

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

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

 3
Author: Noufal Ibrahim, 2011-12-05 12:30:41

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

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

 1
Author: Alasdair, 2011-12-05 13:34:27