En una pelea entre un oso polar y un tiburón blanco, ¿quién ganará? Adivina qué, si se trata de una pelea de grupo, el tiburón se tragará el oso en menos de dos minutos ( este sitio hace que afirmaciones sin fundamento de lo contrario, pero hay fuertes indicios de que un tiburón comiéndose a un oso polar realmente sucedió ). Ahora, póngalos a ambos en una tierra, y pondré mi dinero en el oso (aquí hay un video con un enorme morsa en la misma posición, y no es bonita).
Esta pequeña analogía pretende expresar que depende de la situación .
Si desarrolla su software en Java con el código Java ejecutándose en el cliente (como un applet o con Java WebStart), la mayor parte de la computación se realizará en el cliente, lo que es excelente para cree interfaces sensibles y aligere la carga de la CPU en sus servidores, pero también puede requerir que el cliente sea de alguna manera confiable. Este es el mismo problema que los juegos multijugador: cuanto más delegue en las máquinas cliente, más le dará la posibilidad de hacer trampa. Además, Java en el sistema cliente requiere que se instale el soporte de Java, lo cual no es difícil, pero tampoco está dado.
También puede hacer un sitio web donde todo sucede en el servidor. Puede hacerlo con varios lenguajes y marcos, incluido Java (donde Tomcat se vuelve relevante) y PHP. El hecho de que el servidor use Java no implica que el cliente deba tener Java instalado (si piensa lo contrario, piénselo nuevamente). Entonces se convierte en una cuestión de "¿Qué lenguaje de programación es mejor?" y sabemos que tales preguntas no pueden ser realmente respondidas. La única afirmación genérica que se puede hacer es que el lenguaje más seguro es el que el desarrollador domina más . Escribir una aplicación segura requiere que el desarrollador sepa todos los pequeños detalles de las herramientas que está utilizando, porque la seguridad proviene de pensar en lo que sucede en condiciones inusuales. La seguridad, como la capacidad de mantenimiento y también la velocidad, realmente depende de lo que saben los desarrolladores.