¿Cuál es el mejor para la programación de back-end (Java – ruby ​​- python) y por qué?

Java ejecuta la web, por lo que dicen.

  1. El lenguaje en sí mismo – fuertemente tipado, OOP con nuevas características funcionales a partir de Java 8. Un poco detallado en comparación con algunos lenguajes, pero bastante fácil de trabajar y estructurar programas. Bastante bueno a excelente rendimiento. MUCHA documentación.
  2. Conjuntos de herramientas: Maven, Ant, Ivy, Gradle, Eclipse, IntellJ y todos sus complementos, Atom … hay toneladas de excelentes herramientas e IDE para la programación Java.
  3. Contenedores: tiene opciones para ejecutar su aplicación en: WebSphere, WebLogic, JBoss / WildFly, Tomcat, Jetty …
  4. Frameworks: con Java tienes Spring y sus ramificaciones, Apache y toneladas de proyectos, Jackson (XML), JAXB, Hibernate / JPA. API de Amazon, Netflix, Google, etc., que proporcionan un gran trabajo para muchas cosas modernas relacionadas con la nube.
  5. Comunidad: hay toneladas de personas con conocimientos, toneladas de proyectos, toneladas de bibliotecas, marcos y herramientas y expertos en todo.

Con todo, con proyectos como Spring Boot (y MVC) combinados con servicios como EC2 de AWS, es extremadamente fácil obtener un back-end basado en Java en menos de 2 horas.

Backend en su sentido más estricto? ¿Como solo API? ¿Y dónde el rendimiento es muy, muy, muy, muy, muy crítico? Bueno, entonces Java. De lo contrario, realmente, me quedaría con Ruby (en Rails). ¿Y por qué no Python?

Incluso si trato de familiarizarme demasiado con el mundo de Python, me faltan muchas cosas que me ayudarán a desarrollar rápidamente una startup. Ruby and Rails y su ecosistema es, creo, mucho más superior que el de Python. Incluso los frameworks Java modernos (como Play) parecen inspirarse en Ruby on Rails. Pero, de nuevo, si su Backend es para hacer cosas locas en IA, tal vez debería quedarse con Python.

Python es el mejor lenguaje de programación de back-end debido a su buen soporte comunitario y sintaxis fácil de acuerdo con mi conocimiento y experiencia.