2010-02-05 23 views
5

Sé que es una pregunta candente que necesita un guion ^^ Desde mi punto de vista, usar Java vs PHP, es hoy en día un problema de recursos del sistema (Hardware, Software, etc.).Struts vs Zend? Java vs PHP?

Para Java, debe implementar J2EE Stack (JDK, AppServer, etc.) (~ 200M) en su servidor, para PHP necesita implementar un sistema LAMP (~ 100M). El uso de Java fue en mi opinión debido a la programación orientada a objetos en la aplicación web, pero hoy tenemos mucho lenguaje web orientado a objetos (Ruby, Python, PHP).

¿Entonces la pregunta cuándo elegir entre Java o PHP para nuevos proyectos? Tal vez la diferencia de la comunidad?

Sé que stackoverflow no está hecho para discusión, pero es una (buena) pregunta que necesita respuestas (para mí y para otros quizás) ^^.

Respuesta

7

Por lo general, se tienen en cuenta otras restricciones. Cosas como

  • tiempo de desarrollo,
  • costo de mantenimiento de la base de código
  • disponibilidad de programadores cualificados
  • coste salarial para los programadores cualificados disponibles

para nombrar unos pocos.

El hardware y el software son baratos si los compara con los anteriores, por lo que tienden a ser menos importantes.

+0

Sí, estoy de acuerdo contigo, el tema de hardware fue solo un ejemplo. – Zenithar

1

Depende de lo que esté haciendo. Elegir un idioma/marco sin analizar los requisitos de su proyecto es una mala idea.

+0

Lo sé pero si un proyecto es realizable con ambas tecnologías, ¿cuál eliges? y por qué ? – Zenithar

1

Elegir un idioma depende de lo que quiera hacer, pero estoy muy seguro de que el requisito de espacio en el disco duro diferente será el aspecto menos importante de su decisión.

Aquí hay una sugerencia posible: Si desea reutilizar su trabajo (o partes de él) en una aplicación de escritorio, use Java. PHP es prácticamente inexistente para todo excepto para la programación web.

0

Realmente no creo que sea una pregunta que se pueda responder objetivamente. Al final, se trata de personas y con qué se sienten más cómodos. Es por eso, por ejemplo Facebook desarrolló un PHP to C++ compiler (con el cual el beneficio de rendimiento que Java también podría ser más pequeño) en lugar de simplemente contratar desarrolladores de C++ para hacer el trabajo.

Por otro lado, la plataforma Java ofrece algunos enfoques nuevos interesantes como Grails (que es básicamente una envoltura Groovy alrededor de Spring) y Lift, también. Eso hace que el desarrollo de Frontend sea más rápido y sencillo (todavía encuentro que esto es un verdadero problema con Java simple) y puede combinar los beneficios que tienen otros lenguajes con su base de código y experiencia de Java (por cierto, la mayoría de los Frameworks mencionados no necesitan un entorno de tiempo de ejecución J2EE una instalación simple de Tomcat con alrededor de 5M y un JRE instalado debería ser suficiente). Por lo tanto, ya no se trata solo del lenguaje de programación Java.

Y si realmente no puede decidir en todo lo que acaba de ejecutar PHP in Java (obras, así como para Ruby, Python, Javascript ...).

0

Realmente no estoy de acuerdo con el hecho de que la elección de un idioma está relacionada con los recursos del sistema.

El hardware es barato y no estamos en un momento en el que tengamos que mirar de cerca los recursos del sistema como solíamos tener. No me malinterpreten: todavía tenemos que prestar atención, pero el tiempo en el que la gente estaba usando sus punteros para ahorrar espacio ha terminado (suerte).

Y si su principal preocupación es el rendimiento, entonces ejecutar una JVM o un lenguaje interpretado probablemente no sea la mejor opción.

No creo que esté relacionado tampoco con la orientación del idioma. Ok, lo sé, PHP is not object oriented pero aún así, ahora puedes codificar OO con él. Encontrará frameworks de web descendentes para casi cualquier idioma.

Estoy de acuerdo con Jacco en su lista.

Otro aspecto es de hecho la cultura a la que se refiere el lenguaje.

