Google App Engine - Java oder Python? [geschlossen]

8

Ich habe festgestellt, dass dies im folgenden Beitrag . Hat jemand beides benutzt und kann mir abschließend sagen was besser ist? Es scheint, als wäre Python ein wenig einfacher zu implementieren und schneller?

    
Michael Balint 20.01.2010, 23:24
quelle

10 Antworten

17

Zu diesem Zeitpunkt sind beide Implementierungen einigermaßen ausgereift und solide, und ihre Funktionalität ist ziemlich ähnlich (ich glaube nicht, dass sie noch 100% ig gleich ist, aber in diese Richtung geht). Wenn Sie also nur eine der beiden Sprachen kennen, würde ich sagen "gehen Sie einfach". Wenn Sie beide schon kennen, brauchen Sie meinen Rat nicht ;-).

Wenn Sie nicht wissen, aber rarin 'sind, einige der Nicht-Java-Sprachen zu versuchen, die (mehr oder weniger ;-) auf der JVM-Seite von GAE unterstützt werden (ich glaube, das schließt Scala, serverseitiges Javascript, JRuby ein usw.), dann ist es einen Versuch wert. Wenn Sie keine von beiden kennen und keine "nicht erstklassig unterstützte Sprache" riskieren wollen, stimme ich definitiv mit Ihrer Beobachtung überein, dass Python schneller lernt (aber natürlich bin ich voreingenommen zugunsten von Python; -).

    
Alex Martelli 20.01.2010, 23:41
quelle
8

Ich habe beide verwendet, und meine Schlussfolgerung ist, dass der größte Unterschied in Bibliotheken liegt. Theoretisch haben beide gute Bibliotheken fast alles zu tun, aber in der Praxis viele Bibliotheken nicht mit App Engine funktionieren:

  • Alle Java-Bibliotheken sind rein Java und sollte funktionieren, aber als App Engine-Threads nicht erlaubt und nicht einmal alle mit * java. ** Abhängigkeiten ist es ... können problematisch sagen.
  • Python auf der anderen Seite hat viel weniger Bibliotheken gibt, und viele sind Wrapper nur für native C-Bibliotheken , die nicht entweder arbeiten. : (

Da beide Versionen so schlechte Unterstützung für Bibliotheken haben, nenne ich das "tie". Für sehr einfache -Web-App „nur einige Inhalte zu zeigen,“ Sie keine externen Bibliotheken natürlich müssen.

Ich benutze jetzt Python, weil es regiert. ;)

    
sankari 21.01.2010 00:17
quelle
4

"Besser" ist immer subjektiv. Für GAE hängt die Wahl, welche für Sie besser ist, davon ab, was Sie am besten kennen. Wenn Sie Erfahrung mit Java haben, verwenden Sie das, und wenn Sie Erfahrung mit Python haben, verwenden Sie das. Ich glaube nicht, dass es objektive Kriterien gibt, die darauf hinweisen, dass einer "besser" ist als der andere.

    
Greg Hewgill 20.01.2010 23:35
quelle
3

Es ist nicht nur die Sprache, die Sie hier berücksichtigen müssen. Bibliotheken, Frameworks und Tools sind ebenfalls relevante Faktoren.

Wenn Sie keinen Hintergrund in der Sprache oder in der Web-Entwicklung haben, würde ich vermuten, dass Python einfacher mit dem Start beginnen würde. Es ist schon länger herum, wahrscheinlich gibt es mehr Unterstützung und Wissen. Etwas Einfaches zu tun ist im Allgemeinen einfach und das Python-Framework ist meiner Meinung nach leichter.

Trotzdem würde ich lieber Java benutzen. Meine Gründe sind jedoch umstritten und ich will nicht trollen: D.

    
Dagititis 20.01.2010 23:58
quelle
3

Python war die Sprache, für die Google AppEngine ursprünglich entwickelt wurde, und es wurde länger unterstützt als Java (das erst kürzlich in die Website aufgenommen wurde). Darüber hinaus arbeitet Guido van Rossum, der Schöpfer von Python, auf der Python-Seite von AppEngine. Dasselbe gilt nicht für Javas Schöpfer.

Es scheint, dass es mehr Dokumentation und Artikel über Python in AppEngine als Java gibt, wahrscheinlich weil Python in AppEngine länger verwendet wurde.

Mein Tipp: Verwenden Sie Python. Aber das bedeutet nicht, dass Java eine schlechte Wahl ist, weil es nicht ist, ich denke nur, dass Python in diesem Fall eine bessere Wahl ist.

    
Noah McIlraith 21.01.2010 14:26
quelle
2

Python (subjektiv gesprochen)

    
OscarRyz 20.01.2010 23:41
quelle
1

.py ausgewählt hier für alle gae-Projekte aus Gründen besser lesbar, weniger Zeilen Code, höhere Ebene zur gleichen Zeit Java hat mehr Wege zu lösen ein gegebenes Problem. Approximative Schätzung der gleichen Funktion mit Python ist 1/10 der Code im Vergleich zu Java.

    
Niklas Rosencrantz 21.01.2010 14:17
quelle
1

Ich benutze Python, weil immer das Beste von Django in appengine

bekommen kann     
Kristian Damian 21.01.2010 15:35
quelle
0

Ich benutze Groovy (Grails) mit GAE. Es hat Javas Bibliotheksuniversum und Sie sollten im Vergleich zu Python ungefähr die gleiche LOC haben. Ja, es ist nicht 100% Java (wenn du willst), aber sehr nahe. Der BIG Unterschied ist ungefähr die JavaVM-Geschwindigkeit, das ist einer der Gründe, warum Groovy (Grails) so viel Popularität gewonnen hat - besonders Leute wie meine, die Python nicht mögen.

    
Trent Baer 21.01.2010 14:33
quelle
0

Es ist vielleicht möglich, Jython in appengine zu verwenden, damit Sie beide verwenden können. Eine Sache, die ich über das Python-Produktivitäts-vs-Java-Produktivitätsargument sagen würde, ist, dass Java ausgezeichnete IDEs hat, um die Entwicklung zu beschleunigen, wo Python in diesem Bereich wegen seiner dynamischen Natur wirklich fehlt. Obwohl ich Python lieber als Sprache verwende, glaube ich nicht, dass es im Vergleich zu Java einen Produktivitätsschub bringt, wenn ein neues Framework verwendet wird. Außerdem konnte ich die Python-Version der Google App Engine noch nicht in Netbeans verwenden, was ein echter Schmerz ist.

    
toc777 04.03.2011 12:28
quelle

Tags und Links