28-07-2009 Luis Artola
1. blaxter | julio 28th, 2009 at 11:47 am
Eso de que php tiene mayor rendimiento respecto a java, ¿en qué te basas? No tiene ni pies ni cabeza [0].
En mi opinión, php no está preparado para la empresa debido a ser un lenguaje con un diseño muy pobre.
[0] http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=java&lang2=php&box=1
2. Enrique Castro | julio 28th, 2009 at 12:05 pm
Muy de acuerdo con lo que dices salvo en un matiz.
Estando de acuerdo que Moddle es una excelente plataforma de e-learning, tiene unos consumos de Servidor Apache muy elevados.
En cuanto a mi anterior comentarista, está demostrado que la simplicidad y eficacia de PHP con respecto a JAVA hace que sea una herramienta muy eficaz. Las posibilidades de crear objetos en PHP están más que probadas, siempre y cuando se utilicen bien las funciones y estilos correctamente. Para conseguirlo, es preciso que el programador colabore con otras personas en el momento de configurar bien los recursos y además de ser cuidadoso con el diseño.
PHP ofrece estabilidad y rapidez de descarga al cliente, mientras que JAVA no ofrece eso. Además de las limitaciones de compatibilidad con distintos tipos de navegadores.
Yo prefiero PHP sin ningún género de dudas.
Buen post
3. blaxter | julio 28th, 2009 at 1:20 pm
@Enrique, Simplemente he comentado que en términos de rendimiento, Java es superior a PHP, de forma más que obvia. Me ha llamado la atención que en el post se nombrase justo lo contrario de forma tajante y sin despeinarse, “se ha demostrado que ofrece mayor rendimiento que Java”, WTF?.
ps: ni defiendo java (eso nunca), ni a php, ni a ningún lenguaje.
4. Damian | julio 28th, 2009 at 1:31 pm
El último comentario demostró la poca idea que tiene con su anteúltima oración:
“Además de las limitaciones de compatibilidad con distintos tipos de navegadores.”
Evidentemente no tiene ni la más remota idea de qué estamos hablando aquí. Compatibilidad entre navegadores? Te estarás confundiendo con JavaScript que es un lenguaje que nada tiene que ver con Java. Aquí hablamos sobre tecnologías del lado del servidor, los navegadores no tienen absolutamente nada que ver.
5. Damian | julio 28th, 2009 at 1:34 pm
Me refería al comentario de Enrique.
6. Luis Artola | julio 28th, 2009 at 5:39 pm
Hola Blaxter!
Que PHP es MUY superior a Java en rendimiento es un hecho más que contrastado. Ahora mismo me estoy refiriendo al rendimiento como la escalabilidad del sistema, no como la velocidad de desarrollo… ojo.
Te dejo un link para que le eches un vistazo!
http://www.programania.net/diseno-de-software/javaphp-y-ruby-nueva-comparativa/
7. Enrique Castro | julio 28th, 2009 at 5:44 pm
Damian:
JS (JavaScript) es una cosa y JAVA efectivamente otra muy distinta. También coincido que el lenguaje de programación de JAVA es mucho más complejo que el JS. Pero afortunadamente, en el código de JS está perfectamente documentado el tema de compatibilidad de navegadores http://w3schools.com/js/js_browser.asp
es cuestión de introducir bien el código y cumplir los estándares fijados.
¿Se puede decir lo mismo de JAVA sin necesidad de instalar parches en el equipo del cliente? http://www.java.com/es/download/manual.jsp
8. Luis Artola | julio 28th, 2009 at 5:47 pm
Hola Enrique….
la verdad es que no sé hacia donde caminas con el tema de la compatibilidad de JAVA y los estándares de los navegadores… arrójanos algo de luz por favor!
9. Enrique Castro | julio 28th, 2009 at 5:53 pm
Luis:
Vamos…no es lo mismo un código PHP que acepte cualquier tipo de máquina que soporte cualquier tipo de sistema operativo o navegador vs. JAVA donde el usuario tenga que descargarse un parche para poderlo ver (amén de actualizar)
Afirmar que JAVA es superior que PHP (como decían Damian y Blaxter) no me parece del todo correcto.
¿Qué JAVA es compatible? si… para geeks si, pero la inmensa mayoría de usuarios/as de la Net no.
10. Luis Artola | julio 28th, 2009 at 5:56 pm
Hola Enrique, ¿y para qué tiene que bajarse un parche alguien para ver una página desarrollada con Java? Me parece que estás mezclando algún concepto por ahí…
Java es el principal lenguaje de desarrollo utilizado en el mundo… digamos que algo más que para “geeks”…
11. Rubén | julio 28th, 2009 at 7:49 pm
Creo que la cuestión sería más bien:
¿Está el programador de PHP preparado para la empresa?
12. Luis Artola | julio 28th, 2009 at 8:10 pm
Hola Rubén,
eso si que me parece un mito. No porque en PHP haya grandes programadores, hay programadores buenos y malos, como en todos lados. El mito me parece que se crea que en Java, por ser Java, los programadores ya son buenos.
Mito mitiquísimo!
13. Dani Latorre | julio 29th, 2009 at 1:26 pm
Estoy con blaxter, java tiene mayor rendimiento que php, básicamente porque rendimiento!=escalabilidad.
Cuando hablamos de que php escala bien, no hablamos del rendimiento del lenguaje, lo hacemos de la facilidad para escalar donde sí destaca php.
14. Luis Artola | julio 29th, 2009 at 5:44 pm
Hola Dani!
entonces… a qué te refieres tú con rendimiento?
Un saludo!
15. Dani Latorre | julio 29th, 2009 at 7:24 pm
Hola Luis,
Cuando me refiero al rendimiento de un lenguaje de programación, me refiero a lo rápido que es ejecutando operaciones. Aunque dependiendo del tipo de operación puede variar cuál es más rápido, como cuál consume más memoria.
En el enlace que ha compartido blaxter hay un benchmark comparativo de php y java donde también puedes ver el código de cada test, puedes ver los valores absolutos en estos dos enlaces:
http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=php&lang2=php&box=1
http://shootout.alioth.debian.org/u32q/benchmark.php?test=all&lang=java&lang2=java
Yo no puedo asegurar que java tenga mejor rendimiento que php en todos y cada uno de los escenarios que se le ocurran a cualquiera, pero sí en muchos. Hay bastantes casos conocidos donde el frontend se desarrolla por ejemplo con Ruby/PHP/Python/… y para el backend, por ser operaciones computacionalmente más costosas, lenguajes más rápidos como java/c/c++ (a bote pronto se me ocurren facebook, google, yahoo…)
Y claro, tampoco está directamente relacionada la velocidad de un sistema con la capacidad/facilidad para escalar, ni viceversa.
16. Luis Artola | julio 29th, 2009 at 7:49 pm
entiendo.
La verdad es que yo de lo que estaba hablando en el artículo es de escalabilidad. Debería haberme explicado mejor.
Además, creo que la escalabilidad es lo importante en estos casos, más allá del rendimiento por operación, ya que a la hora de la verdad, cuando miles de usuarios estén accediendo, es lo que más te va a importar.
Si lo que buscas es velocidad por operacion… pues te vas a C o a lenguajes sin máquina virtual… no?
De todas formas yo pensaba que la gente de Java se me iba a echar más encima con mi afirmación de que puedes hacer transacciones igual de buenas en PHP que en Java… esa me parece una discusión más difícil de defender (que es a lo que creo que te refieres tú con el ejemplo del facebook, más que al coste operacional, sino al coste transaccional.)
por cierto, tienes por ahí algún link que pueda vampirear donde se explique la arquitectura de facebook, y donde ponga que el backend va en Java, o como sea? me parece muy interesante…
17. Dani Latorre | julio 30th, 2009 at 1:18 am
Martín Pérez ha escrito alguna vez sobre la arquitectura de facebook(http://brigomp.blogspot.com/2009/04/notas-sobre-la-arquitectura-de-facebook.html), un ejemplo conocido de servicio hecho en java(hadoop) es su datawarehouse (http://brigomp.blogspot.com/2009/05/mas-sobre-facebook-esta-vez-hadoop-y.html)
Yo soy de la opinión que al menos en web casi con cualquier lenguaje se pueden dessarrollar la mayoría de proyectos que hacemos los “mortales”. Más que las herramientas, es una cuestión de quién las utiliza y a partir de que arquitectura se trabaja.
Sobre escalabilidad, se dice que php escala bien porque es más “fácil” añadir servidores(escuchado de gente de sistemas a la que le ha tocado pelearse bastante), pero hay que tener en cuenta que un cuello de botella típico es lo relacionado con la persistencia de datos(por eso en mi opinión tiene más peso la arquitectura)
Por cierto, que cada vez que se habla si PHP/Ruby/Python/etc están preparados para la “enterprise”… ya sea a favor o en contra, les presto poca o ninguna atención, porque suelen referirse a macro-corporaciones y ahí tienen muy difícil entrar, y más que por cuestiones técnicas, por la inversión que ya tienen infraestructura. Para empresas “de las otras”, juraría que hace un tiempo que han emepezado a entrar
Saludos!
18. Luis Artola | julio 30th, 2009 at 6:24 am
hola otra vez!
muy buena pinta esos links… gracias!