LINUX.ORG.RU

Конвертер кода php в java

 , ,


0

2

В детстве помню на паскале всякую ерунду кодил. Как-то стало интересно сравнить размер скомпилированных файлов, нашёл конвертер Pascal->C, конвертировал и скомпилировал, Си выйграл конечно. Сейчас задача другая, для одной специфической нужды нужен код на java, строчек 20. А возможно, подобная задача возникнет несколько раз. Умею кодить на php, на нём он получается чётко и лаконично. Яву не знаю к сожалению, времени изучать сейчас нет. Кто-то видел рабочий конвертер? Всмысле не для целых огромных фреймворков с одного на другое перегнать, а для простых отдельных файлов со своей, не слишком обьёмной логикой.

★★★★★

Ответ на: комментарий от znenyegvkby

Шок.

Я не хочу устраивать холивар, пхп мне нравится - хороший и удобный инструмент. Просто столкнулся с ситуацией, когда нужно реализовать на java часть логики. По сабжу не знаешь ничего?

fehhner ★★★★★
() автор топика
Ответ на: комментарий от znenyegvkby

Воу, спасибо за линк, я слеп))

fehhner ★★★★★
() автор топика
Ответ на: комментарий от Deleted

Вот это вот. Если ничего сложного не предстоит, то всё будет не сложно.

anonymous
()

ява ничем не отличается от пыхпыха, кроме отсутствия значков доллара перед переменными, попробуй их убрать и компильнуть, должно сработать

anonymous
()
Ответ на: комментарий от anonymous

Вот этот анонимус всё правильно говорит. Получится не менее чёткий и лаконичный код.

sholom
()
Ответ на: комментарий от fehhner

Оказывается это говно мамонта сдохло. Туда ему и дорога. Если вы обратите внимание, то увидите что я дал вам ссылку не на сам вопрос, а на конкретный ответ, конкретного человека. Прочтите его внимательно. Особенно вот эту вот часть.

Your other major problem is that debugging the result after the conversion is going to be hell, even if you have beautiful code to start with. If you want to avoid regressions, you will basically need to go through the entire code base on both sides with a fine comb.

znenyegvkby
()
Ответ на: комментарий от anonymous

ява ничем не отличается от пыхпыха, кроме отсутствия значков доллара перед переменными, попробуй их убрать и компильнуть, должно сработать

Попробую чуть позже, но имхо конвертер был бы удобен - конвертировать и заодно увидеть разницу.

fehhner ★★★★★
() автор топика

вброшу чуть: есть такой проект PlayOLinux, тот который запускалка для WINE, тот который смесь bash/python скриптов с wxГуем, ...
дык вот, решили они переписать все это добро на яве, чтоб облегчить себе жисть в дальнейшем и замахнуться на мультиплатформу (так они говорят)

но переписывать все на яве западло, да и сохранить совместимость со старыми скриптами первое время как-то желательно, и ... короче у них «конвертер» из питона в яву юзается (ну и баш из питона видимо)

к чему это: к тому, что если не найдешь php2java, то каконть php2python наверняка есть, а там уже и в яву (tl;dr: Jython)

anTaRes ★★★★
()
Ответ на: комментарий от anTaRes

Сейчас задача другая, для одной специфической нужды нужен код на java, строчек 20. А возможно, подобная задача возникнет несколько раз. Умею кодить на php, на нём он получается чётко и лаконично.

вброшу чуть:


Годный вброс.
Представляю ТС-а конвертирующего 10 раз 20-строчек из одного языка в другой. В конце концов он получает что хотел, и его, радостного, увозят в ближайший психдиспансер :D

znenyegvkby
()

Я привык есть всё вилкой. Это простой и универсальный инструмент. Однако иногда попадаются продукты, которые не получается есть вилкой (например, суп). Я не хочу переучиваться на ложку, потому что вилки мне вполне хватает. Но потребность есть суп возникает иногда. Как можно сконвертировать суп, чтобы его можно было есть вилкой?

