Я хотел бы услышать мнения от людей, которые использовали язык, который компилируется в php. Один такой язык, который я знаю, это Haxe . Другие, о которых я читал, это Кира и Фарен .
Насколько хорошо эти языки интегрируются с PHP? Относительно легко написать плагин для PHP CMS в них?
Насколько зрелы их реализации и инструменты?
Вы бы порекомендовали их тем, кто использует php cms, но ненавидит php?
Ответы:
Я создатель Pharen, который компилирует Лиспский диалект в PHP. Чтобы ответить на ваши вопросы, он довольно хорошо интегрируется с PHP. Легко включить существующие функции вызова библиотек / использовать их объекты.
Что касается зрелости, то еще не было никакого производственного использования кода Pharen. Хотя с точки зрения языка все, что вам нужно, есть и работает, такие вещи, как развертывание, все же требуют дополнительных усилий.
Тем не менее, если вы выберете Фарена, я буду рад помочь, насколько смогу. Пожалуйста, дайте мне знать, если у вас есть другие вопросы!
источник
Джош К прав в некоторых отношениях, лучше знать php, чтобы лучше ориентироваться на время выполнения php. Тем не менее, главная причина этого не в том, что haxe - плохой компилятор, а в том, что php - такой «особенный» язык.
Php имеет невероятное количество функций в своем базовом пространстве имен. Итак, есть много зарезервированных ключевых слов и специальных функций, о которых вам нужно знать, чтобы избежать конфликтов имен. Некоторые люди в порядке с этим, я думаю, что это ужасный языковой дизайн. HaXe решает эту проблему, создавая свое собственное пространство имен в php.
Php автоматически превращает целое число в число с плавающей точкой при переполнении. Это, конечно, нарушает строгую типизацию, на которую полагаются языки, такие как HaXe, для обеспечения безопасности типов (и для обеспечения простых вещей, таких как быстрые алгоритмы хеширования). Я думаю, что это еще одна ужасная языковая особенность. Кроме того, haXe не может здесь помочь, потому что это поведение PHP не может быть изменено.
Итак, поехали. Я думаю, что haXe делает php лучше, потому что он устраняет некоторые (предполагаемые) языковые недостатки для php. Тем не менее, в php есть так много странных вещей, что вам, в конце концов, придется хорошо его изучить, чтобы исправить некоторые его особенности.
Несмотря на это, язык haXe довольно удивителен. Он позволяет вам организовать ваш php-код в более совершенные пространства имен, имеет довольно сложную систему типов, имеет некоторые возможности условной компиляции для обработки специфических проблем php и имеет несколько полезных операций документирования. Только по этим причинам неплохо было бы создать сложную библиотеку ... даже для чего-то вроде php.
Соответствующие ссылки:
php magic: http://haxe.org/doc/advanced/magic
(также ищите «причуды платформы» в разделе сообщества основного сайта haxe.org)
источник
Ужасный мусор
Я использовал haXe по рекомендации кого-то и никогда не рекомендую никому по любой причине .
Кросс-компиляция между языками приводит к путанице, ошибкам и ошибкам. Это также делает отладку монументальной задачей.
Нет! Я бы порекомендовал вам либо изучать PHP правильно, либо использовать другую CMS. Поскольку кажется, что у вас нет выбора в части CMS, другой вариант - выучить язык и разобраться с ним.
Молодой в лучшем случае, нестабильный в худшем. Вы не найдете много поддержки для них.
Похоже, у вас есть задача написать что-то для приложения PHP. Помимо очевидных проблем, связанных с тем, что вашему коду придется импортировать существующие функции / объекты PHP, и вышеупомянутого мусора, всем, кто работает над этим, теперь придется изучать ваш язык для языкового компилятора. В противном случае они будут возиться с неубедительным кодом «PHP», который является результатом. Это также означает, что если они работают над этим, вам придется переопределить эти изменения в вашем коде, или рискуете потерять изменения, сделанные кем-то еще.
Если вам не нравится работать с PHP, подождите, пока вам не придется работать с кодом, который выводят эти языки.
«Кросс-компиляция между языками»
Это приводит к путанице, ошибкам и ошибкам. Когда вы пишете код, который переводится на другой язык, вы удаляете себя из исходного источника. То, что вы пишете, и то, что генерируется, полностью зависит от компилятора. Написание кода для генерации кода сбивает с толку, вы будете делать ошибки, и вы найдете ошибки, которые вы не ожидаете. Я бы не рекомендовал вам их использовать.
источник
Я использовал множество языковых переводчиков, и, в конце концов, вам всегда нужно иметь дело с тем, чего вы пытаетесь избежать ... Так что, если вы ненавидите PHP, просто подождите, пока у вас не появится действительно непонятная проблема, которая требует от вас глубоко проникнуть в его кишечник. Хотя я, должно быть, жажду, потому что думаю, что нацеливаться на neko с помощью haXe было бы здорово.
источник
Если это сделать плагин для PHP CMS, оставайтесь с PHP.
Хотя я использую HaXe и нахожу его действительно очень хорошим, я не рекомендую его в этом случае. Это просто слишком много косвенных указаний, и затраты будут выше, чем выгоды для небольшого плагина.
источник
Я уже пробовал Haxe, и я не могу рекомендовать его для веб-разработки.
Однако мне понравился подход, поэтому я реализовал свой собственный минималистический язык, который также компилируется до PHP, но гораздо более прямым способом, чем Haxe, так что по-прежнему легко отлаживать сгенерированный код и взаимодействовать с существующим кодом PHP. ,
источник