Önyargılıyım (bir Python uzmanı olmakla birlikte Java'da oldukça paslı), ancak GAE'nin Python çalışma zamanının şu anda Java çalışma zamanından daha gelişmiş ve daha gelişmiş olduğunu düşünüyorum - eski, sonuçta geliştirmek ve olgunlaşmak için bir yıl daha geçirdi. .
İlerlemenin nasıl devam edeceği elbette tahmin etmek zordur - Java tarafında talep muhtemelen daha güçlüdür (özellikle sadece Java ile ilgili değil, aynı zamanda JVM'nin üzerine yerleştirilmiş diğer diller de, bu yüzden örneğin PHP'yi çalıştırmanın yolu veya App Engine'de Ruby kodu); Python App Engine ekibi, Python'un mucidi ve inanılmaz derecede güçlü bir mühendis olan Guido van Rossum'da yer almanın avantajına sahip.
Esneklik açısından, Java motoru, daha önce de belirtildiği gibi, çok büyük bir pozitif olan çok dilli bir dükkandaysanız, sadece Java tarafından değil, farklı diller tarafından yapılan JVM bayt kodunu çalıştırma imkanı sunar. Bunun tersine, Javascript'ten nefret ediyorsanız ancak kullanıcının tarayıcısında bir kod yürütmeniz gerekiyorsa, Java'nın GWT'si (Java düzeyindeki kodlamanızdan sizin için Javascript'i oluşturmak) Python tarafındaki alternatiflerden çok daha zengin ve daha gelişmiş (pratikte, Python, bu amaç için kendinize bazı JS yazacaksınız, Java seçerseniz JS yazarken nefret ediyorsanız kullanılabilir bir alternatiftir).
Kütüphaneler açısından bu bir yıkamadır - JVM, mevcut Python'dan basit olarak yeniden kullanılmasını engellemek için yeterince kısıtlanmıştır (iş parçacığı, özel sınıf yükleyici yok, JNI yok, ilişkisel DB yok). kütüphaneler benzer şekilde Python çalışma zamanındaki benzer kısıtlamalarla engellenir.
Performans açısından, bunun bir yıkama olduğunu düşünüyorum, ancak kendi görevlerinizi karşılaştırmalısınız - büyük başlangıç zamanlarını ve bellek ayak izlerini azaltan yüksek düzeyde optimize edilmiş JIT tabanlı JVM uygulamalarının performansına güvenmeyin, çünkü uygulama motoru ortam çok farklıdır (uygulamanızın örnekleri başlatıldığından, durdurulduğundan, farklı ana bilgisayarlara taşındığından vb. başlangıç maliyetleri sık sık ödenecektir - bu tür olaylar genellikle Python çalışma zamanı ortamlarında JVM'lerden daha ucuzdur).
XPath / XSLT durumu (euphemistik olmak için ...) her iki tarafta tam olarak mükemmel değil, iç çek, ama JVM'de biraz daha az kötü olabileceğini düşünüyorum (görünüşe göre, Saxon'un önemli alt kümelerinin çalıştırılabileceği düşünülüyor) , biraz dikkatle). Bence XPath ve XSLT ile Appengine Sorunları başlıklarında sorunları açmaya değer - şu anda sadece belirli kütüphaneleri isteyen sorunlar var ve bu miyop: Gerçekten iyi bir XPath / XSLT'nin nasıl uygulandığını umursamıyorum, Python ve / veya Java için kullanıyorum. (Belirli kütüphaneler mevcut kodun taşınmasını kolaylaştırabilir, ancak bu, "XSLT dönüşümünü hızlı bir şekilde uygulayın" gibi görevleri BAZI şekilde gerçekleştirmekten daha az önemlidir! -). İyi ifade edilmiş olsaydı (özellikle dilden bağımsız bir şekilde) böyle bir konuya yıldız koyacağımı biliyorum.
Son fakat en önemlisi: uygulamanızın, bazıları Python çalışma zamanı, bazıları Java çalışma zamanı ile uygulanan farklı sürümlerine sahip olabileceğinizi ve "varsayılan / etkin" "açık URL'lere sahip bir tane. Her iki Python olabilir Yani ve kullanım (uygulama farklı versiyonları), Java kodu ve olsa (size daha fazla esneklik verilmesi, aynı veri deposunu değiştirmek sadece tek bir foobar.appspot.com olarak "güzel" URL olacak - ki bu sadece tarayıcılarda etkileşimli kullanıcıların erişimi için önemli, sanırım ;-).