KivApple ★★★★★
()
Ответ на: комментарий от KivApple

Можно понакалывать, тогда все будет четко и лаконично, без лишней воды!

cdshines ★★★★★
()
Ответ на: комментарий от KivApple

Я привык есть всё вилкой. Это простой и универсальный инструмент. Однако иногда попадаются продукты, которые не получается есть вилкой (например, суп). Я не хочу переучиваться на ложку, потому что вилки мне вполне хватает. Но потребность есть суп возникает иногда. Как можно сконвертировать суп, чтобы его можно было есть вилкой?

Зависит от вида супа. Некоторый - сложную сборную солянку, никак. Если суп представляет из себя простой наваристый бульон с мясом - убрать в холодильник, достать, поличить горчицей и съесть холодец (студень) своей вилкой. Но решение конечно не под любой суп, так-то в случае чего придётся ложкой учиться есть, чтобы кусочки из супа не вылавливать.

fehhner ★★★★★
() автор топика

нужен код на java, строчек 20

Такое можно осилить за один вечер с документацией и гуглом. Зачем придумывать какие-то костыли с конвертированием?

th3m3 ★★★★★
()
Ответ на: комментарий от fehhner

Зависит от вида супа. Некоторый - сложную сборную солянку, никак. Если суп представляет из себя простой наваристый бульон с мясом - убрать в холодильник, достать, поличить горчицей и съесть холодец (студень) своей вилкой.

Ну то есть вы поняли в чем ваша проблема? Вместо того, чтобы сказать — «Да, суп реально удобнее есть ложкой», вы начинаете размышлять: «Ну, смотря какой суп. Чисто теоретически можно так, а можно вот эдак.» И т.д. и т.п. Вообщем проблема конвертирования из PHP в Java лежит прямо на поверхности :)

znenyegvkby
()
Ответ на: комментарий от th3m3

Инкрементирую. Проблема на пустом месте, дольше будет искать конвертер.

neversleep ★★
()
Последнее исправление: neversleep (всего исправлений: 2)
Ответ на: комментарий от KRoN73

Тогда уже Quercus.

Это слишком монстр, я думал просто конвертировать скрипт, а не привязывать нечто огромное к проекту. Ну вооружусь учебником вечером, если других вариантов не будет.

fehhner ★★★★★
() автор топика
Ответ на: комментарий от takino

Why would I want to execute PHP from within my Java code?

Я знаю — нельзя смеяться над больными людьми. Но я верю что для них уже приготовлено место в аду!

znenyegvkby
()

Закрыл тему, придётся делать по книжке. Подключать дополнительные библиотеки желания нет, интересовал именно транслятор.

fehhner ★★★★★
() автор топика
Ответ на: комментарий от anonymous

ява ничем не отличается от пыхпыха, кроме отсутствия значков доллара перед переменными, попробуй их убрать и компильнуть, должно сработать

Зачем убирать? Специально для таких, как топикстартер, в Java можно использовать значок доллара в идентификаторах.

Legioner ★★★★★
()
Ответ на: комментарий от KivApple

Как можно сконвертировать суп, чтобы его можно было есть вилкой?

Если по-горячее - выпаривание.

Если по-холоднее - заморозка.

ioway
()

Безотносительно к данному конкретному конвертеру сама идея «конвертировать, чтобы увидеть разницу» порочна.

Очевидно, если ты конвертируешь исходник из языка A на язык B, то с большой вероятностью там не будут использованы какие-то «фичи», выигрышные для B. Так что даже если всё это заработает, на выходе получится уродец. Не удивлюсь, если в результате сравнения ты решишь, что PHP красивее, чем Java.

нужен код на java, строчек 20

Прозреваю, что в этом случае таки имеет смысл взять книжку по Java и нарисовать пару хеллоуворлдов. Если кодил на паскале, значит, с типизацией знаком.

hobbit ★★★★★
()
Ответ на: комментарий от fehhner

придётся делать по книжке

