2010-01-20 12 views
8

Me di cuenta de que esto se preguntó en el following post. ¿Alguien ha usado ambos y puede decirme definitivamente qué es mejor? Parece que Python podría ser un poco más fácil de implementar y más rápido?Google App Engine: ¿Java o Python?

+0

¿Más rápido que en el uso más eficiente de la CPU o más rápido para desarrollar una aplicación? Java puede estar "cerca" de C++ en términos de velocidad con Python usualmente muy atrás. –

+3

De acuerdo con este buenómetro que recogí de eBay, Java es un 31% mejor que Python. ¡¿Qué?! ¡Maldición, está roto! – bobince

Respuesta

17

En este momento, ambas implementaciones son razonablemente maduras y sólidas, y su funcionalidad es bastante similar (no creo que sea bastante igual al 100%, pero se mueve en esa dirección). Entonces, si ya sabes uno de los dos idiomas, diría "solo hazlo". Si ya sabes las dos cosas, no necesitas mi consejo ;-).

Si no sabe nada, pero está intentando probar algunos de los lenguajes no-Java que (más o menos ;-) son compatibles con el lado JVM de GAE (creo que esto incluye Scala, Javascript del lado del servidor, JRuby, etc.), entonces vale la pena intentarlo. Si no conoce ninguno de los dos y no quiere arriesgarse a un "lenguaje que no es de primera clase", definitivamente estoy de acuerdo con su observación de que Python es más rápido de aprender (pero, por supuesto, estoy predispuesto a favor de Python; -).

4

"Mejor" siempre es subjetivo. Para GAE, la elección de cuál es mejor para usted depende de lo que le resulte más familiar. Si tienes experiencia con Java, úsalo, y si tienes experiencia con Python, úsalo. No creo que haya ningún criterio objetivo que apunte a que uno sea "mejor" que el otro.

2

Python (subjetivamente hablando)

3

No es sólo el idioma que debe tener en cuenta aquí. Las bibliotecas, los marcos y las herramientas también son factores relevantes.

Si no tiene experiencia en el desarrollo de lenguaje o web, sospecho que Python sería más fácil de despegar con. Ha existido por más tiempo, es probable que haya más apoyo y conocimiento disponible. Hacer algo simple es generalmente simple de hacer y el framework de Python es en mi opinión más liviano.

A pesar de esto, prefiero usar Java. Sin embargo, mis razones son controvertidas y no quiero troll: D.

8

He utilizado ambos, y mi conclusión es que la mayor diferencia está en las bibliotecas. En teoría, ambos tienen buenas bibliotecas que hacer casi todo, pero en la práctica muchas bibliotecas no funcionan con motor de aplicación:

bibliotecas
  • Todo Java son puro Java y deben trabajar, sino como motor de aplicación no permite que las discusiones y ni siquiera todas las dependencias * java. ** son ... digamos problemáticas.
  • Python, por otro lado, tiene menos bibliotecas, y muchas son solo envoltorios para las librerías nativas C, que tampoco funcionan. :(

Como ambas versiones tienen tan mala apoyo a las bibliotecas, lo llamo atar. Por muy simple "sólo para mostrar algunos contenidos" aplicación -web que no necesita ninguna biblioteca externa, por supuesto.

Uso ahora Python porque rige;;)

1

.py elegido here para todos los proyectos de gae por razones más legibles, menos líneas de código, nivel superior mismo tiempo Java tiene más formas de resolver un problema determinado. Aproximadamente la misma función con python es 1/10 del código en comparación con Java.

3

Python fue el idioma en el que se diseñó originalmente Google AppEngine, y ha sido admitido durante más tiempo que Java (que solo se incluyó comparativamente recientemente). Además, Guido van Rossum, el creador de Python, trabaja en el lado Python de AppEngine. No se puede decir lo mismo sobre el creador de Java.

Parece que hay más documentación y artículos sobre Python en App Engine que en Java, probablemente porque Python se ha utilizado en AppEngine durante más tiempo.

Mi consejo: utilizar Python. Pero eso no significa que Java sea una mala elección, porque no lo es, solo creo que Python es una mejor opción en este caso.

0

Uso Groovy (Grails) con GAE. Tiene el universo de la biblioteca de Java y usted debería tener aproximadamente el mismo código de barras en comparación con Python. Sí, no es 100% Java (si quieres), pero está muy cerca. El GRANDE diferencia es más o menos la velocidad JavaVM, esa es una de las razones maravilloso (Grails) ha ganado tanta popularidad - especialmente gente como mi que no les gusta de Python)

1

yo uso pitón, lástima pues siempre se puede obtener la mejor. de django en appengine

0

Quizás sea posible usar Jython en appengine para que pueda usar ambos. Una cosa que diría sobre el argumento de la productividad de python frente a la productividad de Java es que Java tiene excelentes IDE para acelerar el desarrollo, ya que Python realmente no tiene esta área debido a su naturaleza dinámica. Entonces, aunque prefiero usar Python como lenguaje, no creo que ofrezca un aumento de la productividad en comparación con Java cuando se usa un nuevo framework. Además, aún no he podido obtener la versión de Python del motor de la aplicación de Google para funcionar en Netbeans, lo que es un dolor real.