Me gustaría escuchar opiniones de personas que han usado un lenguaje que compila php. Uno de esos idiomas que conozco es el haxe . Otros sobre los que he leído son Kira y Pharen .
¿Qué tan bien se integran estos lenguajes con PHP? ¿Es relativamente fácil escribir un complemento para un PHP CMS en ellos?
¿Cuán maduros son sus implementaciones y herramientas?
¿Se los recomendarías a alguien que tiene que usar un php cms pero odia php?
Respuestas:
Soy el creador de Pharen, que compila un dialecto Lisp para PHP. Para responder a sus preguntas, se integra bastante bien con PHP. Es fácil incluir funciones de llamada de bibliotecas existentes / usar sus objetos.
En cuanto a la madurez, todavía no ha habido ningún uso de producción del código Pharen. Si bien en términos del idioma, todo lo que desea está ahí y funcionando, cosas como la implementación aún requieren un poco de esfuerzo adicional.
Dicho esto, si eliges a Pharen, estaré encantado de ayudarte como pueda. ¡Avíseme si tiene alguna otra pregunta!
fuente
Josh K tiene razón en algunos aspectos, es mejor conocer php para apuntar mejor al tiempo de ejecución de php. Sin embargo, la razón principal de esto no es que haxe sea un mal compilador, sino que php es un lenguaje tan "idiosincrásico".
Php tiene una increíble cantidad de funciones en su espacio de nombres base. Por lo tanto, hay muchas palabras clave reservadas y funciones especiales que debe conocer para evitar conflictos de nombres. Algunas personas están de acuerdo con esto, creo que es un diseño de lenguaje horrible. HaXe soluciona este problema creando su propio espacio de nombres en php.
Php convierte automáticamente un entero en un flotador en caso de desbordamiento. Esto, por supuesto, rompe la escritura estricta en la que confían lenguajes como HaXe para la seguridad de los tipos (y para habilitar cosas simples como algoritmos de hash rápidos). Creo que esta es otra característica terrible del lenguaje. Además, haXe no puede ayudar aquí, porque este comportamiento de php no se puede cambiar.
Ahí vas. Creo que haXe mejora php porque limpia algunas fallas de lenguaje (percibidas) para php. Sin embargo, hay tantas cosas raras sobre php, que terminas necesitando aprenderlo bien para corregir algunas de sus idiosincrasias.
Dicho todo esto, el lenguaje haXe es bastante sorprendente. Le permite organizar su código php en mejores espacios de nombres, tiene un sistema de tipos bastante sofisticado, tiene algunas opciones de compilación condicional para manejar problemas específicos de php y tiene algunas buenas operaciones de documentación. Solo por esas razones, no es una mala elección diseñar una biblioteca sofisticada ... incluso para algo como php.
Enlaces relevantes:
php magic: http://haxe.org/doc/advanced/magic
(también busque "peculiaridades de la plataforma" en la sección de la comunidad del sitio principal de haxe.org)
fuente
Basura horrible
Usé haXe por recomendación de alguien y nunca se lo recomendaría a nadie por ningún motivo .
La compilación cruzada entre idiomas conduce a confusión, errores y errores. También hace que la depuración sea una tarea monumental.
¡No! Le recomendaría que aprenda PHP correctamente o use un CMS diferente. Como parece que no tiene otra opción en la parte de CMS, la otra opción es aprender el idioma y tratarlo.
Joven en el mejor de los casos, inestable en el peor. No encontrarás mucho apoyo para ellos.
Parece que tienes el trabajo de escribir algo para una aplicación PHP. Además de los problemas obvios de que su código tendría que importar funciones / objetos PHP existentes para trabajar, y la basura mencionada anteriormente, cualquier otra persona que trabaje en esto ahora tendrá que aprender su compilador de idioma a idioma. De lo contrario, van a estar jugando con el débil código "PHP" que es el resultado. Esto también significa que si trabajan en él, tendrá que volver a implementar esos cambios en su código, o arriesgarse a perder los cambios que alguien más haga.
Si odia trabajar con PHP, espere hasta que tenga que trabajar con parte del código que generan esos lenguajes.
"" Compilación cruzada entre idiomas "
Conduce a confusión, errores y errores. Cuando escribe código que se está traduciendo a otro idioma, se está eliminando de la fuente inicial. Lo que escribes y lo que se genera depende completamente del compilador. Escribir código para generar código se vuelve confuso, cometerá errores y encontrará errores que no espera. No recomendaría que los uses.
fuente
He usado numerosos traductores de idiomas, y al final siempre tienes que pensar mucho en lo que estás tratando de evitar ... Entonces, si odias PHP, solo espera hasta que tengas un problema realmente oscuro que te requiera meterse hasta el cuello en sus intestinos. Sin embargo, debo ser un glotón, porque creo que atacar a Neko con haXe sería genial.
fuente
Si es para hacer un complemento para un PHP CMS, quédese con PHP.
Aunque uso HaXe y lo encuentro realmente genial, no lo recomiendo en este caso. Simplemente son demasiadas indirecciones y los costos serían más altos que las ganancias de solo un pequeño complemento.
fuente
Ya he probado Haxe, y no puedo recomendarlo para el desarrollo web.
Sin embargo, me gustó el enfoque, por eso he implementado mi propio lenguaje minimalista que también se compila en PHP, pero de una manera mucho más directa que Haxe, para que sea fácil depurar el código generado e interactuar con el código PHP existente .
fuente