Поздравляю с правильным решением!

hobbit ★★★★★
()
15 ноября 2017 г.

Что случилось с «numiton» ?

Автоматический перевод:

Что случилось с «numiton» ???

Если вы проводили время в Интернете для «php to java», вы, несомненно, знакомы с именем «numiton». Вопрос stackoverflow относительно этого является одним из лучших результатов, но когда вы посещаете их веб-сайт, его нет.

 В DZone есть хорошая статья о его создателе, Роберте Эньеди, а также некоторые продвинутые проекты, выпущенные на SourceForge, такие как «nBB2», перевод популярного программного обеспечения форума phpBB.   Сайт SourceForge по-прежнему активен, но по какой-то причине единственным выпущенным кодом является двоичный файл. Поскольку лицензия указана как GPL, справедливо запустить ее через декомпилятор.  

Выглядит довольно продвинутым, учитывая, что, как представляется, все выводы сделаны. Однако неясно, в какой степени это автоматическое преобразование и в какой степени руководство. Примеры, выпущенные RuntimeConverter, полностью без исключения полностью автоматизированы. Вероятно, справедливо сказать, что было бы невозможно достичь такого уровня вывода типа и работать над программой.   Еще одно интересное замечание состоит в том, что размеры кода не очень большие - в некотором роде nBB2 имеет только 3,1 МБ источников Java, а nwp (wordpress) - 3,9 МБ. Wordpress теперь составляет 23 МБ, а 11,07 МБ, если вы считаете только файлы .php. Это разница в размере 3x, поэтому, если преобразование было ручным, все, что произошло между 2013 и 2013 годами, полностью потеряно в проекте nBB2.   Так что случилось с numiton? Последнее сообщение на странице новостей (просмотренной через архив) было 14 сентября 2009 года. Веб-сайт, как представляется, был отключен, по-видимому, около 09 января 2015 года, судя по странице IIS в машине с обратным доступом. Роберт Эниеди перечисляет на своей странице LinkedIn, что он в последний раз работал в Numiton в марте 2010 года. После этого он переименован в «Sr. Research Software Engineer» в IBM.

Итак, существует ли возможная теория - «купил ли IBM номер»? Похоже, что в их интересах было бы купить конвертер php -> java, но новостей нет. У них есть секретный php -> java-конвертер, который они используют?

IBM фактически имеет ряд решений php, включая Project Zero (wikipedia). Здесь важно отметить, как различные эти решения взяты из Runtime Converter, поскольку они «запускают php на JVM», а не делают что-либо похожее на преобразование. Тем не менее, дело в том, что они не скрывали своего проекта.   Другой возможностью был Microsoft, у которого есть PHP -> Java «Помощник по миграции», но он был разработан в 2003 году, за 5 лет до numiton.   Наконец, появилась новая разработка. Только в прошлом месяце, после трех лет отсутствия, машина обратного пути зарегистрировала запись для numiton (две на самом деле) - показ старого сайта с 2009 года. Похоже, что они не были куплены в конце концов. Результаты архива с 2014 года также показывают, что проект не изменил владельца, он просто прекратил работу.   Так что же произошло с цифрой? Без сомнения, numiton привлек внимание к качеству своего архитектора и разработчика, который занял руководящую должность в IBM и позже eBay. Также важно отметить, что номер был расположен в Бухаресте, Румыния. Переход от основателя стартапа в Румынии к высокопоставленному разработчику в крупной американской компании, несомненно, является значительным успехом для основателя numiton. Поддержание сайта numiton тогда, вероятно, не стоило того.   Стоит отметить, что, хотя мало известно о numiton из-за его тайной кончины, он, вероятно, не дошел до стадии преобразования и запуска расширенного программного обеспечения без ручного вмешательства.

nr248112
()
Ответ на: Что случилось с «numiton» ? от nr248112

Чуть не начал отвечать про Quercus и Jyhton, потом обнаружил, что это опять археологические изыскания :)

KRoN73 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.