¿Es Java mejor que Python para hacer un sitio web?

Originalmente, hacer un sitio web con lenguajes de script y marcos maduros como PHP / Laravel, Python / Django / Web2py o Ruby on Rails era más amigable y rápido si no estaba haciendo un software empresarial. Hice un salto de PHP a Java en 2004/2005 y la transición fue muy dolorosa. Mi productividad se redujo considerablemente.

Sin embargo, este panorama ha cambiado mucho desde entonces. Los lenguajes modernos como Kotlin y Swift unifican las ventajas de ambos mundos e incluso dan algunos pasos adelante. Hoy en día no comenzaría ningún proyecto web más pequeño en Python, no solo porque no tengo mucha experiencia en él, sino también porque no ofrece ventajas obvias contra Kotlin o Swift, mientras que tiene debilidades considerables. Ver https://www.quora.com/What-are-the-main-weaknesses-of-Python-as-a-programming-language?share=7d980f25&srid=ThCn. Y, en la parte superior, siento aversión personal contra la sintaxis basada en espacios en blanco. Tanto Kotlin como Swift son mejores a este respecto (también), pero igualmente elegantes. Proyectos web más grandes tampoco comenzaría en un lenguaje de tipo dinámico.

Pruebe Kotlin / Spring Boot, o Swift / Vapor, ambos son pares de lenguaje / framework muy productivos.

elija uno que ya conozca utilizando ambos idiomas para desarrollar un sitio web. Pero si no conoce ninguno de estos, vaya a Python Framework Django, que tiene una gran cantidad de bibliotecas y servidores incorporados, así como SQlite databse (mejor si usa la base de datos PostgreSQL para la producción con fines de desarrollo, SQlite es bueno). Y lo mejor de Django, que proporciona una interfaz de administración integrada. Y ya sabemos que Python es muy seguro, así que no tema la seguridad y su aplicación django puede manejar bases de datos complejas o grandes, así como también puede manejar el tráfico. Django es muy ligero, puedes jugar con él. y reducirá su tiempo, puede crear su aplicación web en menos tiempo. Si desea ganar dinero rápidamente, Django es la mejor opción.

¿Qué hay de Java?

Si usa Java, también puede manejar una gran cantidad de tráfico y una base de datos y también es seguro. Pero si crea un sitio web grande, entonces será muy complicado hacerlo con Java, su código será muy complejo y será un soporte a largo plazo. Si se siente cómodo con Java, Spring mvc (Hibernate para conectividad db) es bueno. Spring tiene un ecosistema bien desarrollado, que ofrece una variedad de complementos para elegir: API REST o servicios web SOAP, seguridad, etc.

No hay absolutamente ninguna verdad acerca de que uno sea mejor que el otro. Ambos tienen sus fortalezas y debilidades.

Utilizando Java y Python ampliamente para proyectos web, puedo recomendar el siguiente árbol de decisión:

  1. Si conoce uno de los idiomas mucho mejor que el otro, tome el idioma que mejor conoce
  2. Si tiene poca experiencia en el desarrollo en general, tome Python + Django. Es mucho más fácil comenzar que cualquier solución basada en Java
  3. Si desea utilizar el sitio web como referencia para encontrar un trabajo, hágalo en Java. Java en el mundo empresarial sigue siendo el idioma preferido
  4. Si quieres divertirte, hazlo en Python.
  5. Si crea un sitio web donde se debe calcular mucha lógica de negocios por solicitud, Java será más rápido. Pero podría suponer que este no es el caso, o habría hecho otra pregunta
  6. Si le preocupa el despliegue de alto rendimiento, es una bolsa mixta. Un solo proceso de Java multiproceso puede manejar muchas más solicitudes que un proceso equivalente de Python, pero Java consume mucha memoria. Por lo tanto, es posible que si alquila un servidor Linux RAM de 1 GB, múltiples procesos de Python pueden manejar solicitudes más independientes que el equivalente de Java, debido a las restricciones de memoria. Cuanta más RAM tenga, más obtendrá Java en rendimiento frente a Python. Nuevamente, la forma en que hizo la pregunta sugiere que este no es el caso

Se puede agregar un consejo. Haga todo lo posible en el lado del cliente en Javascript, utilizando una interfaz RESTful para comunicarse entre el navegador y el servidor. Este último punto hace que sea mucho menos relevante qué idioma tomas en el lado del servidor.

Sugeriría usar JavaScript para el sitio web, porque puede usarse tanto para el lado del servidor como para el lado del cliente.

Java y Python son lenguajes poderosos, pero JavaScript está aumentando.

¿Es Hammer A mejor que Hammer B para poner una estúpida uña en la pared?

Elija el que le resulte más cómodo y piense en los usuarios de su sitio web y su experiencia, mucho más que las herramientas que utiliza para crear un sitio web.

Si no conoce ninguno de los idiomas, encontrará Python más amigable y más accesible. Personalmente, me encanta usar Python y web2py.

Pero Moray Taylor tiene razón: Java con Spark también es una gran opción.

Yo personalmente lo creo.

Un marco web expresivo para Kotlin y Java

Spark es genial, súper simple y flexible.