1389
Facebook presenta HipHop, un proyecto que permite transformar php en c++ para poder aumentar el rendimiento de sus sistemas. Según Facebook, el 90% de su tráfico se sirve ahora en código c++ optimizado a partir del php original. El código se hará disponible bajo licencia libre en los próximos días.
menéame
El problema de los traductores es que requieren mucho trabajo de mantenimiento así que falta ver hasta que punto resulta estable el código generado.
We are proud to say that at this point, we are serving over 90% of our Web traffic using HipHop
Lo digo porque lo sufro mis carnes con una herramienta 4GL de IBM que genera java.
WHAT THE FUCK!?!??
El objetivo es que ese código resultante sea válido y estable, que es la duda que a mí me queda porque tal y como tú dices, cada vez que Zend saque una versión nueva de php, este generador estará por detrás.
Dicho esto, la mejora que propone Facebook les servirá para ahorrar tiempo de CPU, pero en el campo de las aplicaciones web lo que realmente ralentiza el sistema son los tiempos de espera por I/O. Los scripts hacen peticiones a recursos externos como aplicaciones o bases de datos y se quedan esperando la respuesta. Por tanto, el ahorrar CPU no tiene tanto sentido cuando los cuellos de botella están en otros sitios ¿no?
En resumen, esta mejora es más atractiva para el caso concreto de Facebook donde los tiempos de espera por I/O están más optimizados, que para PHP en general.
En servidor es más importante de disponibilidad que el rendimiento. Supongo que Facebook se puede permitir ejecutar código C++ por que basan la alta disponibilidad en cientos o miles de servidores trabajando en alta disponibilidad. No todo el mundo se lo puede permitir.
Pues nada, si es libre, bienvenido sea. Se probará y al que le sirva, que lo use
Que se llame hiphop va a crear un problema muy serio en google, los raperos se encontraran tutoriales y los programadores tendran que esquivar a eminem o a violadores del verso entre los resultados.
Puede sonar a broma, pero creo que puede ser un inconveniente y una molestia innecesaria.
Otra cosa que cuenta en ese 50% de beneficio es que comparaban PHP sobre apache a HipHop sobre su propio servidor web, ya que no necesitan muchas cosas de las que da apache (y de hecho esperan que la comunidad sea la que haga el módulo de HipHop para ejecutarse en apache, ya que de momento son incompatibles).
#12 se especula que el nombre viene de Hyper PHP (o Haiping's PHP) => HPHP => HipHop (más letras, pero más fácil de pronunciar).
#7 efectivamente HipHop siempre irá (o almenos durante un tiempo) por detrás de PHP. Lo que han liberado esta tarde funciona con PHP 5.2, pero no con PHP 5.3. Hasta que Zend no tome el desarrollo de HipHop (si ocurre algún día, cosa que nadie espera hoy por hoy), éste siempre estará por detrás de las últimas versiones de PHP
#19 Cierto
www.gnewbook.org/
Aunque todo sea dicho, desconocía que existieran 'traductores'. Me parece una propuesta muy interesante.
hiphop -music -eminem -eminem -EMINEM!
en.wikipedia.org/wiki/Compiler
Si os interesa el temas os recomiendo el libro del dragón, un libro digno de tener en el mejor mueble de tu casa. Si queréis algo más asequible os recomiendo mirar ANTLR que tiene un libro que no presupone conocimiento de teoría de autómatas, lo cual por cierto, también se da en la carrera.
un traductor es un tipo de compilador, pero llamarlo compilador esta bien dicho
de hecho en el propio link que has puesto lo explica:
"A compiler is a computer program (or set of programs) that transforms source code written in a computer language (the source language) into another computer language (the target language, often having a binary form known as object code). "
y luego especifica:
"The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language"
en este caso se dan las dos condiciones porque el codigo resultante es de mas bajo nivel, pero aunque no lo fuera seguiria siendo un compilador. no hace falta que genere codigo maquina
a ver si leemos un poquito
/dev/null
en fin, encima que intento explicarte como funciona... a ver si nos educamos un poco, que ya se que aqui todos sois informaticos de sillon pero algunos hemos acabado una carrera y sabemos de lo que hablamos
"a ver si leemos un poquito"
Tú mucho me parece que tampoco lees.
En el link del que has pegado trozos también pone :
A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter
A program that translates between high-level languages is usually called a language translator, source to source translator, language converter, or language rewriter. The last term is usually applied to translations that do not involve a change of language.
". a ver si nos educamos un poco, que ya se que aqui todos sois informaticos de sillon pero algunos hemos acabado una carrera y sabemos de lo que hablamos "
¿Nos conocemos? ¿A qué viene esa suposición? Estoy harto de gente como tú que se cree que en internet se puede tratar a gente que ni conoces de cualquier manera. Menos confianzas.
"The name "compiler" is primarily used for programs that translate source code from a high-level programming language to a lower level language"
PHP a C++ es de un lenguaj de alto nivel a otro de mas bajo nivel, por tanto segun la deficion de la wikipedia seria un compilador
de todos modos, compilador y traductor son basicamente lo mismo, se pueden usar como sinonimos en muchos casos.
Y te repito yo también del mismo link.
A program that translates between high-level languages is usually called a language translator, source to source translator, or language converter
A program that translates between high-level languages is usually called a language translator, source to source translator, language converter, or language rewriter. The last term is usually applied to translations that do not involve a change of language.
Y sino mira la noticia del meneo:
"HipHop for PHP isn't technically a compiler itself. Rather it is a source code transformer"
Si quieres discutes con ellos también que seguro que sabes más de teoría de compiladores.
PHP es un lenguaje de alto nivel y C++ también.
"al final va a ser que no sabes mucho ingles" Que pesado eres con esos comentarios gratuitos, ¿no te lo han dicho en casa? Sobran completamente.
no pasa nada, seguro que hay otras cosas que tu si sabes hacer y yo no - no te deprimas por esto
#33 Pues sí, en esto de la informática todo no es más que coger y ponerse. Todo lo demás es titulitis y abrirse puertas (cosa que tampoco está mal).
Gracias por las recomendaciones. A ver si los encuentro en formato ebook y los meto en mi PRS-505.
#41 calificar C++ de lenguaje de alto nivel es cuanto menos osado.
La gente se ahoga en un vaso de agua.
Pero si quieres un lector de ebooks en el que se pueda leer muy bien esquemas, gráficos, y demás cosas (supongo que con eso te referirás a '_libros_ técnicos') te recomiendo un lector de ebooks con más de 6" de pantalla, como por ejemplo el Kindle DX. Supongo que habrá modelos de otras marcas con una pantalla igual de grande que la del Kindle DX, pero desconozco cuál te convendría más por características y precio.
Te recomiendo que mires en www.zonaebook.com o preguntes en los foros y ahí te podrán ayudar mejor.
Detalles técnicos del Kindle DX: www.zonaebook.com/index.php?module=dpDocs&func=view&mid=25
Existe el shared_ptr para eso, ¿no te parece decente?
avnetlabs.com/php/php-framework-comparison-benchmarks
Dicen q uno de los obstaculos del codeigniter es q utiliza PHP 4, ahora en la version actual ya usa PHP 5 =).
Salu2
de alguna manera es lógico. Sinó gasta el doble de tus fuerzas y ahora mismo no andan sobrados....