PHP es para script kiddies. Java es serio, vistiendo trajes para desarrolladores de negocios. Por supuesto, todos tenemos muchos ejemplos de contador, pero aún así. Java fue ampliamente adoptado por las grandes compañías, ahora competido por .Net. Hay buenas razones para esto, entre las cuales el hecho de que es mucho más fácil escribir código pobre en PHP que en Java (y en casi cualquier otro idioma). Por otro lado, Java no está exactamente orientado a la libertad.

Si su proyecto es estrictamente personal, puede elegir lo que mejor se adapte a sus gustos. Si planea desarrollarse como equipo, la elección del idioma afectará su estado de ánimo general/forma de pensar.

que finalmente añadir algunos parámetros importantes para mí: la diversión y la elegancia

Esta puede ser una cuestión de gusto aquí de nuevo, pero tengo codificación mucho más divertido en Python que en C#, por ejemplo.

14

¿De qué están hablando ....

JAVA bien tiene algunas ventajas, pero también tiene algunas desventajas. Ahora con PHP es exactamente lo mismo, tiene algunos pros, pero también tiene algunos contras.

Las personas que dicen que PHP no tiene un buen entorno OO, bueno tampoco lo hace javascript! Y realmente ese es el corazón de todos los proyectos web 2.0; javascript El back-end de hoy se está convirtiendo en un recurso más para el front-end. Lo que puedes hacer en JAVA ahora es lo que puedes hacer en PHP 5.3, hasta cierto punto. Si eres un buen desarrollador, serás lo suficientemente inteligente como para abstraer tu diseño y mantenerlo, y si eres brillante puedes unir e incluso mejorar el intercambio de objetos en PHP, que la mayoría de los "diseñadores" de la web no conocen o se atreven. Yo digo, comprende. Consulte este artículo por O'Reilly ON JAVA!.

Desarrollo tanto en Java como en PHP. Siempre usaré PHP para mi lado del servidor y usaré Java para desarrollo de Android y desarrollo de escritorio. (Por cierto, me he desarrollado en Java para el desarrollo de backend, pero toma el doble de tiempo hacer algo en JAVA que hacerlo en PHP. Es por eso que me atengo a PHP.

Escucho este problema con el código spagetti PHP todo el tiempo. Sí. Tal vez hace 5 años. Si el proyecto termina así, la persona, o usted, es un programador deficiente, y debe seguir dibujando imágenes bonitas. Es fácil separar su lógica de la presentación. y también es simple separar la lógica de su negocio de la capa de datos. Piense antes de codificar. No solo abra un bloc de notas y comience a escribir. ¡Planifique!¡Las personas que no planean, planean fallar! ¡Jacco, estás en el dinero!

Veo a los estudiantes universitarios todo el tiempo construyendo código en el que pienso: "La persona que va a terminar con este tipo se va a arrepentir". Si el estudiante simplemente planea y documenta lo que iba a hacer, entonces todo estaría organizado y listo para escalar, nuevamente si fuera lo suficientemente bueno.

Ambas tecnologías son geniales y debe usar lo que sea más cómodo para usted o sus desarrolladores. Si vas por el camino donde crees que uno es mejor que el otro y no sabes nada de esa tecnología, ¿sabes qué? No importa lo que haga, se perderá el resultado de su proyecto y terminará teniendo que volver a hacerlo.

2

Hice una comparación de rendimiento no científica de J2EE y PHP. La comparación fue ver la experiencia del usuario de cada sistema bajo diversas condiciones de carga.

Descubrí que el tiempo de respuesta de PHP era muy lento y que la CPU se agotaba al máximo. Entiendo que hay algunos compiladores que probablemente ayuden, pero quería hacer una comparación directa del rendimiento de los sistemas de desarrollo rápidos.

Usted puede leer todos los detalles aquí: PHP vs J2EE: a Practical Approach

0

PHP gana en parte delantera en el desarrollo web. Porque tiene un tiempo de desarrollo mucho más pequeño que hace que las cosas sean más baratas y más baratas. PHP perderá en el desarrollo de aplicaciones móviles. No hay forma de desarrollar una aplicación móvil con PHP. Y debido a su brecha de rendimiento con Java y otros lenguajes estáticos, PHP perderá la batalla de back-end. Java es viejo, pero tiene una comunidad bastante joven y profesional. Echa un vistazo a esos nombres: lucene, weka, hadoop, scala, cassandra, hbase, ¿qué nos proporciona php en el servicio de back-end? ??????